Linux下幾個常見的文件查找命令:
which 查看可執行文件的位置
whereis 尋找特定文件,查看文件的位置
locate 配合數據庫查看文件位置
find 實際搜尋硬盤查詢文件名稱
通常情況下find命令並不是很常用,大家都優先使用whereis和locate命令來查找,因為whereis和locate命令都是利用數據庫來查找文件所在,並沒有實際查詢硬盤,所以速度很快,節省時間。但是我們的find命令依然很強大,它的查找條件相當多,對於用其他命令查找不到的文件,就可以考慮使用find命令在硬盤上遍歷查找,雖然速度慢效率低。
find(用於在文件樹中查找文件,並進行相應操作)
格式: find [PATH] [option] [action]
[PATH] : 所要搜索遍歷的目錄,默認為當前目錄
[option] : 所要搜索文件的條件特征
[action] : 對搜索結果進行特殊處理
1. 與時間有關的參數
-amin n :查找n分鐘內被訪問過的文件
-cmin n : 查找n分鐘內被修改過文件狀態的所有文件
-mmin n : 查找n分鐘內被修改過文件內容的所有文件
-atime n : 將n天內存取過的的文件列出來
-ctime n : 將n天內改變、新增的文件或者目錄列出來
-mtime n : 將n天內修改過的文件或者目錄列出來
-newer file :把比file還要新的文件列出來 (可用來分辨兩個文件之間的新舊關系)
除此之外,以-mtime為例:(類比使用其他與時間有關的參數)
-mtime n :列出n天前的那一天被更改過的文件
-mtime +n :列出n天之前(不包含n天本身)被更改過的文件
-mtime -n :列出n天之內(包含n天本身)被更改過的文件
-mtime 0 : 0代表當前時間,即列出從現在開始到24小時前之間的被更改過的文件
2. 與用戶或用戶組名有關的參數
-uid n :尋找擁有者ID為n的文件
-gid n :尋找用戶組ID為n的文件
-group name :尋找群組名稱為name的所有文件
-user name :尋找用戶名稱為name的所有文件
-nouser :尋找文件所有者不存在 /etc/passwd 的人(可以查找不太正常的文件)
-nogroup : 尋找文件的所有用戶組不存在於 /etc/group 中的文件
如果你將某個賬戶刪除了,該賬戶曾經建立的文件就成了無主的非正常文件,這時候可以利用 -nouser來找出該類型的文件
3. 與文件權限及名稱有關的參數
(1)-name [filename] : 查找文件名為filename的文件
從以上的例子中我們可以看出,find命令需要一個路徑名作為查找范圍,find會深入到這個路徑的每一個子目錄中去尋找,打印文件的絕對路徑。
如果指定路徑為“/”,就查找整個文件系統。-name選項指定了文件名,-printf表示將結果輸出到屏幕上,-type選項用來定位特殊文件類型。
(2)-size [+-]SIZE : 查找比"SIZE"還要大(+)或小(-)的文件 (SIZE的規格有:① c :代表byte ②k :代表1024 bytes) ; 要找比50k還要大的文件時就用" -size +50k"
(3)-type [TYPE] :查找文件類型為TYPE的文件
-type選項常見的參數:
參數 含義 b 塊設備文件 c 字符設備文件 d 目錄文件 f 普通文件 p 命名管道 l 符號鏈接(4)-perm [mode] : 查找文件權限剛好等於"mode"的文件,這個"mode"為類似chmod的屬性值
-perm [+mode] : 查找文件權限全部包含“mode”權限的文件
-perm [-mode] : 查找文件權限包含任一“mode”權限的文件
4.其它
-exec [command] : command為其他命令,-exec後面可接其它的命令來處理查找到的結果。
-exec 到 “ \; ”是關鍵字,代表find額外命令的開始到結束,這兩者之間就是find命令的額外命令
-print :將結果打印到屏幕上,默認操作
Linux find 命令用法總結 http://www.linuxidc.com/Linux/2015-04/116854.htm
Linux下查找文件find命令 http://www.linuxidc.com/Linux/2014-10/108575.htm
Linux下find命令詳解 http://www.linuxidc.com/Linux/2011-08/40669.htm
文本查找利器find的使用 http://www.linuxidc.com/Linux/2014-03/97559.htm
功能強大的find命令 http://www.linuxidc.com/Linux/2014-01/95236.htm
Linux系統find命令詳解 http://www.linuxidc.com/Linux/2014-06/103232.htm