Có vài cách tìm và định vị file từ terminal trong Linux, và find, locate, which và whereis là một số lệnh tìm kiếm thường dùng. Hãy xem bốn công cụ tìm kiếm này, sự giống và khác nhau.
1. find
Cách tiếp cận thẳng tiến tìm file trong thư mục chỉ định là dùng lệnh find. Nếu thư mục tìm kiếm không chỉ định rõ, tìm kiếm sẽ thực hiện trên thư mục hiện tại.
Ảnh chụp màn hình sau cho thấy trong thư mục hiện tại (.), tìm kiếm thực hiện cho tất cả tên file kết thúc bằng phần mở rộng .txt.
Tìm kiếm cũng thực hiện dựa trên dấu thời gian, quyền file, kích thước file, loại file, chủ sở hữu file, v.v. Biểu thức chính quy dùng kiểm soát tham số tìm kiếm. Hướng dẫn chi tiết lệnh find tìm thấy ở đây.
2. locate
Lệnh này là cách khác tìm file theo tên. Lệnh trước tìm kiếm thư mục chỉ định rồi cung cấp kết quả cho user. Công cụ này tìm kiếm đối với database gọi là "mlocate.db", nằm ở "/var/lib/mlocate/mlocate.db". Database này cập nhật mỗi sáng bởi tiện ích cron.
Lệnh thực thi nhanh hơn find vì tìm kiếm đối với database hiện có đã sàng lọc danh sách tất cả file và thư mục trên hệ thống.
locate theo sau tên file hiển thị đường dẫn tuyệt đối nơi file tồn tại.
Giả sử script đã tạo trong thư mục home.
Nếu cố locate script mới tạo và sao chép, không có đầu ra.
locate myscript
Vì cron chỉ cập nhật database vào buổi sáng, nếu file thêm vào hệ thống ban ngày, database cần cập nhật thủ công. Làm bằng lệnh updatedb.
sudo updatedb
Nếu cố "locate" script tùy chỉnh, nó sẽ định vị file.
3. which
Sau khi thảo luận lệnh tìm file, chuyển sang lệnh giúp tìm đường dẫn tuyệt đối file thực thi trên hệ thống: which.
Một file thực thi/script/nhị phân có thể hiện diện ở nhiều vị trí hệ thống. which tìm trong thư mục chỉ định trong biến môi trường $PATH và $MANPATH cho sự tồn tại của file thực thi chỉ định.
Không có cờ, which hiển thị đường dẫn tuyệt đối đầu tiên tìm thấy cho file thực thi.
Cờ -a hiển thị tất cả đường dẫn tuyệt đối tìm thấy cho file thực thi chỉ định.
Đường dẫn tuyệt đối cho nhiều file thực thi tìm thấy bằng chỉ định file thực thi nối tiếp nhau.
4. whereis
whereis là lệnh khác dùng lấy ba thông tin về file thực thi:
- đường dẫn tuyệt đối của nhị phân
- đường dẫn tuyệt đối nơi mã nguồn nhị phân đó tồn tại trên hệ thống
- đường dẫn tuyệt đối của manual tồn tại cho nhị phân đó
Đối với "bzgrep", nhị phân tồn tại ở "/bin", manual ở "/usr/share/man/man1". Mã nguồn không tồn tại trên hệ thống.
whereis chỉ dẫn tìm chỉ đường dẫn tuyệt đối nhị phân dùng cờ -b. Tìm kiếm chỉ thực hiện trong thư mục liệt kê sau -B. Tên sau -f chỉ định tất cả nhị phân cần lấy thông tin.
Tương tự, tìm kiếm giới hạn chỉ mã nguồn hoặc chỉ manual, dùng cờ -s và -m. -S và -M theo sau tên thư mục chỉ định thư mục tìm mã nguồn và manual.
Cờ -l cung cấp liệt kê chi tiết đường dẫn tuyệt đối tất cả thư mục whereis dùng tìm kiếm.
Kết Luận
Không thiếu công cụ tìm và định vị file trong terminal. Hy vọng bạn đã có ý tưởng tốt về bốn công cụ tìm kiếm hữu ích trên Linux. Nếu cần chi tiết cách dùng, xem trang manual để có tài liệu chi tiết.