当前位置: 首页 > 工具软件 > FindShell > 使用案例 >

shell find用法

谭鹏云
2023-12-01

find命令的一般格式:
    find pathname -options [-exec]
    pathname  是find命令所查找的目录路径
    -exec     对匹配的文件执行该参数所给出的shell命令   
-options 选项参数:
    -name 按照文件名查找文件
    -perm 按照文件权限来查找文件
    -user 按照文件属主来查找文件
    -group 按照文件所属组来查找文件
    -mtime -n +n 按照文件的更改时间来查找文件,-n 表示n天以内,+n 表示n天前
    -nogroup 查找无属组的文件
    -nouser 查找无属主的文件
    -type 查找某一类型的文件:
          b 块设备文件
          d 目录
          c 字符设备文件
          p 管道文件
          l 符号链接文件
          f 普通文件

   -iregex 忽略大小写的正则表达式
  -regex 正则表达式

1、使用-name选项
例(1)在当前目录及子目录下查找所有“.log”文件
     $find . -name “*.log”
    (2)在当前目录及子目录下查找所有以大写字母开头的文件
     $find . -name “[A-Z]*”
2、使用-perm选现
该选项用来查找那些指定权限的文件
例:查找当前目录及子目录下所有文件权限为755的文件
    $find . -perm 755
3、使用-mtime选项
按照文件的修改时间来查找
例:(1)在当前目录下查找1天内修改过的文件
      $find . -mtime -1
    (2)在当前目录中查找1天前修改过的文件
      $find . -mtime +1
4、使用exec来执行shell命令
格式要求:
-exec 选项后面跟随着所要执行的命令,然后是一对{}一个空格和一个/,最后是一个分号。
例:在用户主目录下查找修改时间在3天前的“.txt”文件并删除
    $find . -mtime +3 -name “*.txt” -exec rm {} /;
5、使用正则表达式
$find . -iregex ".*/.txt"
当前位置查找后缀为.txt的文件

 类似资料: