find 命令用於查找文件系統中的指定文件。 *命令格式:find pathname -option [-print -exex -ok] 1.pathname要查找的目錄路徑 ~表示home目錄 .表示當前目錄 /表示根目錄 2.option常用的選項 -name:按名稱查找 -perm:按文件權 ...
find 命令用於查找文件系統中的指定文件。
*命令格式:find pathname -option [-print -exex -ok]
1.pathname要查找的目錄路徑
~表示home目錄
.表示當前目錄
/表示根目錄
2.option常用的選項
-name:按名稱查找
-perm:按文件許可權查找
-prune:不在當前指定目錄下查找
-type:按照文件類型查找
-user:查找指定屬主的文件或目錄
-group:查找指定所屬組的文件或目錄
-nouser:查找無有效屬主的文件
-nogroup:查找五有效所屬組的文件
-depth:從指定目錄下最深層的子目錄開始查找
-size:查找指定大小的文件
3.參數
-print: find命令將匹配的文件輸出到標準輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } ;,註意{ }和;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
4.使用-name選項,按名字查找
在當前目錄及子目錄中,查找大寫字母開頭的txt文件
find . -name '[A-Z]*.txt' -print
在/etc及其子目錄中,查找host開頭的文件
find /etc -name 'mo*' -print
在HOME目錄及其子目錄中,查找所有文件
find ~ -name '*' -print
在當前目錄及子目錄中,查找不是out開頭的txt文件
find . -name "d*" -prune -o -name "*.txt" -print
5.按目錄查找
在當前目錄除aa之外的子目錄內搜索 txt文件
find . -path "./abc" -prune -o -name "*.txt" -print
在當前目錄及除aa和bb之外的子目錄中查找txt文件
find . \( -path "./aa" -o -path "./bb" \) -prune -o -name "*.txt" -print
在當前目錄,不再子目錄中,查找txt文件
find . ! -name "." -type d -prune -o -type f -name "*.txt" -print
6.按文件許可權查找
在當前目錄及子目錄中,查找屬主具有讀寫執行,其他具有讀執行許可權的文件
find . -perm 755 -print
7.按文件類型查找
在當前目錄及子目錄下,查找符號鏈接文件
find . -type l -print
在/etc目錄下查找所有的符號鏈接文件,可以用
$ find /etc -type l -print
8.按屬主及屬組查找文件
查找屬主是tt的文件
find / -user tt -type f -print
查找屬主被刪除的文件
find / -nouser -type f -print
查找屬組admin的文件
find / -group admin -type f -print
查找用戶組被刪掉的文件
find / -nogroup -type f -print
9.按大小查找
查找超過1M的文件
$ find / -size +1M -type f -print
查找等於6位元組的文件
$ find . -size 6c -print
查找小於32k的文件
$ find . -size -32k -print