一、文件搜索命令
- locate 【文件名】
在后台数据库中按文件名搜索,搜索速度更快
(数据库不会自动更新,新建的文件夹会搜索不到,updatedb即可)
后台数据库位置:/var/lib/mlocate
注:/etc/updatedb.conf配置文件中存在搜索限制,locate搜索时会跳过这些文件
二、命令搜索命令whereis与which
- whereis 【选项】【命令名】
搜索命令所在路径及帮助文档所在位置
选项(可为空):
-b:只查找可执行文件
-m:只查找帮助文件
注:只能搜索系统命令 - which 【命令名】
搜索命令所在路径及别名
系统命令所在路径存放在PATH中,所以可直接使用
PATH环境变量:定义的是系统搜索命令的路径 (echo $PATH可查看)
三、文件搜索命令find
-
find 【搜索范围】 【搜素条件】
eg:find / -name install.log
模糊查询需要使用通配符
*匹配任意内容
eg:find / -name "install.log"
? 匹配任意一个字符
eg:find / -name “install.l?g”
[ ] 匹配任意一个中括号内的字符
eg:find / -name “ab[cd]” -
find /root -iname install
不区分大小写 -
find /root -user root
按照所有者搜索 -
find /root -nouser
查找没有所有者的文件
内核产生的文件或外来文件可以没有所有者,但是其他位置的文件不能没有所有者 -
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容 -
find /root -size 25k
查找大小是25k的文件(k必须小写、M必须大写)
-25k 小于25k的文件
+25k 大于25k的文件 -
find /root -inum 262422
查找i节点是262422的文件(ls -i查看文件i节点) -
find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20k,小于50k的文件
-a and 逻辑与
-o or 逻辑或扫描二维码关注公众号,回复: 9335272 查看本文章 -
find /etc -size +20k -a -size -50k -exec ls -lh{} ;
查找/etc/目录下,大于20k,小于50k的文件,并显示详细信息
-exec … {} ;
固定格式,对搜索结果执行操作(注意分号)
四、字符串搜索命令grep
- grep 【选项】 字符串 文件名
grep “size” wenjian
在文件中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
grep -v “size” wenjian
五、find与grep的区别
- find命令:在系统当中搜索符合条件的文件名,可使用通配符进行完全匹配。
grep命令:在文件当中搜索符合条件的字符串,可使用正则表达式进行包含匹配。