如何在不同的目录中创建 tar 存档?

如何在不同的目录中创建 tar 存档?

我想在不同的目录而不是当前目录中创建 tar 存档。

我尝试了这个命令:

tar czf file.tar.gz file1 -C /var/www/

但它会在当前目录中创建档案。为什么?

答案1

简单的方法,如果你不特别需要要使用-C告诉tar更改到其他目录,只需在命令行上指定存档的完整路径即可。然后,您可以在您喜欢的任何目录中创建您想要在存档中的目录结构。

以下将创建存档并从当前目录(无论发生什么)/var/www/file.tar.gz放入其中,没有存档内路径信息。file1

tar czf /var/www/file.tar.gz file1

当然,路径(到存档、组成文件或两者)也可以是相对的。如果file1位于/tmp,您位于/var/spool且想要在 中创建存档/var/www,则可以使用类似以下内容的内容:

tar czf ../www/file1.tar.gz /tmp/file1

该主题有一百万种变体,但这应该可以帮助您入门。v如果您想查看实际效果,请添加该标志tar

答案2

我想,应该是:
tar czf file.tar.gz -C /var/www/ file1

这对我有用。它告诉我们更改目录然后选择文件。

答案3

我将压缩数据转换为流 ( -) 并轻松地在我选择的任何位置重命名和定位 ( >) (我也始终使用tar相对路径 ( ./),因此解压缩时更容易处理)

tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar

答案4

工作完美

cd /home; tar -czvf - /var/log/* > varlog.tar.gz

相关内容