標籤:

Linux 文件查找

與搜索相關的命令常用的有 whereis,which,find 和 locate 。

whereis 通常只能用來搜索二進位文件,該指令會在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進位文件,或是幫助文件。

搜索路徑通常包括 /usr/bin /usr/share/

使用方法:

直接使用whereis:

-b  只查找二進位文件

-m  只查找說明文件

-s  只查找原始代碼文件

其通常也可以搜索一些用戶創建的二進位文件,但這個二進位文件必須存放到特殊位置

我直接在/home/shiyanlou下創建了一個myfile的二進位文件,但是使用whereis命令並不可以將其查找出來,但是我如果在/usr/bin下創建二進位文件,其是可以被搜索出來的。

locate命令用於查找符合條件的文檔,他會去保存文檔和目錄名稱的資料庫內,查找合乎範本樣式條件的文檔或目錄。每次使用locate命令是最好是使用一次updatedb命令更新一次本地資料庫(文件位置:/var/lib/mlocate/mlocate.db

但是其使用需要額外一些準備:

需要安裝了locate才能使用相關命令

其可以直接使用locate <filename/dicname>去搜索,其搜索會把文件絕對路徑中帶有關鍵字的文件全部羅列出來,其使用一般要指定搜索的文件目錄範圍:

其會把/home/shiyanlou路徑下所有my開頭的所有文件羅列出來(其不會遍歷其子目錄

這樣會把文件目錄下所有TXT結尾的文件全部羅列出來

which指令會在環境變數$PATH設置的目錄里查找符合條件的文件。

搜索環境變數內容的----

find命令用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。

真正意義上的文件搜索:

通過 man find 命令可以查看其攜帶參數的意義:

find path -option [ -print ] [ -exec -ok command ] {} ;

其通過文件名去搜索指定目錄下文件,文件名為絕對名 也可通過模糊查找來實現,通常都是應用佔位符的方式

與時間相關的命令參數:

參數 說明

-atime 最後訪問時間

-ctime 最後修改文件內容的時間

-mtime 最後修改文件屬性的時間

下面以 -mtime 參數舉例:

-mtime n:n 為數字,表示為在 n 天之前的「一天之內」修改過的文件

-mtime +n:列出在 n 天之前(不包含 n 天本身)被修改過的文件

-mtime -n:列出在 n 天之內(包含 n 天本身)被修改過的文件

-newer file:file 為一個已存在的文件,列出比 file 還要新的文件名

find /home/shiyanlou/ -mtime 0

查找/home/shiyanlou/ 24小時之內被訪問過得文件

以上的 /home/shiyanlou 全部可以使用~代替喲,~代表當前用戶的用戶目錄喲 su -l <用戶名>切換用戶

學習Linux inging ,-----我要這滑鼠有何用《— | —》


推薦閱讀:

TAG:Linux | 搜索 |