红帽rhel系统find命令使用详解
目录:
1.find命令的功能与语法
2.find命令的常用选项
3.find命令的应用实例
1、find命令的功能:
find 命令用来在指定目录下查找文件。
2、find命令语法:
find path option
find [路径] [参数]
注: 任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找 子目录与文件。并且将查找到的子目录和文件全部进行显示。
例: 查找根目录下 文件名以 .log 结尾的所有文件和目录
解: find / -name *.log
其中 / 代表根目录, -name 选项表示 查找文件名匹配指定字符串的文件 *.log 表示任何以.log结尾的文件
3、 find命令常用选项:
1) -name: 查找文件名匹配指定字符串的文件
-iname: 按文件名查找 (忽略大小写)
2)-type: 指定文件类型 ( d表示目录 , f 表示文件 , l 表示链接文件)
3)-size: 指定目录下按文件大小查找文件 (k 表示kb, m表示mb, g表示gb,+表示大于多少,-表示于多少)
4)-mtime:按文件修改日期查找 (+ 代表多少天之前 , - 代表多少天之内,0代表24小时之内)
5)-user:按照文件用户名查找
6)-depth: 从指定目录中最深的子目录开始查找
7)-uid: 查找指定目录指定uid的文件
8)-empty: 查找大小为0的文件
9)-perm: 按文件权限模式来查找文件 (按文件权限模式来查找文件的话。最好使用八进制的权限表示法)
10)-exec: 可以跟其他命令来处理查找到的结果
4、find命令的应用实例:
例 1) 查找在当前目录及子目录中查找所有的‘ .log‘文件
find . -name "*.log" -print (.表示当前目录,也可以用绝对路径的方式表示,-print表示打印)
例 2) 查找当前目录及其子目录下所有文件后缀为“ .c” 的文件
find . -name "*.c"
例 3) 查找在/etc目录下所有的文件(文件类型为目录)
find /etc -type d (d表示文件类型为目录,f表示文件类型为文件)
例 4) 查找在当前目录下的文件 (文件类型为文件)
find . -type f
例 5) 查找在/etc目录下所有的符号链接文件
find /etc -type l
例 6) 查找在当前目录下除目录以外的所有类型的文件
find . ! -type d (!表示取反)
例 7) 查找 /var/log 目录中更改时间在 7 日以前的普通文件并删除
find /var/log -type f -mtime +7 -exec rm -rf {} \; (-exec表示在后面跟其他命令语句,{}表示find查找到的所有内容放进{} 里,\;表示此条命令结束)
例 8) 查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find . -type f -perm 644 -exec ls -l {} \;
例 9) 查找/home目录下30天前且大小为2GB的文件
find /home/ -mtime +30 -size 2G -type f
例 10) 查找/var/log下大于10k并且小于20k,类型为文件
find /var/log -size +10k -a -size -20k -type f (-a表示并且,需要同时满足前后两个条件,-o表示或者满足一个条件即可)
https://www.cnblogs.com/tony-d/p/5675021.html