標籤:
定位、尋找檔案的命令
命令 |
功能 |
命令 |
功能 |
which |
從path中找出檔案的位置 |
find |
找出所有符合要求的檔案 |
whereis |
找出特定程式的路徑 |
locate |
從索引中找出檔案位置 |
9.1 which
文法
which command
說明
依序從path環境變數所列的目錄中找出command的位置,並顯示完整路徑的名稱。在找到第一個合格程式檔案時,就立刻停止搜尋,省略其餘未搜尋目錄。
範例,找出ls命令的程式檔案的位置:
which ls
系統輸出:
/usr/bin/ls
9.2 whereis
文法
whereis [option] name
說明
找出特定程式的可執行檔、原始碼檔案以及manpage的路徑。你所提供的name會被先除去前置的路徑以及任何.ext形式的副檔名。
whereis 只會在標準的Linux目錄中進行搜尋。
常用選項
-b
只搜尋可執行檔。
-m
只搜尋manpage。
-s
只搜尋原始碼檔案。
-B directory
更改或限定搜尋可執行檔檔案的目錄。
-M directory
更改或限定搜尋manpage的目錄。
-S directory
更改或限定搜尋原始碼檔案的目錄。
9.3 find
文法
find paths expression [action]
說明
以paths為搜尋起點逐層往下找出每一個符合expression條件的檔案,並對該檔案執行action所代表的動作。expression是搜尋條件,它由一個代表匹配項目的選項以及一個代表匹配模式的參數構成。
action是處理動作,它有一個代表“處理方式”的選項以及一個巨集指令引數構成。若不指定action,則預設動作是顯示出檔案名稱。
常用的搜尋條件
-name pattern
-path pattern
-lname pattern
找出名稱、路徑名稱或符號連結的目標匹配pattern模式的檔案。pattern可以包含shell的檔案名稱萬用字元,路徑是相對於搜尋起點的。
常見處理動作
-print
顯示出檔案的相對路徑(相對於搜尋起點)。
-exec cmd /;
執行指定的shell命令。若cmd含有任何shell特殊字元,則他們之前都必須加上/符號,以免shell立刻執行他們。在cmd裡,可以用”{}”符號(包括雙引號)表示find所找出的檔案。
9.4 locate
文法
locate patterns
說明
第一次執行locate時,它會建立一個索引資料庫,當往後再次執行時,它便從索引資料庫中迅速找出檔案的位置。locate很適合用來反覆搜尋很少變動的分類樹,但是對於剛改名的舊檔案以及建立的檔案,locate就找不到了,除非重建資料庫。
updatedb
文法
updatedb [option]
說明
更新slocate的索引資料庫。
選項
-e directories
略過directories所列的目錄。
CentOS定位、尋找檔案的命令