1、功能
在指定目录下查找文件。
2、语法
find path [option]
path:要查找的路径
option:可选项
3、常见可选项
-name filename:查找名为filename的文件
-user username:按文件属主来查找
-group groupname:按组来查找
-mtime -n +n :按文件修改(modify)时间来查找,-n指n天以内,+n指n天以前
-atime -n +n :按文件访问时间来查找
-ctime -n +n :按文件创建时间来查找
-type d/f :按类型查找,d:目录,f:普通文件
-regex pattern:指定字符串作为查找文件或者目录的模式
4、示例
1)find . #列出当前目录及子目录下所有文件和文件夹
2)find /home -name '*.txt' #在/home目录及其子目录下查找以.txt结尾的文件名
3)find /home -iname '*.txt' #同上,但是忽略大小写
4)find . -name '*.txt' -o -name '*.pdf' #在当前目录及其子目录下查找所有以.txt和.pdf结尾的文件,-o表示或(or),-a表示并且(and)
5)find /home ! -name '*.txt' #找出/home目录及其子目录下不是以.txt结尾的文件
6)find . -type f #找出当前目录及其子目录下文件类型为普通文件的所有文件
7)find /home -type f ! -name 'test' | xargs rm -f #查找/home目录及其子目录下名字不为test的文件并删除之
8)find /home -type f ! -name 'test' -exec rm -f {} \; #同上
解释:-exec command {} \; 表示将查到的文件执行command命令
9)find /home -type f -mtime +5 -ok rm {} \; #将查找到的文件删除,删除前询问用户
10)find /home -type f -mtime -1 -exec ls -l {} \; #查询当天修改过的文件
11) find /home -size +3000k -exec ls -l {} \; #查找大于3M的文件并显示详情
12)find . -type f -name '*.txt' -exec cat {} \; > all.txt #查找当前目录及其子目录下左右.txt文件把他们拼接起来写入all.txt中
熟能生巧
这些命令要自己多敲哦~