Linux常用命令-文件搜索命令find

时间:2022-01-02 17:01:31

文件搜索命令find

命令名称:find

命令所在路径:/bin/find

执行权限:所有用户

语法:find [搜索范围] [匹配条件]

功能描述:文件搜索

-name 根据文件名搜索 例:find /etc/ -name init 模糊搜索使用通配符* find /etc -name *init* 匹配单个字符使用通配符? find /etc -name init??

-iname 根据文件名搜索(不区分大小写)

-size 在目录下根据文件大小查找 例:find / -size +204800 (+大于;-n小于;n等于  搜索大小以数据块为单位,1数据块=512字节=0.5k;100MB=1024000KB=204800数据块)

-user 在目录下以所有者为条件查找 例:find /home -user xiaoming

-group 根据所属组查找

-amin 根据文件一段时间内访问(access)查找 例:find /etc -amin -5 (+:超过多长时间;-:多长时间之内)

-cmin 根据文件一段时间内修改文件属性(change)查找 例:find /etc -cmin -5

-mmin 根据文件一段时间内修改文件内容(modify)查找 例:find /etc -mmin -5

-type 根据文件类型查找  (f:文件 d:目录;l:软链接文件)

-inum 根据i节点查找

 

搜索条件的连接查询

-a 两个条件同时满足 例:find /etc -size +163840 -a -size -204800

-o 两个条件满足任意一个即可 例:find /etc -size +163840 -o -size -204800

-exec/-ok 命令 {} \; 对搜索结果执行操作 例:find /etc -name init -exec ls -l {} \;   find /etc -name init -ok ls -l {} \;(会对每一个符合条件的结果进行询问的操作,应用场景例如要对搜索出的文件进行删除 find /etc -name init* -ok rm {} \;就会询问每个文件是否删除)

 

其他搜索命令

命令名称:locate (-i不区分大小写)

命令所在路径:/usr/bin/locate

执行权限:所有用户

语法:locate 文件名

功能描述:在文件资料库中查找文件(文件资料库 /var/lib/mlocate/mlocate.db,linux会定期将文件信息同步到这个文件里面,执行updatedb命令会立刻更新文件资料库,/tmp目录不在文件资料库内) 例:locate inittab;

 

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法:which命令

功能描述:搜索命令所在目录及别名信息 例:which ls

 

命令名称:whereis

命令所在路径:/usr/bin/whereis

执行权限:所有用户

语法:whereis [命令名称]

功能描述:搜索命令所在目录及帮助文档路径 例:whereis ls

 

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

语法:grep -iv [指定字串] [文件]

功能描述:在文件中搜寻字符串匹配的行并输出 -i 不区分大小写 -v 排除指定字串 例:grep mysql /root/install.log