Wetts's blog

Stay Hungry, Stay Foolish.

0%

Linux-命令-find

find是linux 命令,它将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。

用法:find path -option [ -print ] [ -exec -ok command ] {} \;

使用说明:

  • -exec:对搜索的结构指令指定的shell命令。注意格式要正确:”-exec 命令 {} ;“。注意“{}” 与;之间有空格。
  • -mount,-xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
  • -amin -n : 在最近的 n 分钟内被读取过
  • -amin +n : 在 n 分钟之前被读取过
  • -anewer file : 比档案 file 更晚被读取过的档案
  • -atime -n : 在最近的 n 天内读取过的档案
  • -atime +n : 在 n 天前读取过的档案
  • -cmin -n : 在最近的 n 分钟内被修改过
  • -cmin +n : 在 n 分钟前被修改过
  • -cnewer file :比档案 file 更新的档案
  • -ctime -n : 在最近的 n 天内修改过的档案
  • -ctime +n : 在 n 天前修改过的档案
  • -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
  • -ipath p,-path p : 路径名称符合 p 的档案,ipath 会忽略大小写
  • -name name,-iname name : 档案名称符合 name 的档案。iname 会忽略大小写
  • -size n[cwbkMG] : 档案大小 为 n 个由后缀决定的数据块。其中后缀含义为:
    • b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
    • c: 表示字节数
    • k: 表示 kilo bytes (1024字节)
    • w: 字 (2字节)
    • M:兆字节(1048576字节)
    • G: 千兆字节 (1073741824字节)
  • -type c : 档案类型是 c 的档案。
    • d: 目录
    • c: 字型装置档案
    • b: 区块装置档案
    • p: 具名贮列
    • f: 一般档案
    • l: 符号连结
    • s: socket
  • -pid n : process id 是 n 的档案

-depth参数

参数-depth 的意思是:在处理目录以前首先处理目录下的子内容。

也即是说在不加-depth的时候,处理顺序是首先处理目录本身,然后处理目录下的子内容。加不加-depth参数,会影响输出结构的输出顺序。


find 路径 -name 文件名 2>/dev/null: 过滤掉没有查看权限的文件