Tôi thấy thật ngạc nhiên khi định vị hoạt động nhanh hoặc tự động hoàn thành (mà tôi biết) hoạt động trong linux. ... Có bất kỳ lập chỉ mục đang được thực hiện trong nền hoặc làm thế nào đạt được điều này?
Đây thực sự là hai câu hỏi hoàn toàn khác biệt.
locate
sử dụng một chỉ mục (slocate lưu nó vào /var/lib/slocate/
), được cập nhật bởi một cron
công việc hàng đêm . Công việc hàng đêm này thường chạy vào khoảng 1 hoặc 2 giờ sáng giờ địa phương và quét toàn bộ hệ thống của bạn (bao gồm tất cả các ổ đĩa được kết nối). Chỉ số kết quả chỉ đơn giản là một danh sách tên tệp.
Tự động hoàn thành được xử lý bởi vỏ của bạn. Hầu hết các hệ thống sử dụng bash
, bash-completion
tập hợp các tập lệnh quản lý cách thức hoạt động của nó. ( zsh
có một bộ sưu tập có tên tương tự và hầu hết các shell khác đều có sẵn một số hình thức hoàn thành.) Khi Tabđược nhấn, shell sẽ chạy một tập lệnh quyết định, dựa trên những gì bạn đã nhập, chính xác, cần gì được hoàn thành Tập lệnh sau đó tạo một danh sách các hoàn thành có thể, có thể hoặc không phải là danh sách các tệp trong thư mục hiện tại hoặc danh sách các tệp thực thi trong của bạn $PATH
. Các locate
lệnh thường không sử dụng cho việc này.