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 ,-----我要這滑鼠有何用《— | —》
推薦閱讀: