Thay vì sử dụng lệnh find để tìm kiếm file trong toàn bộ hệ thống, bạn có thể dùng lệnh locate trong Linux – một lệnh có chức năng tương tự nhưng lại có thời gian phản hồi nhanh hơn. Trong bài viết này, hãy cùng Vietnix tìm hiểu các tính năng và cách sử dụng lệnh locate trong Linux với các ví dụ thực tế tại đây!
Lệnh locate trong Linux là gì?
Lệnh locate được sử dụng để tìm kiếm các file hoạt động trong nền dựa trên một database hiện có của hệ điều hành Linux. Lệnh này có chức năng tương tự với lệnh find, nhưng locate sẽ tìm kiếm thông qua một file database được cập nhật định kỳ. Vì thế, thời gian phản hồi của locate sẽ nhanh hơn. Ngoài ra, locate còn giúp xem vị trí của các file trong database.
Cú pháp của lệnh locate là:
locate [OPTION]... PATTERN…
Trong cú pháp trên, bạn có thể sử dụng nhiều OPTION cùng lúc, đồng thời chỉ định nhiều mẫu phù hợp để tìm kiếm các file.
Ngoài ra bạn có thể tham khảo các câu lệnh trong Linux để hiểu thêm chi tiết về hệ điều hành.
14 tùy chọn hữu ích cho lệnh locate trong Linux
Bạn có thể xem tất cả tùy chọn sử dụng của lệnh locate bằng lệnh man với cú pháp:
man locate
Tùy chọn | Sự miêu tả |
---|---|
-c, –count | Không hiển thị kết quả trùng khớp, chỉ hiển thị tổng số lần xuất hiện của file. |
-e, –existing | Chỉ hiển thị kết quả khớp với tìm kiếm. |
-i, –ignore-case | Bỏ qua sự phân biệt chữ hoa và chữ thường khi thực hiện tìm kiếm. |
-A, –all | Chỉ hiển thị các mục trùng khớp hoàn toàn với tất cả các mẫu tìm kiếm. |
-b, –basename | Chỉ khớp basename với các mẫu đã cho. |
-w, –wholename | Chỉ khớp toàn bộ tên đường dẫn với các mẫu được đưa ra. |
-d, –database [DBPATH] | Thay thế database mặc định bằng [DBPATH], một danh sách các file database được phân tách bởi dấu hai chấm. |
-L, –follow | Xóa symbolic link bị hỏng, đồng thời kiểm tra xem file có tồn tại trong database không khi tùy chọn –existing được chỉ định. |
-p, –nofollow | Khi so khớp các mẫu, lệnh này sẽ bỏ qua các dấu câu và khoảng trắng. |
-l, –limit, -n [limit] | Ngừng việc tìm kiếm sau khi tìm được một số lượng kết quả khớp nhất định. |
-t, –transliterate | Sử dụng tính năng chuyển đổi ký tự của iconv để bỏ qua các dấu và ký tự phụ khi so khớp các mẫu. |
-0, –null | Thay vì hiển thị từng kết quả trên một dòng, lệnh này sẽ phân tách các mục output bằng ký tự NULL của ASCII . |
-S, –statistics | Thay vì tìm kiếm các file, lệnh này sẽ hiển thị số liệu thống kê về từng database đã đọc được lên đầu ra chuẩn. |
-q, –quiet | Ẩn các lỗi gặp phải khi đọc và xử lý database. |
Cách cài đặt lệnh locate trong Linux
Hiện nay, các gói locate đã được cài đặt trên hầu hết các bản phân phối của Linux. Tuy nhiên, để đảm bảo rằng bạn có thể sử dụng lệnh này, hãy kiểm tra bằng cách nhập lệnh sau:
locate
Nếu như locate chưa được cài đặt, kết quả sẽ hiển thị như sau:
Lúc này, bạn có thể cài đặt locate cho Linux bằng cách:
- Bước 1: Mở Ubuntu Terminal.
- Bước 2: Nhập lệnh sudo với cú pháp sau vào command prompt:
sudo apt install plocate
- Bước 3: Nhập mật khẩu rồi bấm Enter. Lúc này, lệnh locate sẽ được cài đặt và hiển thị như bên dưới:
7 ví dụ cụ thể về lệnh locate trong Linux
- Dùng lệnh locate để tìm kiếm một file trong Linux
- Giới hạn số lượng kết quả tìm kiếm bằng lệnh locate trong linux
- Sử dụng lệnh locate để định dạng Output trong Linux
- Sử dụng lệnh locate để hiển thị các file hiện có trong Linux
- Sử dụng lệnh locate để đếm số lượng file hiện có trong Linux
- Bỏ qua phân biệt chữ hoa chữ thường
- Sử dụng lệnh locate để hiển thị các file theo phần mở rộng của chúng trong Linux
Thông thường, người ta sẽ sử dụng lệnh locate trong Linux để tìm kiếm vị trí của các file trên database hiện có. Dưới đây là các ví dụ minh họa mà bạn có thể tham khảo và áp dụng khi cần:
Ví dụ 1: Dùng lệnh locate để tìm kiếm một file trong Linux
Để tìm kiếm một file bất kỳ bằng locate (trong ví dụ bên dưới là file mysql), bạn thực hiện theo hướng dẫn sau:
Đầu tiên, bạn nhập lệnh sau vào command prompt trên terminal:
locate mysql
Ngay sau đó, tất cả các file có tên mysql đều sẽ được liệt kê trên màn hình như hình ảnh minh họa sau:
Ví dụ 2: Giới hạn số lượng kết quả tìm kiếm bằng lệnh locate trong linux
Nếu bạn muốn giới hạn số lượng cho kết quả tìm kiếm với lệnh locate, hãy nhập lệnh sau vào command prompt. Lưu ý, trong ví dụ dưới đây, chúng ta sẽ giới hạn cho file html:
locate html -n 5
Lúc này, màn hình sẽ hiển thị kết quả với 5 file html mà bạn đã giới hạn:
Ví dụ 3: Sử dụng lệnh locate để định dạng Output trong Linux
Khi dùng lệnh locate trong Linux, bạn có thể gặp một lượng lớn kết quả tìm kiếm. Lúc này, bạn có thể định dạng output để nhận được kết quả mong muốn. Dưới đây là cách định dạng output cho các file bash:
Nhập lệnh sau vào command prompt:
locate bash | less
Ngay sau đó, tất cả các file bash sẽ được hiển thị trên màn hình dưới định dạng từng trang. Trong đó, để:
- Chuyển đến trang tiếp theo: Sử dụng phím cách.
- Chuyển đến trang trước: Sử dụng phím B.
- Thoát khỏi danh sách: Sử dụng phím Q.
Ví dụ 4: Sử dụng lệnh locate để hiển thị các file hiện có trong Linux
Mặc dù đã xóa một số file, lệnh locate vẫn hiển thị chúng trong kết quả tìm kiếm. Để bỏ qua các file không tồn tại trong database, bạn có thể tham khảo hướng dẫn sau:
Bước 1: Để xóa file khỏi máy, bạn nhập lệnh rm sau vào command prompt:
rm file2.txt
Bước 2: Sau đó, bạn có thể xác định vị trí file đã xóa bằng cách tiếp tục nhập lệnh dưới đây:
locate file2.txt
Bước 3: Để loại bỏ file đó khỏi kết quả tìm kiếm, nhập lệnh sau:
locate -e file2.txt
Lúc này, file file2.txt sẽ không còn xuất hiện trong kết quả tìm kiếm như trong hình ảnh minh họa dưới đây:
Ví dụ 5: Sử dụng lệnh locate để đếm số lượng file hiện có trong Linux
Bạn có thể đếm số lượng file cần tìm hiện có trong database (trong ví dụ dưới là html) bằng cách nhập lệnh sau vào command prompt:
locate -c html
Ngay sau đó, màn hình sẽ hiển thị như sau:
Ví dụ 6: Bỏ qua phân biệt chữ hoa chữ thường
Lệnh locate mặc định sẽ phân biệt chữ hoa/ chữ thường và bỏ qua các file không khớp. Để hiển thị tất cả kết quả, bạn hãy bỏ qua phân biệt chữ hoa chữ thường bằng cách:
Bước 1: Đầu tiên, hãy nhập lệnh sau vào command prompt:
locate FILE3.txt
Bước 2: Lúc này, sẽ không có bất kỳ file nào hiển thị vì tên file không đúng. Để hiển thị vị trí file, bạn nhập lệnh sau:
locate file3.txt
Bước 3: Cuối cùng, vẫn trong command prompt, hãy nhập:
locate -i FILE3.txt
Bây giờ, kết quả vẫn sẽ hiển thị dù bạn có viết đúng chữ hoa/ chữ thường hay không:
Ví dụ 7: Sử dụng lệnh locate để hiển thị các file theo phần mở rộng của chúng trong Linux
Để tìm kiếm một loại file cụ thể với locate, bạn nhập lệnh sau vào command prompt:
locate “*.txt”
Lúc này, kết quả sẽ hiển thị như sau:
Câu hỏi thường gặp
Tại sao sử dụng lệnh locate trong Linux?
Với lệnh locate, bạn có thể định vị tất cả các file và folder trên máy tính Linux của mình một cách nhanh chóng và dễ dàng hơn so với lệnh find.
Lệnh locate hoạt động như thế nào?
Lệnh locate hoạt động bằng cách tìm kiếm tên và đường dẫn của file bất kỳ trong database được tạo sẵn và database này sẽ được cập nhật thường xuyên bằng lệnh updatedb.
Sự khác biệt giữa lệnh locate và find trong Linux là gì?
Lệnh locate sẽ cho kết quả tìm nhanh hơn so với lệnh find trong Linux vì database đã được xây dựng sẵn. Tuy nhiên, nếu bạn muốn tìm kiếm kết quả trong real-time, lệnh find thường sẽ là giải pháp hàng đầu dành cho bạn.
Lời Kết
Bên trên là công dụng và cách sử dụng lệnh locate trong Linux mà bạn có thể tham khảo. Ngoài ra, đừng quên theo dõi các nội dung tiếp theo của Vietnix để biết thêm các kiến thức về Linux.