locate và các biến thể của nó có xu hướng là một phương pháp nhanh.
# updatedb # run as root, possibly using sudo, e.g. sudo -b updatedb. If file is on the system for more than a day it should already be in the index and this can be skipped
$ locate -i book1
Nếu định vị không có sẵn, bạn có thể sử dụng find thay thế. Nó có xu hướng chậm hơn nhiều, nhưng cũng chính xác hơn nhiều.
Nếu bạn có một phân vùng duy nhất: (chạy dưới quyền root nếu người dùng của bạn có thể không có quyền truy cập vào tệp)
$ find / -xdev -iname 'book1*' -print # If the iname extension to find is available
$ find / -xdev -print | grep -F -i /book1 # if iname is not available
Nếu bạn không bao gồm -xdev findcác tìm kiếm mọi thứ trên các phân vùng khác, như /procvà /sys, có xu hướng tràn ngập màn hình của bạn với các lỗi, đặc biệt là nếu bạn không root. (Lỗi có thể được ẩn bằng cách nối thêm 2> /dev/nullvào cuối lệnh find (cần xóa bình luận))
Nếu bạn có nhiều phân vùng và bạn không biết tệp nào được bật, bạn có thể nhận danh sách với lsblk(trên các HĐH dựa trên Linux, phân tích cú pháp dfđầu ra là một tùy chọn khác) và đưa vào đó tìm: (root lại nếu bạn không biết nếu bạn có thể truy cập tập tin)
$ find $(lsblk -O MOUNTPOINT -n | grep -F /) -xdev -iname 'book1*' -print # GNU-based OSes
$ find $(df -P|awk '$1 ~ /^\/dev/ {print $NF}') -xdev | grep -F -i book1 # Non-GNU based OSes.
(Điều này hơi mong manh nếu bất kỳ điểm gắn kết nào của bạn có khoảng trắng trong) ( dftham số có thể cần điều chỉnh. -P tạo GNUdf cung cấp đầu ra POSIX tiêu chuẩn. Các phiên bản khác có thể có các tham số khác hoặc cần bỏ qua. Đọc trang man của bạn)
Không grep -Fbao gồm những thứ khác được trả lại, như phân vùng trao đổi.
Trong phiên bản không phải GNU, awk tìm các thiết bị có giá trị bắt đầu bằng /devđể lấy các hệ thống tệp thực và sau đó in trường cuối cùng (điểm gắn kết) từ dfđầu ra.
Điều này cũng giả sử một lớp vỏ giống như bourne ( kshvà bashsẽ hoạt động. Nếu bạn đang sử dụng một cshbiến thể, hãy khởi động một lớp vỏ có thể viết được trước khi bạn thử điều này)
Book1, và nó nằm trong một thư mục bạn có thể đọc, thìfind / -iname book1sẽ tìm thấy nó. Bạn có chắc chắn nó thực sựBook1, và khôngBook1.xyz?