find:文件查找
10年積累的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有丹徒免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
作用:實(shí)時(shí)查找工具,通過(guò)遍歷指定路徑完成問(wèn)件查找,遞歸地在層次目錄中處理文件
find的特點(diǎn):
1.精確查找,實(shí)時(shí)查找
2.可能只搜索用戶具備讀取和執(zhí)行權(quán)限的目錄
3.查找速度略慢
find(什么也不要跟就會(huì)把當(dāng)前目錄的所有列表全部顯示出來(lái),find默認(rèn)是遞歸搜索的)
語(yǔ)法:
find [OPTION]... [查找路徑] [查找條件] [處理動(dòng)作]
查找路徑:指定具體目標(biāo)路徑;默認(rèn)為當(dāng)前目錄
查找條件:指定的查找標(biāo)準(zhǔn),可以文件名、大小、類型、權(quán)限等標(biāo)準(zhǔn)進(jìn)行;默認(rèn)為找出指定路徑下的所有文件
處理動(dòng)作:對(duì)符合條件的文件做操作,默認(rèn)輸出至屏幕
選項(xiàng):
搜索目錄層級(jí)
-maxdepth level :最大搜索目錄深度
-mindepth level :最小搜索目錄深度
例: find 目錄 -maxdepth 2 -mindepth 2:只搜索2級(jí)目錄
-depth:find 目錄 -depth:先處理文件后處理目錄
根據(jù)文件名和inode查找:
-name "文件名稱":支持使用glob
*, ?, [], [^]
-iname "文件名稱":不區(qū)分字母大小寫
-inum n 按inode號(hào)查找
例:
[root@localhost data]$find /data -inum 67
/data/123.txt
-samefile name 相同inode號(hào)的文件
例:
find /data -samefile /data/fi.sh:查看節(jié)點(diǎn)編號(hào)相同的文件前后目錄可以不一致
搜索的目錄 標(biāo)準(zhǔn)文件所在的目錄
-links n 鏈接數(shù)為n的文件
-regex “PATTERN”:以PATTERN匹配整個(gè)文件路徑,而非文件名稱(匹配的是完整路徑)
根據(jù)文件屬主和屬組查找;
-user username:查找屬主為指定用戶的文件
-group groupname:查找屬組為指定組的文件
-uid useruid:查找屬主為指定UID的文件
-gid groupgid:查找屬組為指定GID的文件
-nouser:查找沒(méi)有屬主的文件
-nogroup:查找沒(méi)有屬組的文件
根據(jù)文件類型查找:
-type:
b 特殊塊文件(緩沖的)
c 特殊字符文件(不緩沖)
d 目錄
p 命名管道 (FIFO)
f 普通文件
l 符號(hào)鏈接
s 套接字
空文件或目錄
-empty
-type d -empty
根據(jù)文件大?。?/p>
-size:常用單位(K M G c(Byte))
+#M:表示大于#M的文件,+5M
-#M:表示小于于#M的文件,-5M
根據(jù)時(shí)間查找:
以天為單位:
-atime:訪問(wèn)時(shí)間
+,-:+10,超過(guò)十天訪問(wèn)過(guò)的文件,-10十天內(nèi)訪問(wèn)過(guò)的文件
-mtime:修改時(shí)間,文件內(nèi)容最后一次修改的時(shí)間,文件內(nèi)容修改
-ctime:改變時(shí)間,文件最后一個(gè)改變的時(shí)間,屬性及文件名改變
以分鐘為單位:
-amin:訪問(wèn)時(shí)間
-mmin:修改時(shí)間
-cmin:改變時(shí)間
根據(jù)文件權(quán)限查找:
-perm:
mode:精確查找
/mode:任何一類(u,g,o)對(duì)象的權(quán)限只要匹配一位就滿足條件。或的關(guān)系。早期用+號(hào)表示
-mode:每一類對(duì)象都必須擁有指定權(quán)限才滿足條件
0:表示不關(guān)注
例:find -perm 755 file,精確匹配權(quán)限755的文件
find -perm /222 file,屬主,屬組,其他人,其中一個(gè)有寫權(quán)限就匹配
find -perm -222 file,屬主,屬組,其他人,必須每個(gè)都有寫權(quán)限就匹配
find -perm -002 file ,只有其他人有寫權(quán)限時(shí)才匹配
動(dòng)作:
-print:默認(rèn)的處理動(dòng)作,將匹配到的顯示到屏幕
-ls:類似于ls -l查看文件
-delete:匹配到的內(nèi)容刪除(危險(xiǎn),不要用)
-fls file:查找到的文件以長(zhǎng)格式信息保存到指定的文件中
-ok command {} \; :對(duì)查找到的文件,執(zhí)行由command位指定的命令,缺點(diǎn)是對(duì)每個(gè)匹配的文件執(zhí)行命令前都需要確認(rèn)
例:find /data -name "*.sh" -ok mv {} /tmp \;
{}:引用前面find匹配到的文件,引用查找到的文件名稱自身,例如匹配的是ping.sh,name{}內(nèi)就位{ping.sh}
\;:語(yǔ)法格式,必須以\;結(jié)尾
-exec command {} \; :對(duì)查找到的文件,執(zhí)行由command位指定的命令,和ok不同的是不需要一個(gè)一個(gè)確認(rèn)
例:find /data -name "*.sh" -ok mv {}.bak /tmp \;
{}.bak:移動(dòng)到/tmp目錄下改名為以.bak為后綴的文件
查找/var/目錄下不屬于root、lp、gdm的所有文件
[root@centos7 ~]#find /var ! -user root ! -user lp ! -user gdm -type f
/var/lib/colord/mapping.db
/var/lib/colord/storage.db
/var/lib/nfs/state
/var/lib/unbound/root.key
/var/lib/setroubleshoot/setroubleshoot_database.xml
/var/lib/setroubleshoot/email_alert_recipients
/var/lib/postfix/master.lock
/var/spool/mail/rpc
/var/spool/mail/cheng
/var/spool/mail/ning