版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37933685/article/details/86360983
find命令主要用于文件搜索,它的功能非常强大,可以根据不同的标准搜索任何文件,可以在任何位置进行检索
find /usr -name '*.txt' -print
# -i 选项不分大小写
find /usr -iname '*.txt' -print
# 使用通配符寻找多个 类型文件名
find /usr/include \(-iname '*.c' -o -name "*.x" \) -print
# 找文件夹 用 -path 选项 会把路径 符合规则的全部取出
find /usr/include -path "X*" -print # 以X 开头的文件名字
# 启用正则表达式 -regextype "posix-egrep" -regex
find /usr/include -regextype "posix-egrep" -regex '.*(\.c|\.x)$' -print # 搜索以.c 或者 .x 结尾的文件
# 使用 !过滤掉符合规则的文件
find /usr/find ! -iname "*.h" -print
# f 是所有文件 d 是所有目录
find /usr/include -type f -print
# -maxdepth 1 指定递归深度为当前一层
find /usr/include -maxdepth 1 -type f -print
# -mindepth 2 指定最低深度为 第二层
find /usr/include -mindepth 2 -type f -print
# -atime 访问时间 7与系统时间相比大于等于7天 -7 与系统时间比小于7天 +7与系统时间币大于7天
find /usr/include -type f -atime -7 -print
# -mtime 修改时间
find /usr/include -type f -mtime -7 -print
# -ctime 元数据修改时间,比如权限,拥有者等被修改
find /usr/include -type f -ctime -7 -print
# 以分钟为单位
find /urs/include -type f -amin -7 -print
# 比某一文件 时间更 新 -newer
find /usr/include -newer out.txt -type f -print
# -size 指定大小 + 表示大于 - 表示小于 不填默认大于等于
find /usr/include -type f -size +2k -print
find /usr/include -type f -size +2M -print
find /usr/include -type f -size +2G -print
上面的 -print 操作都是打印匹配的文件路径,删除就是 -delete 当然还有其他操作,比如将匹配的文件复制到指定文件路径下,使用
-exec cp {} ./temp;
参数
find . -type f -size -2k -delete
# -exec XXXX \;是执行其他操作 以分号结束 {}代表匹配到每一条记录
find . -type f -size -2k -exec cp {} ./temp/
# 使用 -prune 跳过 指定路径
find / -path "/root" -prune -o -type d -print
# 使用-perm 指定文件权限 匹配
find . -type f -name "*.c" -perm 644 -print
# 使用否定参数 联合使用
find . -type f -name "*.c" ! -perm 644 -print