4-3 Linux中 find命令
文件搜索命令find(功能强大)
命令格式:find [搜索范围] [搜索条件]
例:find / -name install.log(搜索整个根,按文件名搜索,搜索的文件名为 install.log,搜索的文件名必须和命令给的文件名一模一样)
常见的find参数:
Linux中的通配符:通配符是完全匹配的
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
*例子:find /root -name "install.log*"
搜索root目录下,文件名包含install.log的所有文件
find /root -name "*"
搜索root目录下的所有文件
[]例子:find /root -name "ab[cd]"
搜索root目录下名字为abc或者abd的所有文件
find /root -name "*[cd]"
搜索root目录下名字以c或者d结尾的所有文件
其它命令举例:find /root -iname instsll.log
不区分大小写搜索
find /root -user root
按照所有者搜索
find /root -nouser
搜索没有所有者的文件,很可能是垃圾文件(也可能是外来文件或是内核产生的文件)
find /var/log/ -mtime +10
查找十天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
按文件大小进行搜索: find . -size 25k
搜索当前目录下文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find /etc -size +2M(这里注意单位M是大写,k为小写)
搜索etc目录下大小大于2M的文件
按照i节点搜索文件:find . -inum 262422(ls -i是知道文件名查i节点)
查找当前目录下i节点是262422的文件
复杂条件:find /etc -size +20k -a -size -50k
查找etc目录下文件大小大于20k且小于50k的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,满足其中一个条件即可
find/etc -size +20k -a -size -50k -exec ls -lh {} \;
查找etc目录下大于20kb小于50kb的文件,并显示详细信息
-exec 其他能够处理搜索结果的命令 {} \配套的,一起使用!
将找到的结果用此命令再处理
举报

