Linux常用查找命令
Linux常用查找命令
1、命令名称:which(查看命令文件位置和命令可能出现的别名)
which 命令
2、whereis(查找命令及帮助文档所在位置)
whereis 命令
3、locate(按照文件名查找,按照数据库查找)
locate /etc/ls
搜索etc目录下所有以sh开头的文件。
在使用locate命令时,要使用绝对路径查询。
4、命令名称:find(搜索系统中符合条件的文件)
-name 根据文件名查找
通配符:
- 任意多个字符
? 任意一个字符
[] 指范围值,外侧加引号
-size 根据大小查找
find ./ -size -10k 查找小于10k的文件或目录
find ./ -size -10M 查找小于10M的文件或目录
find ./ -size +10G 查找大于10G的文件或目录
-user 根据所有者查找
find / -user root 查找/下所有root用户的文件
-perm 根据文件权限查找
find /boot -perm 644 -按时间查找 按天 ctime atime mtime 按分钟 cmin amin mmin
c change 表示属性被修改过:所有者、所属组、权限
a access 被访问过(被查看过)
m modify 表示内容被修改过
find /etc -mmin -120 查找120分钟内内容被修改过的
find /etc -ctime +7 查找七天之前属性被修改过的
-type 根据文件类型查找
例:-type f 二进制文件(普通文件)
-type l 软连接文件
-type d 目录
-逻辑连接符
-a (and 逻辑与)
-o (or 逻辑或)
例:find /etc -size +1k -a -size -10k 在etc目录小查找大于1k并且小于10k的文件
-命令执行连接符(对查找到的文件,进一步处理)
find … -exec 命令 {} \;
{}表示find查询的结果集 \是转义符,不适用命令别名,直接使用命令本身 ;分号是表示语句结束 转义符:在Linux中有个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可 以查看命令别名)使用rm删除文件前会提示确认信息,就因为rm -i 这个参数。如果想使用 命令原意,可以在加\转义。如:\rm tese.txt 不会提示,直接删除。
-inum 根据文件i节点查询
find ./ inum 231906 -exec rm {} \;
有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性 删除。
5.grep “字符串” 文件名(在文件内查找符合条件的字符串行)
命令所在路径:/bin/grep
-v 反向选择
-i 忽略大小写