一、文件搜索命令 find
语法:find [搜索范围] [匹配条件] {find [搜索范围] [搜索模式] [搜索条件]}
1.以文件名来查找 -name(区分大小写)-iname (不区分大小写)
find /etc -name inid
或者 find /etc/ -iname init
需要注意的是,以上命令只能进行精准搜索,即文件名全匹配,对于文件名中包含以上字母的文件时搜索不到的,这存在一定的局限性,要想进行模糊匹配搜索可以使用一些通配符,如:“*” 可以代表任意的字符,“?” 代表一个字符;案例如下:
查找以init开头的文件
· 查找以init结尾的文件
查找文件名中包含init的文件
查找以init开头,后面有三个字符的文件
2.以文件大小搜索 -size
以文件大小搜索,需要注意的是其大小的单位为数据块,一个数据块是512字节即512B等于0.5K,如果要索大于100M的文件,其大小可以表示为100*1024*2=204800。在命令中用+代表大于,用-代表小-于,不使用代表等于,如下实例:在根目录下查找大于100M的文件
3.以文件所有者或者所属组搜索 -user -group
如:查找所属组为hefei,或者所有者为an的文件
4.根据时间属性来查找
语法:-amin 访问时间 access 查找某个时间范围被访问过的文件
-cmin 文件属性 change 查找某个时间范围被修改过文件属性的文件
-mmin 文件内容 modify 查找某个时间范围被修改过文件内容的文件
如:find /etc -mmin -600 查找600分钟以内被修改过的文件或目录
5.根据文件类型来查找 -type
语法:f 指定文件类型
d 指定目录类型
l 指定软连接类型
如:find /tmp -type d 查找/tmp目录下的目录
6.根据i节点来查找 -inum
7.查找命令的条件连接符
语法:-a 左右两个条件同时满足 and
-o 两个条件满足任意一个都行
如:find /etc -name init* -a -type f 查找/etc 目录下以名称以init开头的文件
find /etc -name init* -o -name a* 查找/etc 目录下以名称以init开头或者以a开头的文件或目录
8.对查找的内容信息结合其他命令执行进一步操作
语法:find查找命令后跟 -exec/-ok 执行命令 {} \;
如:find /etc -name init* -exec ls -l {} \; 以长格式的形式显示查找内容的信息
以上命令使用-ok 也行,只是使用-ok的时候回多一个确认的环节,比如,当要删除一些文件的时候: