find命令用来在指定目录下查找文件
先介绍一下linux的文件类型
f 普通文件
d 目录文件
l 软连接文件
c 字符文件
b 块文件
s 套接字文件
linux对文件后缀没有特殊规定,通过ls -l 命令看第一个字母来确定文件类型
如下图,查找目录类型的文件
./表示 在当前路径下
-type 类型选项
d 目录文件
1. 按文件名进行查找
选项
-name
-iname 忽略大小写
-iname 忽略大小写进行查找,如下图
加! 表示相反的操作
2.按文件类型查找
这里我们查找软连接文件
3. 按大小查找
大小的单位
b 块
c 字节
w 字
k
m
g
指定大小 小于5字节
4. 按深度查询(递归)
5. 按时间搜索
atime 访问时间
mtime 修改时间
ctime 变化时间
用分钟作为单位就可以用选项
-amin
-mmin
-cmin
6.修改查找出来的文件权限
find ./ -iname 'a.*' -perm 0777
7. 执行相应操作
删除 查找到的文件
find ./ -iname 'a.*' -perm 0777 -delete
修改文件权限
可以利用-exec选项结合其他命令对文件进行更高效的操作,更改文件的所属权,复制文件等,find命令使用一对花括号{}代表文件名,对于每一个匹配到的文件,
find命令会将{}替换成相应的文件名; 如果-exec的命令有多个参数时,需要注意结尾使用 " ; " 或者 “+”,前者表示进行转义,不然系统会以为是find命令的结尾。
8.跳过某些目录
使用-prune选项可以跳过我们在搜寻的的一些明显我们不需要的目录
跳过了./test1目录
需要指出的是:选项出现的先后次序我们也应该考虑到内,因为它会影响到整条命令的执行效率。 提示:本文需要掌握关于ls(list),
chown(changeowner)等命令,以及关于Linux/Unix文件系统文件类型和文件权限等知识。