linux文件搜索命令

find 文件搜索
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围][匹配条件]

find /etc -name init (init* init??) *表示任意字符 ?表示匹配单个字符
在目录etc下查找init文件

-iname 不区分大小写

find / -size +204800
在根目录下查找大于100M的文件(204800表示数据块,在linux下一个数据块是512字节 即0.5k 100M即204800数据块)
+n 大于 -n小于 =n 等于


find /home -user hand
在根目录下查找所有者为hand的文件
-group 根据所属组查找

2017-08-20-11-25-41.jpg

find /etc -cmin -5
在etc下查找5分钟内被修改过属性的文件或目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify

find /etc -size +163840 -a -size -204800
在etc下查找大于80M小于100M的文件
-a 同时满足两个条件
-o 满足其中一个条件即可

/type 根据文件类型查找
f 文件 d目录 l软连接
/inum 根据i节点查找

find /etc -name inittab -exec ls -l {} \;
在etc下查找inittab文件并显示其详细信息
-exec/-ok 命令 {} \; 对搜索结果执行操作 (-ok需要询问是否操作)

locate 在文件资料库中查找文件
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
可以用updatedb更新资料库

-i 不区分大小写

which 搜索命令所在目录及别名信息
命令所在路径:/usr/bin/which
执行权限:所有用户

whereis 搜索命令所在路径以及帮助文档路径

grep 在文件中搜索字符串所在的行并输出
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字符串][文件]
-i不区分大小写
-v排除指定字符串