linux下find命令详解
**find:根据表达式在指定的⽬录下⾯查符合条件的⽂件**
⽤法:find[path][options]
options(选项):
-name  pattern  根据名字查⽂件,可以使⽤通配符
默认不是正则表达式,使⽤shell的通配符
*  代表0个或者任意多个字符
代表任意⼀个字符
如:在当前⽬录(以及⽬录下⾯的⽬录)下查名字以.c结尾的所有⽂件
find ./ -name  '*.c'
-regex pattern  根据名字查⽂件,以正则表达式的⽅式指定名字,路径也包含在名字⾥⾯。
-
type  b|c|d|p|l|s|f 根据⽂件类型查⽂件
find查命令的使用
b block 块设备⽂件
c char 字符设备⽂件
d directory ⽬录⽂件
p pipe 管道⽂件
l link 连接⽂件
s socket 套接字⽂件
f regular file 普通⽂件
如:在当前⽬录(以及⽬录下⾯的⽬录)下查所有的链接⽂件
find ./ -type l
-size  n[c|w|b|K|M|G]
c: 单位是字节
w:word 字,两个字节就是⼀个字
b:block 块 1b = 512字节
K:1k=1024c
如:查⽂件⼤⼩是5个字节的
-size 5c
-perm mode  根据⽂件的权限查
-mode  要求待匹配的⽂件权限包含指定的权限
如:待查的⽂件的权限必须包括0664
-perm -0664
- newer file
查⽐⽂件file新的⽂件
待查的⽂件修改时间必须在file的后⾯
-delete
删除到的⽂件
如:删除到当前⽬录下的⽂件名为4.c的⽂件
find ./ -name '4.c' -delete
-exec command {} \;
每到⼀个⽂件,就执⾏⼀次command命令
{} 代表到的⽂件的⽂件名
如:每到⼀个c⽂件,就执⾏⼀次ls-l命令。
find ./ -name '*.c' -exec ls -l {} \;
-
exec command {} +;
所有⽂件查完毕后,再去执⾏command表⽰的命令  {} + 代表所有到的⽂件名列表
find ./ -name '*.c' -exec ls -l {} +;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。