首页 > 编程笔记

Linux find命令:搜索文件

find 命令在 Linux 中用于基于各种条件(如文件名、类型、大小、权限、修改日期等)搜索文件和目录。它是强大的文件搜索工具,可以递归地遍历目录树来查找匹配指定搜索条件的文件。

find命令的语法格式如下:
find 路径名 选项 查询结果处理动作

find 命令根据选项不同实现的功能也不同,常用的选项如下:
下面的示例是对以上选项的详细演示,注意查看显示结果。
#查找/opt目录下所有的txt文件。可以先在/opt目录下批量新建txt文件,包括二级子目录
[root@localhost opt]# find /opt -name "*.txt" -type f
/opt/test4/1.txt
/opt/test4/123.txt
/opt/66.txt
/opt/a.txt
/opt/b.txt
/opt/c.txt
/opt/d.txt
/opt/e.txt
/opt/f.txt

#查找/etc目录下大于80KB且小于100KB的文件,选项“-a”或“-and”表示逻辑与(同时满
足多个条件),选项“-o”或“-or”表示逻辑或(只需要满足一个条件)
[root@localhost ~]# find /etc -size +80k -and -size -100k -type f
/etc/ld.so.cache
/etc/lvm/lvm.conf
/etc/vmware-tools/vgauth/schemas/XMLSchema.xsd
[root@localhost ~]# ls -lh /etc/ld.so.cache
-rw-r--r--. 1 root root 84K 12月  2 22:34 /etc/ld.so.cache

#查找/home目录下3天前修改的所有的txt文件,并将它们全部复制到/opt/a目录下
#方法一:“| xargs”表示将前面的结果交给后面的命令进行处理,“-i”表示逐行处理,“{}”
表示前面查找的结果的集合
[root@localhost /]# find /home -name "*.txt" -type f -mtime +3 | xargs -i
cp {} /opt/a
#方法二:“-exec”也是将前面的结果交由后面的命令进行处理,“{}”表示前面查找的结果
的集合,“\;”是“-exec”结尾的格式,不能缺少
[root@localhost ~]# find /home -name "*.txt" -type f -mtime +3 -exec cp {}
/opt/a \;

推荐阅读