find 命令速查表 · AIToolNode
find 命令速查表按名称、类型、时间、大小和权限查找文件并对其操作的 find 表达式。shell 里的瑞士军刀。
打印 / 另存为 PDF表达式表达式查找或操作-name '*.js'按名称用通配匹配(记得加引号)复制-iname '*.js'按名称匹配,忽略大小写复制-type f / -type d普通文件 / 目录复制-mtime -7最近 7 天内修改过复制-size +10M大于 10 MB复制-maxdepth N限制递归深度复制-empty空文件或空目录复制-perm 644匹配精确的权限位复制-delete删除匹配项复制-exec cmd {} \;对每个匹配各执行一次 cmd复制-exec cmd {} +对成批匹配执行 cmd(更快)复制常见问题Linux 的 find 命令是做什么用的?find 会遍历目录树,定位符合你组合的测试条件的文件:名称、类型、修改时间、大小、深度和权限。找到匹配项后,可用 -delete、-exec 或管道传给 xargs 对其执行操作。它是 shell 中搜索和批量处理文件的主力工具。如何用 find 查找并删除超过 7 天的文件?使用 find /path -type f -mtime +7 -delete。-mtime +7 匹配数据修改时间在 7 天之前的文件,-delete 将其删除。由于删除不可恢复,建议先去掉 -delete 运行一次以预览匹配结果。-exec cmd {} \; 和 -exec cmd {} + 有什么区别?\; 形式对每个匹配项各运行一次命令,每次都启动新进程。+ 形式则把尽量多的匹配项拼到一条命令行上分批运行,处理上千个文件时快得多。当命令能接受多个参数时,应优先使用 +。应该用 find -delete 还是用管道传给 xargs rm?优先用 find -delete:它是内置的,内部分批删除,对含特殊字符的文件名也安全。管道传给 xargs rm 时遇到空格或换行可能出错,除非使用 find -print0 | xargs -0 rm。只有当你需要并行(-P)或 find 无法直接运行的命令时才用 xargs。find 中 -name 和 -iname 有什么区别?-name 以区分大小写的方式用 glob 模式匹配文件名,因此 -name '*.JS' 不会匹配 file.js。-iname 执行同样的匹配但忽略大小写,.JS 和 .js 都能匹配。务必给模式加引号,让 shell 把它交给 find,而不是先行展开。如何限制 find 的搜索深度?用 -maxdepth N 阻止递归到 N 层以下;-maxdepth 1 只搜索指定目录本身。可搭配 -mindepth 跳过顶层。把 -maxdepth 放在其他测试之前,让 find 在下降时即应用它,而非事后处理。更多速查表curl 选项速查表Git 命令速查表Linux 文件权限(chmod)速查表Linux 信号速查表Bash / readline 快捷键速查表Bash 参数展开速查表其他语言版本EnglishTürkçeEspañolFrançaisDeutsch日本語Русский한국어Português (Brasil)हिन्दीBahasa IndonesiaItaliano相关工具正则测试继续探索工具工具链术语表博客
广东过年吃什么?12种春节必备美食,看看你家有几个?
二维码制作情书教程,二维码制作情书生成技巧