13.6. 找出檔案與目錄

有時候您知道有一個檔案或目錄存在,不過您卻不知道它們位於何處。 請使用 locate 指令來搜尋檔案或目錄。

藉由使用 locate,您將會看到每一個名稱包含在搜尋字串的檔案或目錄。 例如,如果您想要搜尋名稱中有 finger 的所有檔案, 可以輸入:

locate finger

locate 指令使用一個資料庫來找出含有 finger 在檔案或目錄名稱的所有檔案與目錄。 這個搜尋的結果也許會包括一個稱為 finger.txt 的檔案、一個稱為 pointerfinger.txt 的檔案以及一個名為 fingerthumbnails 的目錄等等。 想學習更多關於 locate 的資訊,請閱讀 locate 的 man page(在 shell 提示符號下輸入 man locate)。

只要資料庫是最新的話,locate 指令運作的很快。 這個資料庫是由 cron 每晚自動更新的。 Cron 是一個在背景執行的小程式,它執行許多的工作,例如在定期排定的間歇時間更新 locate 資料庫。

提示建議
 

Cron 是一種系統程式(daemon),它會在定期排定的間歇時間執行工作。 如想閱讀 cron 的 man page, 在 shell 提示符號下輸入 man cron。 請參考 Red Hat Linux 用戶自訂手冊 以取得更多關於 cron 的資訊。

cron 工作會定期的更新 slocate 資料庫,它是用來編輯檔案位置的目錄。 在作業系統中轉換或在一天的最後關閉您的機器,將會影響由 cron 執行的自動資料庫更新。

如要手動的更新資料庫,請以 root 登入(在 shell 提示符號下輸入 su 以及您的 root 密碼),然後再輸入 updatedb 指令。

在幾分鐘後,由 locate 指令使用的 slocate 資料庫將會在最新的狀態。

注請注意
 

您可以執行 anacron 並指定天數為頻率,來使您的系統定期的執行指令。 它不像 cron, 它並不假設機器不間斷的運行。 因此,可使用它在非 24 小時運作的機器上,而控制每天、每星期與每月的工作是由 cron 所掌控的。

請閱讀 anacron 的 man page (在命令列輸入 man anacron)以及 Red Hat Linux 用戶自訂手冊 以取得更多資訊。