Skip to main content

find常用操作

逻辑运算:非

  • -not 或者 ! 表示非运算;

  • 示例

    查找当前目录下不是以".gz"结尾的文件:

    find . -maxdepth 1 -type f -and ! -name "*.gz" 

    查找当前目录下不是以".gz"和".log"结尾的文件:

    find . -maxdepth 1 -not \( -name "*.gz" -or -name "*.log" \)

搜索的目录深度

  • -maxdepth $ 表示根据 "$" 的值进行向下多少级的搜索;

    $ 的值为 1 表示只搜索当前目录,不包含子目录;

    $ 的值为 2 表示搜索当前目录和当前目录的一级子目录;

对搜索结果进行操作

  • 示例

    查找当前目录下大于3M的文件:

    find . -size +3000k -exec ls -ld {} \;

    将命令搜索的结果复制到另一个目录下:

    find *.c -exec cp '{}' /tmp ';'