updatedb Trình tạo lệnh
Tạo các lệnh updatedb để xây dựng hoặc cập nhật cơ sở dữ liệu tên tập tin mà locate sử dụng
Bắt đầu với updatedb
## updatedb là gì?
`updatedb` tạo hoặc cập nhật cơ sở dữ liệu chứa tên các tập tin mà `locate` sẽ truy vấn. Sau khi chương trình này chạy xong, `locate needle` có thể tìm thấy bất kỳ tập tin nào theo tên trong vài miligiây, nhanh hơn nhiều so với việc `find` quét toàn bộ hệ thống tập tin. Cơ sở dữ liệu này sẽ được xây dựng lại theo lịch trình (thường là hàng ngày thông qua cron), nhưng bạn cũng có thể chạy nó thủ công ngay sau khi có những thay đổi lớn đối với các tập tin.
## Cách sử dụng
1. **Chọn tùy chọn**: thường không cần — dạng phổ biến nhất là `sudo updatedb`. Bạn có thể thêm `--output`, `--prunepaths`, `--prunefs`, `--database-root`, `--require-visibility` hoặc `-v` tùy theo nhu cầu. 2. **Chọn cơ sở dữ liệu tùy chỉnh** (tùy chọn): sử dụng `--output` để lưu dữ liệu ở vị trí khác thay vì`/var/lib/plocate/plocate.db` hoặc`/var/lib/mlocate/mlocate.db` mặc định. 3. **Sao chép & Chạy**: Đặt tiền tố là⟦CODE
Các tùy chọn phổ biến
### `-v` Chế độ chi tiết In ra các đường dẫn khi chúng được quét — rất hữu ích để xác nhận cơ sở dữ liệu thực sự đang được xây dựng lại.
### `--output=FILE` Cơ sở dữ liệu tùy chỉnh Ghi chỉ mục vào một đường dẫn cụ thể: `updatedb --output=/tmp/mydb.db`. Sau đó truy vấn nó bằng `locate -d /tmp/mydb.db pattern`.
### `--prunepaths='DIRS'` Bỏ qua thư mục Loại bỏ các đường dẫn khỏi quá trình quét để chúng không bao giờ xuất hiện trong kết quả của `locate`: `updatedb --prunepaths='/tmp /var/tmp /mnt/backup'`.
### `--prunefs='FSTYPES'` Bỏ qua hệ thống tập tin Bỏ qua các loại hệ thống tập tin như `nfs` hoặc `tmpfs` để các hệ thống tập tin được kết nối qua mạng hoặc tạm thời không bị lưu vào chỉ mục: `updatedb --prunefs='nfs tmpfs'`.
### `--database-root=PATH` Quét gốc Lưu chỉ mục cho một phân cây như thể đó là gốc hệ thống tập tin — rất hữu ích khi xây dựng cơ sở dữ liệu từ một môi trường chroot hoặc hình ảnh được gắn kết.
### `--require-visibility` Lọc quyền truy cập Lưu lại những tập tin mà người thực hiện việc lưu chỉ mục có thể xem, và ẩn những tập tin còn lại khỏi `locate`. Chế độ này tắt theo mặc định trên plocate (chỉ lưu chỉ
▶Tại sao công cụ tìm kiếm không thể tìm thấy tập tin vừa được tôi tạo?
▶mlocate so với plocate — có sự khác biệt gì?
▶Tại sao tôi cần sudo để chạy updatedb?
Nếu công cụ này đã giúp ích cho bạn, hãy nghĩ đến việc mua một cốc cà phê cho tôi.
Hãy mua cho tôi một cốc cà phê nhé.