tailieunhanh - Tìm kiếm trong môi trường dòng lệnh với lệnh locate

Trong môi trường dòng lệnh, khi bạn muốn tìm một file nào đó, thông thường bạn sẽ dùng câu lệnh find nhưng nhược điểm của find là tốc độ chậm. locate là một trong những giải pháp thay thế hiệu quả trong nhiều trường hợp. Linh hoạt, thực thi nhanh, tuy nhiên đánh đổi lại nó cũng có những hạn chế. Bài viết này xin giới thiệu khái quát một số điều cơ bản về câu lệnh 'locate' và một số ví dụ thực hànhpasswd/etc/dovecot/. | Tìm kiếm trong môi trường dòng lệnh với lệnh locate Trong môi trường dòng lệnh khi bạn muốn tìm một file nào đó thông thường bạn sẽ dùng câu lệnh find nhưng nhược điểm của find là tốc độ chậm. locate là một trong những giải pháp thay thế hiệu quả trong nhiều trường hợp. Linh hoạt thực thi nhanh tuy nhiên đánh đổi lại nó cũng có những hạn chế. Bài viết này xin giới thiệu khái quát một số điều cơ bản về câu lệnh locate và một số ví dụ thực hành. Cơ chế hoạt động của locate Như đã nói ở trên ưu điểm của locate là tốc độ lý do nào khiến nó hoạt động nhanh như vậy Thực ra locate không tìm thông tin về file trên đĩa cứng như find nó chỉ tìm kiếm đường dẫn trong một cơ sở dữ liệu tên là . CSDL này lưu thông tin về các file và đường dẫn trong hệ thống lưu trữ. Bạn có thể tìm thấy nó tại var lib mlocate Câu hỏi tiếp theo là nếu locate chỉ đơn thuần tìm kiếm đường dẫn trong thì cơ chế nào giúp cập nhật cho được cập nhật bởi một tiện ích tên updatedb. Khi ta khởi chạy updatedb nó sẽ quét toàn bộ hệ thống và cập nhật thông tin về đường dẫn vào . Để update thông tin cho thủ công sudo updatedb Từ đây bạn có thể thấy rõ nhược điểm của locate kết quả của nó trả về phụ thuộc vào tính chính xác của và điều này lại phụ thuộc vào updatedb. Vậy để tăng tính chính xác của locate chúng ta cần thay đổi thời gian mỗi lần cập nhật . Ngoài ra các thông số về định dạng file nơi cần đánh chỉ mục với câu lệnh locatedb được lưu trong etc . Bạn có thể thay đổi thông số của file này để phù hợp với nhu cầu của mình sudo nano etc PRUNE_BIND_MOUNTS yes PRUNENAMES .git .bzr .hg .svn PRUNEPATHS tmp var spool media PRUNEFS NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf ecryptfs fusesmb devtmpfs lưu các thông tin dưới dạng Biến Giá trị. Trong đó .