文件搜索命令
1. locate
搜索速度快
# locate [文件名]
# /var/lib/mlocate locate命令搜索的是这个数据库
# updatedb 用于更新上面的数据库
/etc/updatedb.conf 配置文件,配置了搜索限制
2. whereis与which
搜索命令的命令
# whereis [命令]
-b:只查找可执行文件
-m:只查找帮助文件
which可以看见命令的别名
# which [命令]
PATH环境变量:定义的是系统搜索命令的路径
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
3. find
非常耗费资源!!
# find [搜索范围] [搜索选项]
find搜索的内容如果需要内容进行模糊查询就需要用通配符。
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
不区分大小写
# find /root -iname install.log
按照所有者搜索
# find /root -user root
查找没有所有者的文件
# find /root -nouser 一般就是垃圾文件,(除proc,sys下的,u盘考过来的)
根据时间搜索
# find /var/log/ -mtime +10
+10 10天以前修改的文件
10 10天当天修改的文件
-10 10天内修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
根据文件大小
# find /root -size 25k 25M
+25 大于25k的文件
-25 小于25k
25 等于25k
按照I节点
# find /root -inum 262422
# find /etc -size +20k -a -size -50k
-a and
-o or
# find /root -size +20k -a -size -50k -exec ls -l {} \;
-exec [第二条处理命令] {} \;
4. find与grep区别
在文件中匹配符合条件的字符串
# grep [选项] "字符串" 文件名
选项:
-i 忽略大小写
-v 排除指定字符串
find命令:在系统中搜索符合条件的文件名,如果需要模糊使用通配符。
grep命令:在文件中搜索符合条件的字符串,如果需要精确查询使用正则表达式。
5. 历史命令
# history [选项]
-c :清空历史命令
-w :将目前的命令存储到一个特定文件中。