Linux文件查找常用命令(上)

Linux常用文件搜索命令(上)

命令名称:find

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

功能:文件搜索

 

1.按文件名查找

  find 目录 -name 文件名

  find /root -name test

 

2.按文件名查找,但不区分大小写

  find 目录 -iname 文件名

  find /root -iname test

 

 

 

 3.使用*通配符来查找

  find /etc -name *init*

  /tmp下查找包含init的所有文件

 

  find /etc -name init*

  查找/etc目录下以init开头的文件

 

 

 

 

  若只记得文件的前几个字符,忘记了后面的字符可以使用问号(”?)来进行查询,假设该文件由5个字母组成,你只记得前面两个母,则可以把后面三个字符用问好表示进行查找即可哦

  find /etc -name init???

 

 4.按文件大小查找

  Linux中数据存储单位是数据块,一个数据块是512个字节,0.5K,若要按文件到小来查找,就要计算好你需要查找的文件在Linux中有多少个数据块。

  find 目录 -size +n/-n/n 文件到小(按数据块作为单位)

  +n:表述查找文件要大于n

  -n:表示查找文件要小于n

  -n:表示查找文件等于n,但这个很少用

  如:在/root下查找大于1MB的文件,

  则命令为:find /root -size +2048

 

 

如:在/root/test/Linda下查找小于1MB的文件

 

 

5.按文件所有者进行查找

  find / -user tangtang

  查找/目录下,用户为tangtang的文件

 

 

 

 

 

6.按文件所属组查找

  find / -group tangtang

  查找/目录下,所属组为tangtang的文件

 

 

按时间属性查找文件(-amin 文件访问时间,-cmin 文件属性修改时间,-mmin 文件内容更改时间)

7.按文件访问时间查找(a 是access)

find 文件 -amin 时间(+时间,-时间(单位分钟))

+时间:表示所查找该时间后访问的文件,如查找30分钟后访问的文件

-时间:表示查找在该时间内访问的文件,如查找五分钟内访问的文件

 

 

 

8.按文件属性修改的时间查找(文件大小,文件创建时间,所有者,所属组等)

  查找5分钟内被修改过属性的文件或目录(c 是change)

  find -cmin -5

 

 

9.按文件内容被修改的时间进行查找(m 是modify)

  参数:-mmin

  命令:find 目录 -mmin 时间

  查找20分钟内内容被修改过的文件

  find -mmin -20

 

 

  find /root/test -mmin -20

 

 

 

  小总结:* 可以匹配任意字符

  ? 匹配单个字符

  在参数-amin,-cmin-mmin+时间,表示超过多时间,-时间,表示在该时间之内进行查找。

 

10.使用连接参数-a/-o来查找文件

  -a : and,两个条件都满足

  -o : or,两个条件满足一个即可

  可以使用参数-a,-o搭配其他的参数来对文件查找

  例如:查找/etc下数据大小在2048~20480之间的文件

  find /etc -size +2048 -a -size -20480

 

 

  例如:查找所有者为唐唐,用户组为tangtang的文件

  find -user tangtang -group tangtang

 

 

11.按文件类型查找

  文件有三种类型:f 文件(filed 目录(directoryl 软链接文件(link

  find /root -type d

  查找/root目录下的目录

 

   find /root -type f

  查找/root目录下的文件(file

 

 

  find -type l

  查找软链接

 

 

12.对搜索的结果执行操作

  命令:查找结果 -exec 执行操作 {} \;

  {} : 可理解为占位符,放查找结果

  \ : 转义符

  ; : 表结束

  其中{} \ ;是固定格式

  举例:在/etc目录下查找init???并把该文件的属性信息显示出来

  find /etc -name inint??? -exec ls -ld {} \;

 

 

  补充对查找结果执行操作的参数-ok

  命令:查找结果 -ok 执行操作 {} \;

  -ok : 在执行操作时,会询问,是否进行该操作,而-exec直接执行,不询问。

 

 

 

 13.根据i节点查找

  若文件怎么删也删除不了,或者文件不知道什么时候创建的,名字还一片凌乱,可以查询该文件的i节点,对该文件进行删除,同时根据i 节点查找文件,还可以查询该分区下又有没有硬链接(硬链接不可以跨分区创建,且与原文件节点相同)

  ls -i 该文件名 或者ls -i 某目录下的文件  查看该文件的i节点

 

 

  既然可以查询该文件的i节点,那也就说你知道该文件位于哪里,我们可以直接查找i节点,就可以找到对应的文件的具体位置,还可以直接通过i 节点对文件进行删除操作,而不用知道文件的具体位置。

 

  

posted @ 2021-07-28 21:15  倾尽年华  阅读(1358)  评论(0编辑  收藏  举报