locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立乙個包括系統內所有檔名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。
在一般的distribution 之中,資料庫的建立都被放在 crontab中自動執行。
1.命令格式:locate [引數] [檔案]
2.命令功能:
locate命令可以在搜尋資料庫時快速找到檔案,資料庫由updatedb程式來更新,updatedb是由cron daemon週期性建立的,locate命令在搜尋資料庫時比由整個由硬碟資料來搜尋資料來得快,
但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab(etc/crontab)來更新設定值。
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目錄錄,可以使用特殊字元(如」*」 或」?」等)來指定範本樣式,如指定範本為kcpa*ner,
locate會找出所有起始字串為kcpa且結尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括 子目錄在內的所有檔案。
locate指令和find找尋檔案的功能類似,但locate是透過update程式將硬碟中的所有檔案和目錄資料先建立乙個索引資料庫,在執行loacte時直接找該索引,查詢速度會較快,
索引資料庫一般是由作業系統管理,但也可以直接下達update強迫系統立即修改索引資料庫。
3.命令引數:
-e 將排除在尋找的範圍之外。
-1 如果是1.則啟動安全模式。在安全模式下,使用者只能看到許可權範圍內的檔案。這會使速度減慢,因為locate必須從實際的檔案系統中取得檔案的許可權資料。
-f 將特定的檔案系統排除在外,例如我們沒有道理要把proc檔案系統中的檔案放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 最多顯示n個輸出。
-r 使用正規表示式做尋找的條件。
-o 指定資料庫的名稱。
-d 指定資料庫的路徑
-h 顯示輔助訊息
-v 顯示程式的版本訊息
4.2搜尋etc目錄下所有以sh開頭的檔案
[hduser0401@dev-l002782 ~]$ locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
4.3搜尋/usr/bin目錄下,所有以z開頭的檔案
[hduser0401@dev-l002782 ~]$ locate /usr/bin/z
/usr/bin/zcmp
/usr/bin/zdiff
/usr/bin/zegrep
/usr/bin/zfgrep
/usr/bin/zforce
/usr/bin/zgrep
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipgrep
/usr/bin/zipinfo
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/bin/zless
/usr/bin/zmore
/usr/bin/znew
/usr/bin/zsoelim
--最多顯示5個輸出
[hduser0401@dev-l002782 ~]$ locate -n 5 /usr/bin/z
/usr/bin/zcmp
/usr/bin/zdiff
/usr/bin/zegrep
/usr/bin/zfgrep
/usr/bin/zforce
locate 命令的用法
名稱 locate 使用許可權 所有使用者 使用方式 locate q d database locate r regexp locate qv o output locate e f l c locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目...
locate 命令的用法
名稱 locate 使用許可權 所有使用者 使用方式 locate q d database locate r regexp locate qv o output locate e f l c locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目...
chgrp命令用法舉例
在lunix系統裡,檔案或目錄的許可權的掌控以擁有者及所訴群組來管理。可以使用chgrp指令取變更檔案與目錄所屬群組,這種方式採用群組名稱或群組識別碼都可以。chgrp命令就是change group的縮寫!要被改變的組名必須要在 etc group檔案內存在才行。1.命令格式 chgrp 選項 組...