Linux的文件找工具find的小秘密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的文件找工具find的小秘密相关的知识,希望对你有一定的参考价值。
文件查找工具:
文件:根据文件的种属性去找到相应文件
find命令:通过遍历指定的目标目录,实时查找符合指定属性的文件;
精确匹配;速度略慢;
find [OPTIONS] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前路径;
查找条件:默认为指定路径下的所有文件;
处理动作:默认为打印至屏幕;
查找条件:
-name "文件名":文件名支持使用globbing
*, ?, [], [^]
# find /etc -name "passwd*"
-iname "文件名"
-user USERNAME: 根据属主查找
-group USERNAME: 根据属组查找
-uid UID: 根据指定UID查找;
-gid GID: 根据指定GID查找;
-nouser: 查找没有属主的文件;
-nogroup:查找没有属组的文件;
组合查找条件:
与:-a, 查找条件1 -a 查找条件2 -a ...
所有条件必须同时满足
或:-o, 查找条件1 -o 查找条件2 -o ...
满足其中一个条件即可
非:-not, !
-not 查找条件
# find /tmp -nouser -a -name "*centos*" -ls
# find /tmp -not \( -name "*.txt" -o -name "*.out" \)
# find /tmp -not -name "*.txt" -a -not -name "*.out"
查找条件(2)
-type TYPE: 根据文件类型查找
f: 普通文件
d: 目录文件
l: 符号链接文件
b: 块设备
c: 字符设备文件
p: 命令名管道文件
s: 套接字文件
-size [+|-]#UNIT:
常用单位有:k, M, G
#UNIT: #-1 < x <= #
2k:1.8k, 1.9k, 1.1k
-#UNIT:x <= #-1
-2k: 1k, 0.9k
+#UNIT: x > #
+2k: 2.1k, 3.1k
根据时间戳查找:
以“天”为单位
-atime [+|-]#
#: #= < x < #+1
-#: x < #
+#: x >= #+1
-mtime [+|-]#
-ctime [+|-]#
以“分钟”为单位
-amin [+|-]#
-mmin
-cmin
根据权限查找:
-perm [+|-]MODE
MODE: 与MODE精确匹配
+MODE:任何一类用户的权限只要能包含对其指定的任何一位权限即可;
-MODE:每一类用户的权限都包含对其指定的所有权限;
-222,666,664
处理动作:
-print: 默认动作,打印至屏幕;
-ls: 显示找到的文件的详细属性;
-exec COMMAND {} \;
-ok COMMAND {} \;
注意:find命令会一次性找到所有符合条件的文件,并一同传递给后面的命令;但有些命令不能接受过长的参数;解决办法:
find | xargs COMMAND
本文出自 “11284919” 博客,请务必保留此出处http://11294919.blog.51cto.com/11284919/1755554
以上是关于Linux的文件找工具find的小秘密的主要内容,如果未能解决你的问题,请参考以下文章