find进阶用法

Linux环境最常用的命令之一是find,这里把一些稍微进阶的用法整理一下

命令格式

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

高级功能

查找文件后执行命令,其中command是执行的命令,比如ls -l{}会被查找到的文件替换,一般使用转义符号保护,避免被shell扩展,最后以\;结尾(注意有一个空格)

- exec command \{\} \;

常用场景

  • 找到大于100M的日志文件,并删除
find . -size +100M -and -name "*.log" | xargs rm -f
或者
find . -size +100M -and -name "*.log" -exec rm -f \{\} \;
  • 删除一周前的日志文件
find . -mtime +7 -and -name "*.log" -exec rm -f \{\} \;
  • 查找war和jar文件
find . -name "*.war" -o -name "*.jar"
  • 移动一周前的日志到另外一个目录
find . -mtime +7 -and -name "*.log" -exec mv {} ../backup/ \;

Linux命令进阶用法系列

  • grep进阶用法

参考

  • find命令

你可能感兴趣的:(find进阶用法)