目录

Linux常用查找命令

Linux常用查找命令

https://i-blog.csdnimg.cn/blog_migrate/9742ea81961c25c924659d7a2be499f2.png

https://i-blog.csdnimg.cn/blog_migrate/ac4305c606a9a298dc5180799e29e5c2.png

https://i-blog.csdnimg.cn/blog_migrate/ac5214c733e67b85245376715bd38acc.png

通配符:

  • 任意多个字符

? 任意一个字符

[] 指范围值,外侧加引号

find ./ -size -10k 查找小于10k的文件或目录

find ./ -size -10M 查找小于10M的文件或目录

find ./ -size +10G 查找大于10G的文件或目录

find / -user root 查找/下所有root用户的文件

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 f 二进制文件(普通文件)

-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 不会提示,直接删除。

find ./ inum 231906 -exec rm {} \;

有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性 删除。

-v 反向选择

-i 忽略大小写