https://zhuanlan.zhihu.com/p/99170116
Linux查找命令是类Unix操作系统中最重要且最常用的命令行实用程序之一。 查找命令可以根据你设定的参数匹配的文件指定的条件来搜索和查找文件或目录的列表。
查找可以在多种条件下使用,例如可以按权限,用户,组,文件类型,日期,大小和其他可能的条件查找文件。
通过本文,我们以示例的形式分享了我们日常的Linux find命令展示及其用法。
在本文中,我们将向您展示Linux中最常用的38个“查找命令”示例。 从“基本”到“高级”命令的用法,我们将本节分为五个部分。
01、在当前目录中使用名称查找文件
例如:在当前工作目录中找到名称为linux265.txt的所有文件。
find . -name linux265.txt
02、在指定目录下查找文件
例如:在/home目录下查找linux265.txt文件。
find /home -name linux265.txt
03、使用名称查找文件并忽略大小写
例如:在/ home目录中找到所有名称为linux265.txt并且包含大写字母和小写字母的文件。
find /home -iname linux265.txt
04、使用名称查找目录
例如:在/
目录中找到所有名称为linux265的目录。
find / -type d -name linux265
05.使用名称查找PHP文件
例如:在当前工作目录中查找所有php文件中名称为linux265.php的文件。
find . -type f -name linux265.php
06、在目录中查找所有PHP文件
例如:在目录中找到所有php文件。
find . -type f -name "*.php"
07、查找具有777权限的文件
例如:查找当前目录所有权限为777的文件。
find . -type f -perm 0777 -print
08、查找根目录没有777权限的文件
例如:查找所有未经许可的文件777。
find / -type f ! -perm 777
09、查找具有644权限的SGID文件
例如:查找所有权限设置为644的所有SGID位文件。
find / -perm 2644
10、查找具有551权限的粘性位文件
例如:查找所有权限为551的Sticky Bit设置文件。
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权限并将Chmod设置为644的文件
例如:找到所有777个权限文件,然后使用chmod命令将权限设置为644。
find / -type f -perm 0777 -print -exec chmod 644 {} \;
16、查找具有777权限目录修改其权限
例如:找到所有777个权限目录,然后使用chmod命令将权限设置为755。
find / -type d -perm 777 -print -exec chmod 755 {} \;
17、查找并删除单个文件
例如:要找到一个名为linux265.txt的文件并将其删除。
find . -type f -name "linux265.txt" -exec rm -f {} \;
18、查找并删除多个文件
例如:要查找并删除多个文件,例如.mp3或.txt后缀的文件。
find . -type f -name "*.txt" -exec rm -f {} \;
OR
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、根据用户查找单个文件
例如:在所有者根目录下查找全部或单个文件linux265.txt。
find / -user root -name linux265.txt
23、根据用户查找所有文件
在/home
目录下查找属于用户linux265的所有文件。
find /home -user linux265
24、根据组查找所有文件
例如:在/home
目录下找到属于developer
组的所有文件。
find /home -group developer
25、查找用户的特定文件
例如:在/home
目录下找到用户linux265的所有后缀为.txt
文件。
find /home -user linux265 -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小时内更改的所有文件。
find / -cmin -60
30、查找最近1小时内的修改文件
例如:查找最近1小时内所有已修改的文件。
find / -mmin -60
31、查找最近1小时内访问的文件
例如:查找最近1小时内访问的所有文件。
find / -amin -60
32、查找50MB文件
例如:要查找所有50MB的文件,请使用。
find / -size 50M
33、查找大小在50MB – 100MB之间
例如:查找大于50MB且小于100MB的所有文件。
find / -size +50M -size -100M
34、查找和删除100MB文件
例如:查找所有100MB文件并使用一个命令将其删除。
find / -type f -size +100M -exec rm -f {} \;
35、查找特定文件并删除
例如:查找所有大小超过10MB的.mp3文件,然后使用一个命令将其删除。
find / -type f -name *.mp3 -size +10M -exec rm {} \;
36、要在当前目录中查找带有.sh和.txt文件扩展名的所有文件,可以通过运行以下命令来执行此操作:
find . -type f \( -name "*.sh" -o -name "*.txt" \)
37、要查找扩展名为.sh,.txt和.c的三个文件名,请发出以下命令:
find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)
38、这是另一个示例,其中我们搜索扩展名为.png,.jpg,.deb和.pdf的文件:
find /home/linux265/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)
find
命令是一个非常实用的命令,可以让我们轻松找到需要查找的文件,如果你还不了解它,不妨从以上命令示例开始学习吧。
如果你想了解过多关于find
的用法可以通过man find
查看详细的说明。
如果想了解更多Linux中命令使用,可以下载Linux命令中文手册,关注我后,公号里面回复“命令”即可下载。