find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法
find(选项)(参数)
实例
根据文件或者正则表达式进行匹配
1.列出当前目录及子目录下所有文件和文件夹
find .
2.在/home目录下查找以.txt结尾的文件名
find /home -name "*.txt"
3.同上,但忽略大小写
find /home -iname "*.txt"
4.当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . -name "*.txt" -o -name "*.pdf"
5.匹配文件路径或者文件
find /usr/ -path "*local*"
6.基于正则表达式匹配文件路径
find . -regex ".*(.txt|.pdf)$"
7.找出/home下不是以.txt结尾的文件
find /home ! -name "*.txt"
8.根据文件类型进行搜索
find . -type 类型参数
类型参数列表: f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 p Fifo
9.删除当前目录下所有.txt文件
find . -type f -name "*.txt" -delete
10.当前目录下搜索出权限为777的文件
find . -type f -perm 777
11.找出当前目录用户tom拥有的所有文件
find . -type f -user tom
12.将30天前的.log文件移动到old目录中
find . -type f -mtime +30 -name "*.log" -exec cp {} old ;
13.要列出所有长度为零的文件
find . -empty