“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/linux/practical-examples-linux-find-command/