大家好,欢迎来到IT知识分享网。
摘要:find命令的功能是根据给定的路径和条件查找相关文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。find命令通常进行的是从根目录(/)开始的全盘搜索,对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源。
一、语法格式:find [路径] [参数]
常用参数:
-name |
匹配名称 |
-perm |
匹配权限(mode为完全匹配,-mode为包含即可) |
-user |
匹配所有者 |
-group |
匹配所有组 |
-mtime -n +n |
匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n |
匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n |
匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser |
匹配无所有者的文件 |
-nogroup |
匹配无所有组的文件 |
-newer f1 !f2 |
匹配比文件f1新但比f2旧的文件 |
-type b/d/c/p/l/f |
匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size |
匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune |
忽略某个目录 |
-exec …… {}\; |
后面可跟用于进一步处理搜索结果的命令 |
二、使用例子
说明:find 命令可以对文件或目录安所给的条件进行查找,而且可以直接对查找结果使用命令。
1、全盘搜索系统中所有以.conf结尾的文件。
执行指令# find / -name *.conf。如下图
2、在/usr目录中搜索所有大约10M的文件
执行指令# find /usr –size +10M。如下图
3、在/home目录中搜索所有属于指定用户的文件
执行指令# find /home -user user。如下图
4、在/var/log目录下搜索所有后缀为.log的文件
执行指令# find /var/log -iname “*.log”。如下图
5、在/var/log目录下搜索所有后缀不是.log的文件
执行指令# find /var/log ! -iname “*.log”。如下图
6、搜索当前工作目录中的所有近10天被修改过的文件
执行指令# find . -mtime +10。如下图
7、全盘搜索系统中所有类型为目录,且权限为1777的目录文件
执行指令# find / -type d -perm 1777。如下图
8、搜索/etc目录中所有类型为普通文件,且可以执行的文件信息
执行指令# find /etc -type f -perm /a=x。如下图
9、查找系统中的/etc目录下所有后缀名为 .conf 的文件,并复制到 /usr/local中
执行指令# find /etc/ -name *.conf -exec cp -rp {} /usr/local \;。如下图
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/159521.html