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

Omi*_*mid 48 tar

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

我试过这个命令:

tar czf file.tar.gz file1 -C /var/www/
Run Code Online (Sandbox Code Playgroud)

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

use*_*ser 59

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

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

tar czf /var/www/file.tar.gz file1
Run Code Online (Sandbox Code Playgroud)

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

tar czf ../www/file1.tar.gz /tmp/file1
Run Code Online (Sandbox Code Playgroud)

主题有上百万种变化,但这应该可以帮助您入门。v如果您想查看tar实际执行的操作,请添加该标志。


小智 10

我将压缩数据转换为流 (-) 并轻松地重命名和定位 (>),无论我选择何处(此外,我总是将相对路径 (./) tar 化,以便在解压缩时更容易处理)

tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
Run Code Online (Sandbox Code Playgroud)


use*_*152 8

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

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