Linux中find指令详解

   find指令:

        Linux下find命令在目录结构中搜索文件,并执行指定的操作。 Linux下find命令提供了相当多的查找条件,功能很强大。由于 find具有强大的功能,所以它的选项也很多,其中大部分选项都值 得我们花时间来了解一下。即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台 执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指 30G字节以上的文件系统)。 

1.命令格式: find pathname -options [-print -exec -ok ...]

2.命令功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

3.命令参数: 

     -print: find命令将匹配的文件输出到标准输出。

      

    

   

     -exec: find命令对匹配的文件执行该参数所给出的shell命 令。相应命令的形式为'command' {  } \;,注意{   }和\;                    之间的空格。 
 

     


4.命令选项:(红色标注为多用或重点)

     -name   按照文件名查找文件。
 

        


     -perm   按照文件权限来查找文件。

     


    
 -prune  使用一选项可以使find命令不在当前指定的目录中查 找,如果同时用-depth选项,那么-prune将被find命令                  忽 略。

     -user   按照文件属主来查找文件。


     


     

     -group  按照文件所属的组来查找文件。

     



     -mtime -n +n  按照文件的更改时间来查找文件, - n表示文 件更改时间距现在n天以内,+ n表示文件更改时间距现                            在n天以 前。

     

    find命令还有-atime和-ctime 选项,但它们都和-m time 选项相同。


    
 -nogroup  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。


     -nouser   查找无有效属主的文件,即该文件的属主在/etc/ passwd中不存在。


     


     -newer file1 ! file2  查找更改时间比文件file1新但比文 件file2旧的文件。



     -type  查找某一类型的文件,诸如:
 

           b- 块设备文件。
 

           d - 目录。
 

           


           c - 字符设备文件。


           p - 管道文件。


           l - 符号链接文件。

           

    
     

             f - 普通文件。

           

            

       

     -size n:[c] 查找文件长度为块的文件,带有c时表示文件长 度以字节计。(1块=512字节)

          

                     -           -depth:在查找文件时,首先查找当前目录中的文件,然后再在其 子目录中查找。


    

    -fstype:查找位于某一类型文件系统中的文件,这些文件系统类 型通常可以在配置文件/etc/fstab中找到,该配置                     文件中包含了 本系统中有关文件系统的信息。


    -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备 中。 

    -mount:在查找文件时不跨越文件系统mount点。

    


  
  -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向 的文件。


    

   

    















  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`find` 命令是在 Linux 系统查找文件和目录的常用工具之一,它可以递归查找指定目录下符合条件的文件和目录。下面是 `find` 命令的详细用法说明: ```bash find [path] [expression] ``` 其,`path` 是指查找的目录路径,可以是绝对路径或相对路径。如果未指定 `path`,则默认为当前目录。 `expression` 是一个或多个由操作符和参数组成的表达式,用于指定查找条件和操作。下面是一些常用的操作符和参数: - `-name pattern`:查找文件名匹配 `pattern` 的文件,例如 `find /path -name "*.txt"` 将查找 `/path` 目录及其子目录下所有扩展名为 `.txt` 的文件。 - `-type type`:查找指定类型的文件,`type` 可以是以下之一:`f` 表示普通文件,`d` 表示目录,`l` 表示符号链接,`c` 表示字符设备,`b` 表示块设备,`p` 表示管道,`s` 表示套接字。 - `-mtime n`:查找最后修改时间在 `n` 天前的文件,例如 `find /path -mtime +7` 将查找 `/path` 目录及其子目录下最后修改时间在 7 天前的文件。 - `-size n`:查找文件大小为 `n` 块的文件,例如 `find /path -size +100M` 将查找 `/path` 目录及其子目录下文件大小大于 100 MB 的文件。 - `-exec command {} \;`:对查找到文件执行指定命令,例如 `find /path -name "*.txt" -exec cat {} \;` 将查找 `/path` 目录及其子目录下所有扩展名为 `.txt` 的文件,并输出文件内容。 这些参数可以组合使用,例如 `find /path -type f -name "*.txt" -mtime +7 -exec rm {} \;` 将查找 `/path` 目录及其子目录下最后修改时间在 7 天前的扩展名为 `.txt` 的文件,并删除它们。 除了这些参数外,`find` 命令还支持一些高级用法,例如 `-maxdepth`、`-mindepth`、`-prune`、`-print` 等,您可以通过 `man find` 命令查看更多用法和示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值