文章目录
find命令详解
1.find命令基本语法
find pathname -options [ -print -exec -ok ...]
pathname #是find命令所查找的目录路径,例如.表示当前目录,/表示根目录
-print #表示find命令将匹配的文件输出到标准输出中
-exec #表示find命令对匹配的文件执行该参数给出的shell命令。相应命令的形式为 ‘cmd’ {} \;
-ok #它的作用和-exec一样,只是需要用户交互,更安全
2.find命令的选项
-name #按照文件名查找文件
-perm #按照权限查找文件
-prune #使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
-user #按照文件属主来查找文件
-group #按照文件数组来查找文件
-mtime -n +n #按照文件的更改时间来查找文件
-n 表示从此刻算起,文件的更改是在n天以内
+n 表示文件的更改时间是在n天以前
find命令还有-atime和-ctime选项,和-mtime选项的时间规定类似
-nogroup #查找无有效属组的文件,即该文件所属的组在/etc/groups中不存在
-nouser #查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
-newer file1 ! file2 #查找更改时间比file1新但比file2旧的文件
-type
b:表示块设备文件 block
d:表示目录 directory
c:表示字符设备文件 char
p:表示管道文件 pipe
l:表示符号链接文件 link
f:表示普通文件 file
-depth #在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
-fstype #表示查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息
-mount #表示在查找文件时不跨越文件系统的mount点
-follow #表示如果find命令遇到符号链接文件,就跟踪至链接所指向的文件
-cpio #表示对匹配的文件使用cpio命令,将这些文件备份至磁带设备中
3.find实际案例
1、在logs目录下查找更改时间在5日以前的文件并删除它们