Find 命令是 Linux 中一个重要且常用的命令。Find 命令主要用于基于匹配条件和参数的文件和目录列表的搜索和定位。通过这篇文章我们将展示在日常工作中可能用到的 Find 命令实例。

1、在当前目录查找文件名

在当前目录下查找所有名字为belen.txt的文件。

1
2
# find . -name belen.txt
./belen.txt

2、在/home目录查找文件

/home目录下查找所有名字为belen.txt的文件。

1
2
# find /home -name belen.txt
/home/belen.txt

3、忽略大小写查找文件名

/home目录下查找所有名字为belen.txt的文件忽略名字大小写。

1
2
3
# find /home -iname belen.txt
./belen.txt
./Belen.txt

4、查找目录名

/目录下查找Belen目录。

1
2
# find / -type d -name Belen
/Belen

5、查找某个名字的 php 文件

在当前目录下查找名字为 belen.php 的 php 文件。

1
2
# find . -type f -name belen.php
./belen.php

6、查找特定目录下个所有 php 文件

在某个目录中查找所有的 php 文件。

1
2
3
4
# find . -type f -name "*.php"
./belen.php
./login.php
./index.php

7、查找某个目录下777权限的文件

1
# find . -type f -perm 0777 -print

8、查找某个目录下不是777权限的文件

1
# find / -type f ! -perm 777

9、查找具有 644 权限的 SGID 文件

1
# find / -perm 2644

10、查找具有 551 权限的 Sticky Bit 文件

1
# find / -perm 1551

11、查找SUID文件

1
# find / -perm /u=s

12、查找SGID文件

1
# find / -perm /g+s

13、查找某个目录下的只读权限文件

1
# find / -perm /u=r

14、查找所有可执行文件

1
# find / -perm /a=x

15、查找所有 777 权限的文件然后修改权限为 644

在某个目录中查找所有 777 权限的目录并使用 chmod 修改权限为 644 。

1
# find / -type f -perm 0777 -print -exec chmod 644 {} \;

16、查找 777 权限的目录并修改权限为 755

在某个目录中查找所有 777 权限的目录并使用 chmod 修改权限为 755。

1
# find / -type d -perm 777 -print -exec chmod 755 {} \;

17、查找并删除特定的文件

1
# find . -type f -name "tecmint.txt" -exec rm -f {} \;

18、查找并删除多个文件

1
2
3
4
5
# find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

19、查找所有的空文件

1
# find /tmp -type f -empty

20、查找所有的空目录

1
# find /tmp -type d -empty

21、查找所有的隐藏文件

1
# find /tmp -type f -name ".*"

22、查找基于用户的某个特定文件

在root的根目录下查找属于root用户的所有的或者单个的叫做 belen.txt 的文件。

1
# find / -user root -name belen.txt

23、基于用户查找文件

/home目录下查找belen用户的文件。

1
# find /home -user belen

24、基于组查找文件

/home目录下查找属于Developer用户组的文件。

1
# find /home -group developer

25、查找某个用户所属的特定文件

/home目录下查找belen用户的所有.txt文件。

1
# find /home -user cooear -iname "*.txt"

26、查找近50天修改的文件

1
# find / -mtime 50

27、查找近 50 天访问过的文件

1
# find / -atime 50

28、查找近 50-100 天内修改过的文件

1
# find / -mtime +50 –mtime -100

29、查找在近1小时变化过的文件

1
# find / -cmin -60

30、查找近1小时修改过的文件

1
# find / -mmin -60

31、查找近1小时访问过的文件

1
# find / -amin -60

32、查找大小为 500M 的文件

1
# find / -size 50M

33、查找文件大小在 50MB-100MB 的文件

1
# find / -size +50M -size -100M

34、查找并删除文件大小为 100MB 的文件

1
# find / -size +100M -exec rm -rf {} \;

35、查找并删除某些特定文件

使用一个命令查找所有大小为 10MB 的.mp3文件并删除。

1
# find / -type f -name *.mp3 -size +10M -exec rm {} \;