find命令是用来在给定的目录下查找符合给定条件的文件
find [OPTIONS] [查找起始路径] [查找条件] [处理动作]
基本参数说明:
基本用法:fifind 路径 选项
-type #根据文件类型 find /var/log -type f -name "*.log" ;find /var/log -type d
-name #根据文件名 find /var/log -type f -name "*.log"
-perm #根据文件权限 find /var/log -perm 600 -type f -name "*.log"
-user #根据文件所属主 find /var/log -user XD
主要的文件类型:
f #普通文件
d #目录
b #块设备
s #套接字
c #字符设备
l #链接
p #管
按照全局搜索
find / -iname *.log
find / -type d -name test 查找名称为test的所有目录
find -type f -name test.log当前目录查找名为test.log的所有log文件
find -type f -name '*.log' 查找当前目录中所有log文件
根据权限查找:
查找权限为777的所有文件:find -type f -perm 777 -print
查找权限为777的所有文件:find -type f ! -perm 777 -print
查找有特殊权限2755的SGID文件:find -perm 2755
如果要查找文件就的f修改为 d既可
按照时间来查询
atime(文件的最后访问时间)
find /usr/local/man/man3/ -ctime -2 -type f -print 查看近两天最后访问的文件
mtime(文件的最后修改时间)
find /usr/local/man/man3/ -mtime -1 -type f -print 查看近一天修改的文件
find /usr/local/man/man3/ -mtime -1 -type f -print 查看一天前修改的文件
ctime(文件最后改变时间显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等)
find /usr/local/man/man3/ -ctime -1 -type f -print
find /var/log -type f -name "*.log" -exec cp -a {} /home/test \;
查找/var/log下面的*.log文件 ,找到后并复制到 /home/test目录下
find /var/ log -type f -name "*.log" -exec wc -l {} \;
; #可以执行多条命令
\ #转义符,转义;使得这条命令结束
{}#把find命令匹配到的每一次结果传递给{}
-exec #执行
当然还可以用文件大小来查看之类的。