查找命令和 tar

查找命令和 tar
find /informatica/dev/SrcFiles* -mtime +7 -and -size +1M -exec tar -cvjf>

所以我运行了这个命令,但运行完成后我找不到该文件(可能是因为我从未命名过它?)。该目录包含数千个文件。

我应该把我想要的名称放在哪里.tar

有谁知道 tar 文件在哪里制作和放置,或者我运行它后它的名字是什么?

答案1

find /informatica/dev/SrcFiles* -mtime +7 -and -size +1M -exec tar rvf file.tar {} \;

file.tar你的存档名称在哪里。如果您使用该选项ctar它将创造每个文件都有一个新的存档,覆盖前一个文件。如果你使用的话r,它会附加到以前的存档。

答案2

您应该通过发出以下命令来参考 tar 手册页:

man tar

对于您的具体问题,这里有一个很好的示例来说明如何做到这一点:

 find /informatica/dev/SrcFiles* -print0 -mtime +7 -and -size +1M | xargs -0 tar cjvf /mydir/mytarfile.tar.bz2

这样,tar 命令将仅被调用一次,而不是每次找到文件时都被调用。注意-print0-0参数。这将避免分词...

另外,您应该确保存档没有放置在同一目录中,而其名称可能会出现在搜索模式中。您将收到一条错误消息,提示您无法将存档添加到自身!

答案3

我建议使用星号,因为星号带有内置查找功能。这可以实现使用单独的 find 命令无法实现的功能。

相关内容