Linux系统中Find命令使用实例

Linux系统中Find命令使用实例
Linux系统中Find命令使用实例

“Find”命令是Linux等类Unix操作系统中,最重要且最常用的命令之一。“Find”命令被用于根据指定的条件来搜索和查找文件和目录的列表。“Find”可以在根据不同条件使用,例如可以按权限,用户,组,文件类型,日期,大小和其他条件来查找文件。

在本文中,我们以示例的形式分享常用的“find命令用法。

第一部分– 查找文件名称的命令

1. 在当前文件夹中查找

在当前文件夹中,查找所有名称为tecmint.txt的文件。

# find . -name tecmint.txt

./tecmint.txt

2. 在home目录下查找文件

/ home目录下找到所有名称为tecmint.txt的文件。

# find /home -name tecmint.txt

/home/tecmint.txt

3. 在home目录下查找文件并忽略大小写

/ home目录中,找到所有名称为tecmint.txt的文件,查找条件不区分大小写。

# find /home -iname tecmint.txt

./tecmint.txt
./Tecmint.txt

4. 查找目录名

在根目录下,查找所有名称为Tecmint目录。

# find / -type d -name Tecmint

/Tecmint

5. 根据名称查找php文件

在当前目录下,查找所有名称为tecmint.php的文件。

# find . -type f -name tecmint.php

./tecmint.php

6. 在目录下查找所有php文件

在某个目录下,查找所有php文件。

# find . -type f -name "*.php"

./tecmint.php
./login.php
./index.php

第二部分 – 根据文件权限查找文件

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

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

# find . -type f -perm 0777 -print

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

查找所有没有777权限的文件。

# find / -type f ! -perm 777

9. 查找文件权限为644的SGID文件。

查找所有权限为644的SGID文件。

# find / -perm 2644

10. 查找所有权限为551的ticky Bit 文件

Find all the Sticky Bit set files whose permission are 551.

# find / -perm 1551

11. 查找 SUID 文件

查找所有SUID 文件。

# find / -perm /u=s

12. 查找 SGID 文件

查找所有的SGID文件。

# find / -perm /g=s

13. 查找所有只读文件

查找所有只读文件。

# find / -perm /u=r

14. 查找可执行文件

查找所有可执行文件。

# find / -perm /a=x

15. 查找所有权限为 777 的文件,并将权限调整为 644

查找所有777 权限的文件, 然后使用chmod 命令,将权限设置为 644

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

16. 查找所有权限为777的目录,并将权限调整为 755

查找所有 777 权限的目录, 然后使用 chmod 命令将权限设置为 755

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

17. 查找并删除单个文件

查找名称为 tecmint.txt 的文件,并将其删除。

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

18. 查找并删除多个文件

查找和删除多个文件(比如.mp3.txt文件)。

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

或者

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

19. 查找所有空文件

查找特定目录下的所有空文件。

# find /tmp -type f -empty

20. 查找所有空目录

查找特定路径下的所有空目录。

# find /tmp -type d -empty

21. 查找所有隐藏文件

使用下面的命令,查找所有隐藏的文件。

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

第三部分 – 根据所归属的用户和组查找文件

22. 查找归属于某用户的单个文件

在/根目录下,查找单个或者全部名为“tecmint.txt”并归属于root用户的文件。

# find / -user root -name tecmint.txt

23. 查找归属于某用户的所有文件

/home 目录下,查找所有归属于 Tecmint 的文件。

# find /home -user tecmint

24. 查找归属于某个组的所有文件

在“/home”目录下,查找全部归属于“Developer”组的文件。

# find /home -group developer

25. 查找归属于某用户的特定文件

在”/home”目录下,查找用户“Tecmint”的全部“.txt”文件。

# find /home -user tecmint -iname "*.txt"

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

26. 查找最近50天修改的文件

查找所有50天内,内容做过更改的文件。

# find / -mtime 50

27. 查找最近50天访问的文件

查找所有过去50天访问过的文件。

# find / -atime 50

28. 查找最近50-100天内容改动的文件

查找50天以前100天内,内容做过修改的文件。

# find / -mtime +50 –mtime -100

29. 查找最近1小时内更改的文件

查找所有最近1小时内有更改的文件,比如更改了permissions, ownership, file name, number of hard links。

# find / -cmin -60

30. 查找最近1小时内修改的文件

查找所有过去1小时内,有过内容改动的文件。

# find / -mmin -60

31. 查找最近1小时内访问的文件

查找所有最近1个小时内访问的文件。

# find / -amin -60

第五部分 – 根据大小查找文件和目录

32. 查找50M的文件

查找所有50M的文件:

# find / -size 50M

33. 查找大小在50MB – 100MB的文件

查找所有大于50MB小于100MB的文件。

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

34. 查找和删除 100MB 的文件

查找全部大小为100M的文件,并将其全部删除。

# find / -type f -size +100M -exec rm -f {} \;

35. 查找特定文件并删除

查找所有大于10MB的MP3文件,并将它们删除。

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

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/lamp-config/practical-examples-linux-find-command/

发表评论

登录后才能评论