Linux命令find的35个实例

本文大部分参考来自http://www.tecmint.com/35-practical-examples-of-linux-find-command/。
之前在CSDN上看过一篇类似的,但是翻译出现了很大的问题。这里我自己重新翻译测试,并整理,如有不足还请谅解。
Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小等可能的条件查找文件。 通过这篇文章,我们以实例的形式分享我们的日常Linux查找命令体验及其用法。在本文中,我们将向您展示Linux中最常用的35查找命令示例。我们将该部分分为五个部分,从基本到提前使用find命令。

  • 第一部分:查找名称查找文件的基本查找命令
  • 第二部分:根据他们的权限查找文件
  • 第三部分:基于所有者和组的搜索文件
  • 第四部分:根据日期和时间查找文件和目录
  • 第五部分:根据大小查找文件和目录
  • 第六部分:在Linux中查找多个文件名

第一部分 - 查找名称查找文件的基本查找命令

1.使用当前目录中的名称查找文件,例如,在当前工作目录中查找名称为test.c的所有文件。

1
find test.c

2.在主目录下查找文件,例如,查找/ home目录下的所有文件,名称为test。

1
find /home -name test

3.使用名称和忽略案例查找文件,例如,找到名称为test的所有文件,并在/ home目录中同时包含大写和小写字母。

1
find /home -iname test

4.使用名称查找目录,例如:在/目录中查找名称为test的所有目录。

1
find / -type d -name test

5.使用名称查找PHP文件

1
find -type f test.php

6.查找目录中的所有PHP文件

1
find -type f  "*.php"

第二部分 - 根据他们的权限查找文件

7.查找权限为777的所有文件

1
find type f -perm 0777 -print

8.查找所有没有777权限的文件

1
find / type ! -perm 777

9.查找权限设置为644的所有SGID位文件。

1
find / -perm 2644

10.找到具有551权限的粘滞位文件,查找权限为551的所有Sticky Bit设置文件。

1
find / -perm 1551

11.查找SUID文件,查找所有SUID集文件。

1
find / -perm /u=s

12.查找SGID文件,查找所有SGID设置文件

1
find / -perm /u=s

13.查找只读文件,查找所有只读文件。

1
find / -perm /u=r

14.查找可执行文件,查找所有可执行文件。

1
find / -perm /u=x

15.找到777个权限和Chmod到644的文件,查找所有777个权限文件,并使用chmod命令将权限设置为644.

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

16.找到具有777个权限的目录和Chmod到755,查找所有777个权限目录,并使用chmod命令将权限设置为755。

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

17.查找并删除单个文件,找到一个名为test.c的文件并将其删除

1
find -type f -name "test.c" -exec rm -f {} \;

18.查找并删除多个文件,查找和删除多个文件,如.mp3

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

19.查找所有空文件,在特定路径下查找所有空文件。

1
find /tmp -type f -empty

20.查找所有空目录

1
find / -type d -empty

21.文件所有隐藏文件,要查找所有隐藏的文件,请使用以下命令。

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

第三部分 - 基于所有者和组的搜索文件

22.查找基于用户的单个文件,在所有者root的/root目录下查找名为test.c的所有或单个文件。

1
find / -user root -name test.c

23.查找基于用户的所有文件,查找~目录下属于用户neil的所有文件。

1
find ~ -user neil

24.查找基于组的所有文件,查找/ home目录下属于Group Developer的所有文件。

1
find /home  -group developer

25.查找用户的特定文件,查找~目录下的用户neil的所有.c文件

1
find ~ -uesr neil -iname "*.c"

第四部分 - 根据日期和时间查找文件和目录

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.找到50MB的文件

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 {} \;