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
你的存档名称在哪里。如果您使用该选项c
,tar
它将创造每个文件都有一个新的存档,覆盖前一个文件。如果你使用的话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 命令无法实现的功能。