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