find 命令作用
根据预设条件递归查询文件,当查询一个文件时他会将目录下所有的文件包括子目录全部查询一遍,就算找到了对应文件也不会停止
会一直查询到所有文件都查过为止。
命令格式
- find [目标] [条件] [-a|-o] [条件2] # -a(并且) -o(或者)
常见的条件:
-type 类型(f(表示文本文件), d(表示目录), l(表示快捷方式))
举例:
1.只查询是文本文件的类型: find /home/ -type f #匹配打印出目录下所有的文本文件,不会打印目录
2.只查询是目录的类型: find /home/ -type d #匹配打印出目录下所有的目录,不会打印文本文件 3.只查询是快捷方式的类型: find /home/ -type l #匹配打印出目录下所有的快捷方式"*.lst"的文件
-name 类型 (*(所有),,,,) (注意:查询内容最好加双引号)
举例:
1. 查询目录下名字为text.txt的文件 find /home/ -name "text.txt"
2. 查询目录下名字为a开头的目录 find /home/ -type d -name "a*"
2. 查询目录下名字为a开头的目录 或 b开头的文件 find /home/ -type d -name "a*" -o -type f -name "b*"
-size +|- 类型 (k,M,G) (注意:查询kb的k要写小写,M与G可以写大写的)
举例:
1. 查询目录下文件大于100M的文件 find /home/ -size +100M
-user 类型 根据文档的所有者查找 -group 类型 根据文档的所属组查找
举例:
1. 查询目录下文件所有者为user用户的文件 find /home/ -user user1
2. 查询目录下文件所属组为user1用户的文件 find /home/ group user1
-mtime +|- 类型 #根据文件修改日期查询
举例:
1. 查询目录下所有十天之前修改过的文件 find /home/ -mtime +10
2. 查询目录下所有十天之内修改过的文件 find /home/ -mtime -10
find的高级用法:
可将查询到的文件作为参数 以-exec 传递给对应的命令遍历执行
类型 -exec 命令 {} \: #以{}代替每一个查询的结果,逐个处理,遇到\:则结束
举例:
1.将/home/目录下包括子目录下所有大于100M的文件拷贝到/dev/下 find /home/ -size +100M -exec cp {} /dev/ \; #这里的{}表示查询到的文件参数,并逐个遍历执行exec后的命令, \;表示结尾。
2.将/home/目录包括子目录下所有开头为a的文件删除find -type f -name "a*" -exec rm -f {} \;
标签:文件,笔记,find,命令,home,查询,type,目录 From: https://www.cnblogs.com/qu-xiaofeng/p/17952407