linux查找最近7天修改的文件压缩

一:查询最近7天修改的java文件

 find ./ -name "*.java" -mtime -7

二:将查询结果打包

find ./ -name "*.java" -mtime -7 -exec zip /tmp/1001java.zip {} +

find ./ -name "*.java" -mtime -7 -print0 | tar -czvf /tmp/1001java.tar.gz --null -T -

这个命令在 /tmp/ 目录下创建一个名为 1001java.tar.gz 的压缩文件,并将搜索到的最近7天内修改过的所有Java文件添加到该压缩文件中。

  • find 命令用于查找最近7天内修改过的所有Java文件,并使用 -print0 参数将文件名以 null 字符(’\0’)的形式输出。
  • tar 命令使用 -czvf 参数将文件打包为 .tar.gz 格式的压缩文件。
  • --null 参数用于在使用-T 参数从标准输入中读取文件名时,将 null 字符作为文件名的分隔符。
  • -T - 参数用于从标准输入中读取文件名,这里使用 - 表示将 find 命令输出的文件名传递给 tar 命令。

你可以根据需要调整压缩文件的路径和名称。

 

find ./ -name "*.java" -mtime -7 -exec tar -czvf /tmp/1001java.tar.gz {} +

这个命令会将最近7天内修改过的所有Java文件打包并压缩成名为 1001java.tar.gz 的压缩文件,保存在 /tmp/ 目录下。

  • find 命令的 -exec 选项用于找到匹配的文件后,直接将文件名传递给后面的 tar 命令。
  • tar 命令的 -c 参数表示创建新的压缩文件,-z 参数表示以 gzip 格式压缩文件,-v 参数用于显示压缩过程的详细信息,-f 参数用于指定要创建的压缩文件的名称。
  • {} + 是 find -exec 选项的一种写法,表示将多个文件名一次性传递给 tar 命令以进行打包和压缩。

使用这个简化后的命令,你可以直接打包和压缩最近7天修改过的所有Java文件,无需先使用 find 命令获取文件列表再传递给 tar 命令。

三:解压缩文件

tar -xzvf 1001java.tar.gz
find / -type f -size +100M -exec du -sh {} \;


find /usr/local/project/ -type f -name "*.jar" | xargs rm -rf

 

发表评论

邮箱地址不会被公开。