Linux 常用命令之 Find——查找文件

语法

find [路径] [选项] [操作]

路径: 可以是相对路径,也可以是绝对路径; "." 表示当前目录,"/" 表示根目录

选项与含义

  1. -name : 文件名
  2. -perm : 文件权限
  3. -user : 文件属主
  4. -group : 文件属组
  5. -nouser : 无属主文件,即属主不存在于 /etc/passwd 中
  6. -nogroup : 无属组文件,即属组不存在于 /etc/groups 中
  7. -mtime -n +n : 文件更改时间,-n :距今n天之内;+n:距今n天之前
  8. -size n:[c] : 文件长度为 n块,带c参数时,表示长度以字节计算
  9. -depth : 先在当前目录中查找,再去子目录查找
  10. -type : 文件类型

文件类型包含

  1. b : 块设备
  2. d : 目录
  3. c : 字符设备文件
  4. p : 管道文件
  5. l : 符号链接文件
  6. f : 普通文件

操作

  1. -print : 结果输出到标准输出
  2. -exce : 执行shell命令;命令格式为: command {} \ ; 注意"{}" 与""之间有空格,同时""后面的分号也不能少
  3. -ok : 以更安全的交互形式执行shell命令,即执行shell命令前都要确认

示例:根据文件名或权限查找文件

Linux 常用命令之 Find——查找文件

Find命令根据名称、权限查找示例

说明:

目录为当前目录,用"."表示;

-name 'read_*' 表示按名称查找满足 'read_*' 通配符模式的文件;

-perm 740 表示权限查找中,属主有7,属组有4,其它用户有0权限的文件;

-print 表示输出结果到标准输出

示例:根据修改时间查找文件

Linux 常用命令之 Find——查找文件

Find命令根据修改时间查找示例结果

第一条命令为:距今3天之前的文件;第二条命令为:距今3天之内的文件;可使用 ll 或者 ls -l 查看文件时间;文件具体时间查看命令: stat filename

示例:查找到文件后执行相关的shell命令

Linux 常用命令之 Find——查找文件

Find命令查找到结果后执行Shell命令

说明: -exec 在添加Shell命令的时候,不支持别名命令,如果使用别名,则会把别名当成文件或目录

;参考上图中第二条命令的结果,返回的是一个错误提示


分享到:


相關文章: