Linux文件查找find方法

find查找简介:

find:是以文件名称,后缀名,文件相关用户,文件大小,文件类型,文件访问,修改等时间等去查询文件,但不包括以文件的内容去查询,(grep可以以内容的方式查找)。

1·在指定路径下(当不指定路径时,默认在当前路径下查找),按照文件的后缀名进行查找,从当前路径一直向下遍历到满足条件的叶子节点层。

语法格式:

find -name "*.后缀名"

eg:查找以.txt结尾的文件

find  -name "*.txt"

2·在查询1的情况下,不区分文件名大小写

语法格式:

find -iname ”*.后缀名“

eg:查找以.txt结尾的文件,不区分大小写

find  -iname "*.txt"

3·A把查询到的结果执行指定操作

语法格式:

find  -iname "*.后缀名“ -exec 指定操作 {}  \; 

B 把查询到的结果执行指定操作之前进行会进行询问 的语法格式:

find -iname ”*.后缀名“ -ok rm -f {} \;

eg1:把查询到的文件展示出来:

find  -iname "*.txt“ -exec ls  -lh  {}  \;

eg2:把查询到的文件删除

find  -iname "*.txt“ -exec rm  -f  {}  \; 

4· 按照文件的类型进行查找(当不指定路径时,默认在当前路径下查找)。
文件类型:普通文件  f,目录文件  d,链接文件  l,设备文件  s。

语法格式:

find -type 文件类型

 eg1:查找普通文件

find -type f

eg2:把查询到的软连接文件删除 

find -type l exec rm -f {} \;

5·按照指定权限进行查找文件 

语法格式:

find -perm 权限编码

eg:查找权限为666的文件

find -perm 666 

6·按照文件的所属用户进行查找

语法格式:

find -user  文件所属用户

eg:查找root用户的 文件

find  -user root

7·按照文件的所属组进行查找

语法格式:

find -group 文件的所属组

eg: 查找test组的文件

find -group test

8.按照文件的修改时间(atime,mtime,ctime ,amin,mmin,cmin 。 access访问 modify修改时间  change变化时间 )进行查找。

A· 查询n天以内查询访问过的文件,mtime,ctime同理

语法格式:

find -atime -n  

eg:查询一天以内文件被访问过时间

find -atime -1

B· 查询n天前查询访问过的文件,mtime,ctime同理

语法格式:

 find -atime +n  

 eg1:查询一天前文件被访问过的时间

find -atime +1

 C· 查询n分钟以内文件被访问过的时间,mmin,cmin同理

语法格式:

find -amin -n

eg:查询home目录下,1分钟以内文件被访问过的时间

find /home  -amin -1

9.按照文件的大小进行查找,查找文件大小的单位:k,M,G


//查找文件大于1MB的文件
find  -size +1M =find  -size 1M (默认1MB以内)
//查找文件小于1MB的文件
find  -size -1M
//查找文件小于1kB的文件
find  -size -1k
//查找文件小于1kB的文件
find  -size -1G

10.按照文件的深度层次来进行查找(从最深处开始查找一直遍历到当前目录

A.将指定路径作为第一层,向下遍历到最深处,来查找每一层满足指定条件的文件
   语法格式:
   find -depth -iname "*.txt" 
B.将指定路径作为第一层,向下遍历到第n层,来查找每一层满足指定条件的文件
   语法格式:
   find -maxdepth  n -iname "*.txt" 
C.将指定路径作为第一层,从第n层开始向下遍历到最深处,来查找每一层满足指定条件的文件
   语法格式:
   find -mindepth  n -iname "*.txt" 

eg:

      查找文件最深处的普通文件
      find -depth -type f  -exec tree -L 2 {} \;  
      从第2层以后开始遍历查找普通文件  
      find -mindepth 2 -type f 
      查找文件最深处的txt为后缀名的文件
      find -depth -type f  -iname "*.txt"
      从当前目录开始遍历到第2层查找普通文件  
      find -maxdepth 2 -type f 

 补充:

以树结构来展示文件,需要安装tree包
语法格式:
yum install tree
用tree展示第一层的文件:
tree -L 1
用ll展示指定目录文件:
ll  ./a/b/c

 11.将多个条件按照指定逻辑组合在一起进行文件查找.
逻辑组合有:
                  -a:and,表示多个条件同时满足
                  -o:or,表示多个条件只要一个满足即可

 eg:

    //查找普通文件或者以txt后缀名的文件
    find -type f -o -iname "*.txt"
    //查找普通文件并且以txt后缀名的文件
    find -type f -a -iname "*.txt"
   //从当前目录开始遍历到第1层查找普通文件并且文件大小小于1MB 
    find  / -maxdepth 1-type f -a  -size -1M  
    //从当前目录开始遍历到第1层查找普通文件或者文件大小小于1MB 
    find  / -maxdepth 1-type l -o  -size -1k

 12.A 按照文件名查找

语法格式:

find -name "文件名*"

eg:查找文件名为a的文件

find -name "a.*" 

B·按照指定位置满足指定字符进行查找

语法格式:

find -iname"[a-z}[0-9].*“

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值