find命令:实时查找工具,通过遍历指定起始路径下的文件系统层级结构
使用方式:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
根据文件名查找
-name 文件名:根据指定文件名进行查找
根据文件从属关系查找
-user 指定属主:根据文件属主查找
-group 指定属组:根据文件属组查找
-uid UID:根据属主UID查找
-gid GID:根据属组GID查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
根据文件类型查找
-type *
f:普通文件
d:目录文件
i:符号链接文件
b:块设备文件
c:字符设备文件
p:管道文件
s:套接字文件
组和测试:
-a:与,相当于&
-o:或,相当于|
-not: 非相当于!
根据文件大小查找:
-size[+|-]#UNIT
查找/etc中大于1M的文件 并且为普通文件的所有文件并且查看
find /etc -size +1M -a -type f -ls
查找/etc中小于1M的文件 并且为普通文件的所有文件并且查看
find /etc -size -1M -a -type f -ls
根据时间查找
-atime[+|-] 以天为单位的 最近访问时间
-mtime[+|-] 最近更改时间
-ctime[+|-] 最近改动时间
-amin[+|-] 以分为单位 同上
-mmin 同上
-cmin 同上
根据权限查找
-perm[/|-]mode
/:任意一个用户满足条件即为满足
-:满足指定的权限即为满足
支持八进制权限位
处理动作:
-ls:相当于ls -l(把查找到的文件输出为长格式)
-ok 命令 {} \ :把查找到的文件按照指定的命令做出相应的动作某些操作需要用户每次手动确认
-exec 命令 {} \:把查找到的文件按照指定的命令做出相应的动作某些命令不需要用户每次手动确认
find | xargs 管道给下一个命令进行操纵。(由于有一些命令不支持过长的参数所以用这个可以躲避这样的问题)
-fls 文件路径:将查找到的文件保存到指定的路径上。