Liên hệProfile
Danh mục

Mục Lục

    Cách sử dụng lệnh locate Linux để tìm kiếm file nhanh chóng

    Nguyễn Hưng

    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Mục lục

    Locate Linux là lệnh dùng để tìm kiếm đường dẫn file và thư mục nhanh chóng bằng cách tra cứu trong cơ sở dữ liệu đã được lập chỉ mục sẵn thay vì quét trực tiếp toàn bộ hệ thống file như find. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết công dụng và hướng dẫn cách sử dụng lệnh locate để tìm kiếm file hiệu quả, nhanh chóng.

    Những điểm chính

    • Khái niệm: Hiểu rõ khái niệm và cơ chế hoạt động dựa trên cơ sở dữ liệu chỉ mục của locate, giúp tìm kiếm file nhanh chóng.
    • Các tùy chọn phổ biến: Nắm được bảng tra cứu các tùy chọn quan trọng để tinh chỉnh kết quả tìm kiếm.
    • Hướng dẫn cài đặt: Biết cách cài đặt và kích hoạt locate trên các bản phân phối Linux phổ biến như Ubuntu/Debian và CentOS/Fedora.
    • 6 ví dụ sử dụng thực tế: Thành thạo các cách tìm kiếm hiệu quả, từ tìm chính xác tên, giới hạn kết quả đến kết hợp với grep để phân tích log.
    • Cách quản lý database: Học cách cập nhật cơ sở dữ liệu thủ công, cấu hình quét nâng cao và tự động hóa quá trình này để đảm bảo kết quả luôn mới nhất.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp xoay quanh lệnh locate trong Linux.

    Lệnh locate Linux là gì?

    locate là lệnh được sử dụng để tìm kiếm vị trí của file và thư mục với tốc độ truy xuất dữ liệu nhanh chóng trong Linux. Khác với lệnh find khi phải quét trực tiếp qua cấu trúc thư mục thực tế tại thời điểm tìm kiếm, lệnh locate hoạt động dựa trên việc tra cứu một cơ sở dữ liệu chỉ mục. File cơ sở dữ liệu này chứa danh sách toàn bộ các file có trong hệ thống và được cập nhật định kỳ tự động.

    Nhờ cơ chế này, lệnh locate trả về kết quả gần như tức thì, giúp tiết kiệm đáng kể tài nguyên hệ thống so với lệnh find. Tuy nhiên, nhược điểm của locate là nếu file mới được tạo ra mà cơ sở dữ liệu chưa kịp cập nhật, locate sẽ không thể tìm thấy trừ khi bạn chạy lệnh cập nhật thủ công.

    locate là lệnh được sử dụng để tìm kiếm vị trí của file và thư mục với tốc độ truy xuất dữ liệu nhanh chóng
    Locate Linux là lệnh được sử dụng để tìm kiếm vị trí của file và thư mục với tốc độ truy xuất dữ liệu nhanh chóng

    Cú pháp sử dụng lệnh locate như sau:

    locate [TÙY_CHỌN]... [MẪU_TÌM_KIẾM]...

    Trong đó:

    • [TÙY_CHỌN] (OPTION): Các thiết lập để điều chỉnh kết quả.
    • [MẪU_TÌM_KIẾM] (PATTERN): Tên file hoặc từ khóa bạn muốn tìm, bạn có thể nhập nhiều mẫu tìm kiếm cùng lúc để định vị nhiều file khác nhau trong một lần chạy lệnh.

    Các tùy chọn phổ biến của lệnh locate

    Bạn có thể xem đầy đủ các tùy chọn của lệnh locate bằng cách dùng lệnh trợ giúp man với cú pháp:

    man locate

    Dưới đây là các tùy chọn phổ biến nhất của lệnh locate:

    Tùy chọnMô tảVí dụ minh họa
    -iTìm kiếm không phân biệt chữ hoa/thường.locate -i config
    -cChỉ đếm tổng số lượng file tìm thấy, không hiện danh sách.locate -c nginx.conf
    -n NGiới hạn số lượng kết quả trả về là N dòng.locate -n 10 *.log
    –existingChỉ hiển thị các file đang thực sự tồn tại.locate --existing oldfile.txt
    -r REGEXTìm kiếm nâng cao bằng biểu thức chính quy.locate -r '.*\.conf$'

    Hướng dẫn cài đặt và kích hoạt tiện ích locate

    Trước khi cài đặt, bạn cần xác xác định xem công cụ này đã có sẵn hay chưa bằng cách mở Terminal và gõ lệnh:

    locate

    Sau khi nhấn Enter, hệ thống sẽ trả về một trong hai kết quả:

    • Đã được cài đặt: Màn hình hiển thị thông báo locate: no pattern to search for specified.
    • Chưa được cài đặt: Màn hình báo lỗi locate: command not found (không tìm thấy lệnh).

    1. Cài đặt trên Ubuntu và Debian

    Đối với các hệ điều hành thuộc họ Debian như Ubuntu, Linux Mint, Kali Linux,… bạn sử dụng trình quản lý gói apt. Hãy chạy lần lượt hai lệnh sau để cập nhật kho dữ liệu và cài đặt gói mlocate:

    sudo apt update
    sudo apt install mlocate

    2. Cài đặt trên CentOS và Fedora

    Với các bản phân phối dựa trên nền tảng Red Hat (như CentOS, Fedora, RHEL,…), việc cài đặt được thực hiện thông qua trình quản lý gói yum. Bạn sử dụng câu lệnh sau:

    sudo yum install mlocate

    iconLưu ý

    Gói phần mềm thường được sử dụng hiện nay là mlocate(Merging Locate), một phiên bản cải tiến an toàn và hiệu quả hơn của lệnh locate truyền thống.

    1. Tìm kiếm chính xác theo tên

    Để truy xuất nhanh vị trí của file cấu hình Nginx trong hệ thống, bạn dùng lệnh locate với cú pháp như sau:

    locate nginx.conf

    Lệnh này sẽ trả về toàn bộ đường dẫn chứa file nginx.conf, giúp bạn truy cập và chỉnh sửa cấu hình một cách nhanh chóng mà không cần nhớ chính xác file nằm ở thư mục nào.

    Kết quả trả về tất cả file có tên nginx.conf
    Kết quả trả về tất cả file có tên nginx.conf

    Kết quả trả về tất cả đường dẫn chứa nginx.conf

    2. Tìm kiếm không phân biệt hoa/thường

    Khi không xác định được chính xác tên file viết hoa hay viết thường, bạn có thể dùng tùy chọn -i. Ví dụ, nếu bạn không nhớ chính xác file là README.md, ReadMe.md hay readme.md, hãy thực hiện lệnh sau:

    locate -i README.md

    Tùy chọn -i cho phép tìm kiếm không phân biệt chữ hoa/thường, phù hợp khi làm việc trên dự án lớn với nhiều file tài liệu được đặt tên không thống nhất:

    Tìm file không phân biệt chữ hoa/chữ thường
    Tìm file không phân biệt chữ hoa/chữ thường

    3. Giới hạn số lượng kết quả

    Nếu từ khóa quá phổ biến và trả về nhiều dòng, bạn dùng tùy chọn -n để giới hạn số kết quả hiển thị, ví dụ để chỉ xem 5 dòng đầu, bạn thực thi lệnh như sau:

    locate -i README.md -n 5

    Lệnh trên sẽ giúp bạn tập trung vào những kết quả có khả năng phù hợp nhất thay vì phải cuộn qua một danh sách quá dài.

    Chỉ hiển thị 5 file log đầu tiên
    Chỉ hiển thị 5 file log đầu tiên

    4. Tìm kiếm nâng cao với Regex

    Bạn có thể kết hợp locate với biểu thức chính quy (Regex) để lọc đúng kiểu file mong muốn. Chẳng hạn, để tìm kiếm tất cả file có đuôi .conf, bạn chạy lệnh sau:

    locate -r '.*\.conf$'

    Tùy chọn -r cho phép dùng Regex, phù hợp khi bạn cần tìm các nhóm file theo mẫu tên phức tạp.

    Tìm tất cả file kết thúc .conf
    Tìm tất cả file kết thúc .conf

    5. Lọc bỏ kết quả ảo

    Vì lệnh locate tìm trong database nên có thể sẽ trả về kết quả là các file đã bị xóa. Lúc này, bạn có thể sử dụng tùy chọn --existing để yêu cầu hệ thống kiểm tra xem file đó có còn trên ổ cứng hay không trước khi hiển thị.

    locate --existing log.log
    Kết quả chỉ hiển thị file còn tồn tại
    Kết quả chỉ hiển thị file còn tồn tại

    6. Kết hợp pipeline để xử lý dữ liệu

    Lệnh locate có thể dùng như bước lọc đường dẫn đầu tiên, sau đó chuyển danh sách file cho các công cụ khác xử lý. Ví dụ, để tìm lỗi trong tất cả file log, bạn thực thi lệnh sau:

    locate "*.log" | xargs grep -i "error"

    Chuỗi lệnh này sẽ tìm mọi file .log rồi dùng grep quét nội dung chứa từ khóa “error”, rất hữu ích khi bạn cần phân tích log trên hệ thống lớn.

    Kết hợp với xargs hoặc grep
    Kết hợp với xargs hoặc grep

    Cách quản lý database hiệu quả 

    iconLưu ý

    Hiệu quả xử lý của lệnh locate phụ thuộc vào độ mới của database. Nếu bạn vừa tạo một file mới, locate sẽ không thể tìm thấy file này ngay lập tức cho đến khi database được cập nhật.

    1. Cập nhật Database thủ công

    Khi bạn vừa thêm nhiều file và muốn tìm các file này bằng locate, hãy chạy lệnh sau:

    sudo updatedb

    2. Cấu hình quét nâng cao

    Mặc định, updatedb thường bỏ qua các thư mục quan trọng hoặc thư mục mạng để đảm bảo hiệu năng và bảo mật. Nếu muốn quét cả thư mục /root, bạn có thể thực thi lệnh sau:

    sudo updatedb --prunepaths=""

    3. Tự động hóa cập nhật

    Thông thường Linux đã có sẵn cronjob chạy hàng ngày. Tuy nhiên, bạn có thể thiết lập lịch riêng để cập nhật thường xuyên hơn. Ví dụ, bạn có thể thiết lập cron job để tự động cập nhật database vào 3 giờ sáng bằng lệnh sau:

    0 3 * * * /usr/bin/updatedb

    4. Xóa file tốc độ cao

    Bạn có thể sử dụng locate để tìm file rác và chuyển cho rm xử lý. Cách này sẽ nhanh hơn so với việc dùng lệnh find. Cú pháp lệnh như sau:

    locate "*.tmp" | xargs rm -v

    Lệnh trên sẽ tìm tất cả các file có đuôi .tmp và lần lượt xóa chúng, đồng thời rm -v in ra chi tiết từng file bị xóa.

    Tìm tất cả các file có đuôi .tmp và lần lượt xóa chúng
    Tìm tất cả các file có đuôi .tmp và lần lượt xóa chúng

    Câu hỏi thường gặp

    Tại sao tôi vừa tạo file xong mà dùng locate lại không tìm thấy?

    Nguyên nhân bạn không tìm thấy là do locate không quét trực tiếp ổ cứng mà chỉ tra trong cơ sở dữ liệu và cơ sở dữ liệu này không được cập nhật theo thời gian thực. Để giải quyết vấn đề này, bạn hãy chạy lệnh sudo updatedb để cập nhật Database thủ công ngay sau khi tạo file.

    Làm thế nào để biết Database của locate đang nằm ở đâu và dung lượng bao nhiêu?

    Trên hầu hết các bản phân phối Linux (Ubuntu, CentOS), Database nằm tại /var/lib/mlocate/mlocate.db. Bạn có thể dùng lệnh locate -S để xem thông tin thống kê chi tiết về dung lượng và số lượng file/thư mục đã được index.

    Lệnh slocate và mlocate có phải là locate không?

    Đúng. Trên các hệ thống Linux hiện đại, lệnh locate thực chất là symlink trỏ tới mlocate hoặc slocate. Trong đó, mlocate là phiên bản cải tiến, giúp việc cập nhật database nhanh hơn bằng cách chỉ quét những phần thay đổi của hệ thống thay vì quét lại từ đầu.

    Lệnh locate là một tiện ích tối ưu cho nhu cầu truy vấn đường dẫn tệp trên Linux nhờ khả năng tra cứu trên cơ sở dữ liệu đã được lập chỉ mục. Giải pháp này giúp bạn rút ngắn đáng kể thời gian thao tác so với các phương pháp dò tìm truyền thống. Chúc bạn thao tác thành công và cảm ơn bạn đã theo dõi bài viết.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản
    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản

    Less Linux là một trình phân trang chạy trên dòng lệnh, cho phép xem nội dung file văn bản theo kiểu cuộn trang một cách tương tác mà không cần nạp toàn bộ file vào bộ nhớ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về những lợi ích khi dùng lệnh…

    13/03/2026

    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng
    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng

    sed Linux là một trình biên tập dòng dùng để xử lý và chỉnh sửa văn bản theo cách tự động, không tương tác trực tiếp như khi mở file bằng vim/nano. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu các tính năng quan trọng và hướng dẫn bạn sử dụng lệnh…

    13/03/2026

    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux
    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux

    Realpath Linux là lệnh dùng để chuyển đường dẫn tương đối hoặc có symlink thành đường dẫn tuyệt đối, đã được chuẩn hóa đầy đủ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về chức năng, các tùy chọn phổ biến cũng như hướng dẫn bạn cách sử dụng lệnh realpath chi…

    13/03/2026

    Lệnh ln Linux là gì? Cách dùng lệnh ln chi tiết, đơn giản trong Linux
    Lệnh ln Linux là gì? Cách dùng lệnh ln chi tiết, đơn giản trong Linux

    Ln Linux là lệnh dùng để tạo liên kết giữa các file hoặc thư mục, giúp nhiều tên file cùng trỏ tới một dữ liệu mà không cần sao chép nội dung. Trong bài viết này, mình sẽ hướng dẫn bạn cách dùng lệnh ln để tạo Hard Link và Symbolic Link đơn giản, nhanh…

    13/03/2026

    linux

    lenh

    text