find命令 – 查找和搜索文件

313次阅读
没有评论

find 命令可以根据给定的路径和表达式查找的文件或目录。find 参数选项很多,并且支持正则,功能强大。和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。

find 如不加任何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用 find 命令,find 命令模糊搜索还是比较消耗系统资源的。

语法格式 :find [参数] [路径] [查找和搜索范围]

常用参数

-name 按名称查找
-size 按大小查找
-user 按属性查找
-type 按类型查找
-iname 忽略大小写

参考实例

使用 -name 参数查看 /etc 目录下面所有的.conf 结尾的配置文件:

[root@linuxvip ~]# find /etc -name "*.conf

使用 -size 参数查看 /etc 目录下面大于 1M 的文件:

[root@linuxvip ~]# find /etc -size +1M

查找当前用户主目录下的所有文件:

[root@linuxvip ~]# find $HOME -print

列出当前目录及子目录下所有文件和文件夹:

[root@linuxvip ~]# find .

在 /home 目录下查找以.txt 结尾的文件名:

[root@linuxvip ~]# find /home -name "*.txt"

在 /var/log 目录下忽略大小写查找以.log 结尾的文件名:

[root@linuxvip ~]# find /var/log -iname "*.log"

搜索超过七天内被访问过的所有文件:

[root@linuxvip ~]# find . -type f -atime +7

搜索访问时间超过 10 分钟的所有文件:

[root@linuxvip ~]# find . -type f -amin +10

找出 /home 下不是以.txt 结尾的文件:

[root@linuxvip ~]# find /home ! -name "*.txt"

正文完