目的

熟練使用find命令在多條件限定下查找符合條件的文件。

find命令功能:在一個層級目錄里搜尋文件,支持查詢條件為文件名、文件大小、文件權限、文件屬組/屬主、文件時間戳、文件類型等。

前提

可用的centos7系統,連接網絡。

命令介紹

【例1】查找/var目錄下屬主為root,且屬組為mail的所有文件

[root@Magedu ~]# find /var/ -user root -group mail

? /var/spool/mail

? /var/spool/mail/root

【例2】查找/var目錄下不屬于root、lp、gdm的所有文件

[root@Magedu ~]# find /var -not \( -user root -o -user lp -o -user gdm \)

【例3】找出/home/var/log目錄下刪除所有以.log結尾的文件并無需人工確認刪除

[root@Magedu ~]# find /home/var/log -name "*.log" -exec rm {} \;

【例4】找出/etc目錄下所有以.conf結尾的文件

[root@Magedu ~]# find /etc -name "*.conf"

【例5】將30天前的.log文件,大于10G的文件移動到old目錄中

[root@Magedu ~]# find ./ -type f -size +10G -mtime +30 -name "*.log" -exec mv {} old \;

【例6】查找/tmp目錄下,u,g,o任何一類用戶(至少有一類)中有讀或寫權限的文件;

[root@Magedu ~]# find /tmp/ -perm /666 -ls

【例7】查找/tmp目錄下,權限為104的文件

[root@Magedu ~]# find /tmp/ -perm 104 -ls

【例8】查找/tmp目錄下,任何一類用戶的任何一位權限有執行或或讀權限的文件;

[root@Magedu ~]# find /tmp/ -perm /104 -ls

【例9】查找/tmp目錄下,屬主有執行權限同時其它有讀權限的文件

[root@Magedu ~]# find /tmp/ -perm -104 -ls

文章來源于網絡,侵刪!