一、文件搜索命令:find
所在路径:/bin/find使用方法:find [搜索范围] [匹配条件]
1.根据文件名来搜索文件
find /etc -name init (精准搜索)find /etc -name init* (搜索以init开头的文件)
find /etc -name init?? (搜索以init开头后面有两个任意字符的文件)
find /etc -iname init (参数iname可以让查找忽略文件的大小写的区别)
2.根据文件的大小条件来搜索文件
linux下存取文件的最小单位是数据块大小=512byte;即是0.5Kfind / -size +204800 在根目录下查找大于100M的文件
find / -size +163840 -a -size -204800 在根目录下查找大于80M小于100M的文件
-a表示两个条件都要满足,-o表示两个条件满足任意一个即可
3.根据所有者查找,或者所属组的条件查找
find /home -usr wxf
find /home -group others
4.根据时间属性条件查找
find /etc -cmin -5 在etc下查找5分钟内被修改过属性的文件和目录
-amin 访问时间access
-cmin 文件属性change
-mmin 文件内容modify
5.根据文件类型查找
-type 根据文件类型查找
f 文件 d目录 l软链接文件
find /etc -name init* -a -type f 查找/etc目录下以init开头的文件(注意不包含目录)
6.对找到的文件进行操作
find /etc -name inittab -exec ls -l {} \; 在/etc下查找inittab文件并显示其详细信息
语法格式如:-exec/ok 命令 {} \; 对搜索的结果执行操作,{} \;是固定的格式,不能写错
-ok是多了询问的模式
7.根据i节点查找文件
-inumls -i 显示当前目录文件的i节点
find . -inum 3153 -exec rm {} \; 删除当前目录i节点是3153的文件
二、locate 查找文件
注意 /tmp下的文件找不到
locate 文件名 即可
locate -i 文件名 不区分大小写
有时需要updatedb下,在查找才能找到
locate的查询速度比find快很多
三、
1.which 查找命令的路径
查找命令的路径同时可以显示该命令是否有别名的相关信息
which cp
which rm
2.whereis
可以显示该命令的路径同时可以显示该命令的帮助文档的路径
四、在文件内容中查找关键词句
grep 关键词句 绝对路径
grep -i 关键词句 绝对路径 依旧不区分大小写查找
grep -v 字符串 绝对路径 排除指定字符串
例如:
grep -v ^# /etc/inittab
在/etc/iniettab文件里查找不以#开头的行