find

1.根据文件名搜索文件

  • 在相对路径搜索

    find . -name "*someString*"
  • 在绝对路径搜索

    find / -name "*someString*"

2.根据拥有者搜索文件

   find . -user [username]

3.根据用户组搜索文件

   find . -group [groupname]

4.根据文件大小搜索文件

后缀

含义

b

512字节块(默认值)

c

字节(Byte)

k

千字节(KB)

M

兆字节(MB)

G

吉字节(GB)

例如,在当前相对路径搜索大于10M的文件:

   find . -size +10M

5.根据文件类型搜索文件

文件类型字符

含义

f

普通文件

d

目录

l

符号(软)链接

b

块文件

c

字符文件

p

FIFO文件

s

套接字

例如,在path路径查找目录:

   find [path] -type d

6.当表达式均为 true 时显示结果( AND )

例如,在当前路径查找pdf文件:

   find . -name "*pdf" -a -type f

7.当表达式中只有一个为 true 时就显示结果( OR )

例如,在当前路径查找大于或等于10M的文件:

   find . -size +10M -o -size 10M

8.当表达式为 not true 时显示结果( NOT )

例如,在当前路径查找非pdf的文件:

   find . ! -name "*pdf"

9.对搜索到的每个文件执行命令

例1,MP3文件重命名为mp3:

   find . -name "*mp3" -exec rename 's/MP3/mp3/g' {} \;
  • -exec rename 表示重命名

  • s/old/new/g [ s 代表substitute(代表), g 代表global(目标)]

  • {} 符号代表找到的每个文件,

  • 对分号(;)进行转义以作为命令的结束

10.将搜索结果打印到文件

   find . -name "*mp3" -fprint results.txt

Last updated