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 ';'