有兩個工具是可以用來找尋檔案,它們是 find 和 locate。find 用檔案現在的狀態來搜尋,而 locate 則用一個由系統於每日早上六時四十二分產生(這是 cron job,在其它章節有提及)的索引檔來搜尋。locate 不會找得到索引檔產生後才創造的檔案。不過因為 locate 利用索引檔來搜尋,所以速度快得很,就好像利用書本的索引而非只看內容。
為了對比這兩種搜尋的方法,先假設您忘記了 X 設定檔的位置。
/usr/X11R6/lib/X11/XF86Config
/usr/X11R6/lib/X11/XF86Config.eg
/usr/X11R6/man/man5/XF86Config.5x.gz
/usr/X11R6/lib/X11/XF86Config
find: /var/spool/cron/atjobs: Permission denied
find: /var/spool/cron/atspool: Permission denied
find: /var/lib/xdm/authdir: Permission denied
用法也有點不同。用 find 的時候,您需要指定從哪個目錄開始搜尋,但 locate 會自動使用根目錄。指定名字時您需要使用 -name 選項,而且您可以用別的條件來搜尋,例如更新日期或擁有者。利用 find 去尋找含有 XF86Config 的檔案,需要用到 wildcard:
一般來說,find 的功能比較強大,而 locate 比較快,適合日常快速的搜尋。要把搜尋的各方面都解釋得到將會耗用很長的時間,您不妨鍵入 info find,它會帶您到 find 和 locate 的 info page,那�埵釦騤埏伓禤ヾC