find命令詳解

文件搜索命令:find

命令名稱:find
命令所在路徑:/bin/find
執行權限:所有用戶
語法:find [搜索範圍][匹配條件]
功能描述:文件搜索

按文件名查找常用操作

# find /etc -name init #在etc目錄下查找init的文件
/etc/sysconfig/init
# find /etc -name *init* # *號表示通配符只要文件名包含init都匹配出來
# find /etc -name init* #以所有以init開頭全部匹配出來
# find /etc -name init??? #匹配init後面三個字符不清楚一個問號表示一個字符
# find /etc -iname init #不區分大小寫
# find /etc -name init* -type f #以etc目錄下init開頭的文件全部列出來
# find /etc -name init* -type d #以etc目錄下init開頭的目錄全部列出來
# find /etc -name init* -type l #以etc目錄下init開頭的軟連接全部列出來

-inum根據i(inode)
節點查找
測試
# touch "11 22" #創建一個文件
# rm 11 22 #刪除這時候是無法刪除的
rm: 無法刪除"11": 沒有那個文件或目錄
rm: 無法刪除"22": 沒有那個文件或目錄
# ls -i #這時候列出inode
37676584 11 22 33582978 anaconda-ks.cfg
# find . -inum 37676584 -exec rm {} \; #用find來查找(.是在當前目錄查找)查找然後刪除

注:千萬不要在服務器高峯期用find查找,查找範圍越小越好,能不再跟分區就不再根分區查找,搜索條件越精準越好。
根據文件大小查找

+n大於 -n小於 n等於

# find / -size +100M #在根搜索所有大於100M的文件

要查找大於50M小於20M 這兩個條件必須同時滿足
-a 兩個條件同時滿足
-o 兩個條件滿足任意一個即可
# find /etc -size +5M -a -size -20M #在etc目錄下查找大於5M小於20M的文件

# find /etc -size +5M -0 -size -20M #在etc目錄下查找大於5M或者小於20M的文件

根據所有者來查找

# find / -user php-fpm #根據所有者查找

# find / -group php-fpm #根據所屬組查找

根據時間屬性查找

-amin 訪問時間 access  訪問時間有cat tail less等等
-cmin 文件屬性 change 文件的屬性改了有chmod
-mmin 文件內容 modify 文件裏面的內容被改了

# find /etc -amin -30 #在etc目錄下30分鐘以內訪問文件有哪些

# find /etc -cmin -30 #在etc目錄下30分鐘以內被改的文件屬性有哪些

# find /etc -mmin -30 #在etc目錄下30分鐘以內被修改文件內容有哪些

在etc下查找inittab文件並顯示詳細信息

# find /etc -name inittab -exec ls -l {} \;  #查找命令顯示詳細信息出來
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab

# find /etc -name init* -type f -exec ls -l {} \;
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab
-rw-r--r--. 1 root root 798 10月 31 2018 /etc/sysconfig/init
-rwxr-xr-x. 1 root root 5419 8月  24 2018 /etc/sysconfig/network-scripts/init.ipv6-global
-rw-r--r--. 1 root root 30 11月  3 2018 /etc/selinux/targeted/contexts/initrc_context

# find /etc -name init* -type f -ok ls -l {} \; #一個個顯示
< ls ... /etc/inittab > ? y #y查看詳細
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab
< ls ... /etc/sysconfig/init > ? n #n不看
< ls ... /etc/sysconfig/network-scripts/init.ipv6-global > ? y #看
-rwxr-xr-x. 1 root root 5419 8月  24 2018 /etc/sysconfig/network-scripts/init.ipv6-global
< ls ... /etc/selinux/targeted/contexts/initrc_context > ? n #不看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章