我想在不同的目录而不是当前目录中创建 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