2020-05-23 15:27:05

一、语法格式

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

-name:根据文件名查找

-iname:根据文件名查找(忽略大小写)

-perm:根据文件权限查找

-user:根据文件属主查找

-group:根据文件属组查找

-mtime -n | +n :根据文件更改时间查找(-n:n天以内修改的文件、+n:n天以外修改的文件、n正好n天修改的文件)

-newer file1:查找更改时间比file1新的文件

-type:根据文件类型查找(f:文件、d:目录、l:链接文件)

-size -n +n:按照文件大小查找(-n:大小大于n的文件、+n:大小小于n的文件、n:大小等于n的文件)

下面是例子-------------------------------------------------------

根据名称查找

【Shell脚本】find命令_第1张图片

根据更改时间1天内查找

【Shell脚本】find命令_第2张图片

根据文件大小查找

【Shell脚本】find命令_第3张图片

扩展:生成一个指定大小的文件

# dd if=/dev/zero of=50M.file bs=1M count=50

参数if(input file)告诉dd从哪个文件读取数据,参数 of(output file)告诉dd读出的数据写入哪个文件中。
注意,对于dd来说,输入和输出都是文件,dd做的只是文件拷贝工作

【Shell脚本】find命令_第4张图片 

image.png

根据权限查找

【Shell脚本】find命令_第5张图片


二、对查找的结果进行操作

-print:打印输出

-exec:对搜索到的文件执行特定操作,格式为-exec 'command' {} \;

-ok:和exec功能一样,只是每次操作会给用户提示

-a:与(默认)

-o:或

-not|!:非

下面是例子---------------------

执行-exec删除操作

【Shell脚本】find命令_第6张图片