跳到主要内容

find命令 – 根据路径和条件搜索指定文件

find 命令是在 Unix 和类 Unix 操作系统中用于在文件系统中搜索文件和目录的强大工具。以下是一些常用的 find 命令示例:

  1. 基本搜索:查找当前目录下以 .txt 扩展名结尾的文件。

    find . -name "*.txt"
  2. 指定目录:在指定目录中查找文件。例如,在 /var/log 目录中查找以 .log 结尾的文件。

    find /var/log -name "*.log"
  3. 忽略大小写:忽略文件名的大小写,查找扩展名为 .jpg.JPG 的文件。

    find . -iname "*.jpg"
  4. 按文件类型:查找所有目录(文件夹)。

    find . -type d
  5. 按文件大小:查找大于 1MB 的文件。

    find . -type f -size +1M
  6. 按修改时间:查找在过去 7 天内修改过的文件。

    find . -type f -mtime -7
  7. 按访问时间:查找在过去 30 天内访问过的文件。

    find . -type f -atime -30
  8. 删除文件:查找并删除特定文件,如删除所有 .bak 文件。

    find . -name "*.bak" -exec rm {} \;
  9. 查找文件并执行命令:查找所有 .txt 文件并打印它们的路径。

    find . -name "*.txt" -exec echo {} \;
  10. 查找并排除目录:查找以 .log 结尾的文件,但排除 backup 目录。

    find . -name "*.log" -not -path "./backup/*"

这些示例演示了 find 命令的一些常见用法。find 命令非常灵活,你可以根据需要组合不同的选项来执行更复杂的文件搜索操作。了解 find 命令的强大功能可以帮助你更好地管理和搜索文件系统中的文件和目录。