文件搜索命令
1.文件搜索命令
find
2.其他文件搜索命令
grep - 在文件中搜索字串匹配的行并输出
locate - 在文件资料库中查找文件
whereis - 搜索命令所在目录及帮助文档路径
which - 搜索命令所在目录及别名信息
=====================================================================================
1.文件搜索命令find
少用搜索,把文件位置都规划好。windows搜索有一个小工具everything,非常好用
匹配条件很多:
-name 根据文件名搜索
find /etc -name init 搜索/etc目录下文件名为init的文件
find /etc -name *init* 搜索/etc目录下文件名包含init的文件(*,匹配任意字符)
find /etc -name init??? 搜索/etc目录下文件名开头为init后面还有三个字符的文件(?,匹配一个字符)
-iname 不区分大小写根据文件名搜索
find /etc -iname init???
-size 根据文件大小
find / -size +204800 在根目录下查找大于100M的文件
+n 大于 -n 小于 n 等于
1k=两个数据块 所有100M=100*1024kb=204800个数据块
数据块是linux最小的存储单位,为512字节(0.5k)
-user 根据所有者查找
find /home -user admin 在根目录下查找所有者为admin的文件
-group 根据所属组查找
find /etc -cmin -5 在/etc下查找5分钟内被修改过属性的文件和目录
-5 五分钟之内 +5 五分钟之后
-amin 访问时间access
-cmin 文件属性change
-mmin 文件内容modify
find /etc size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件
-a 两个条件同时满足
-o 两个条件满足任意一个即可
find /etc -name -exec ls -l {} \;
在/etc下查找inittal文件并显示器详细信息
-exec/-ok 命令 {} \; 对搜索结果执行操作
-------------------------------------------------------------------------------------------------------------------------------------------------------
1.locate对于新创建的文件,如果没有收录到mlocate.db中,这个时候就要updatedb
2./tmp临时存放文件目录不在locate收录范围
3.locate -i 不区分大小写
grep -v # /etc/inittab 把#存在的行都排除掉
grep -v ^# /etc/inittab 把以#在开头的行都排除掉