如何在 Linux 中压缩和 tar 文件夹 [关闭]

问题描述 投票:0回答:2

我是 Linux 的新手,我有一个名为

stacey
的文件夹。我怎样才能从中创建一个压缩的 tarball?

我可以用

tar -cvzf stacey.tar *
给文件夹加 tar。但是我可以同时添加 7zip,因为我有一个压缩的 tarball
stacey.tar.gz
吗?

linux command zip tar
2个回答
10
投票

制作当前目录的压缩包

tar -cvz -f path_to_the_archive_to_be_created .

例子:

[user@machine temp]$ tar -cvz -f ~/dir1/temp.tar.gz .

当前目录(temp)被归档到

~/dir1/temp.tar.gz

制作远程目录的压缩包

tar -cvz -f path_to_the_archive_to_be_created -C path_to_the_remote_directory .

例子:

[user@machine ~]$ tar -cvz -f ~/dir1/temp.tar.gz -C ~/temp .

目录 ~/temp 被归档到

~/dir1/temp.tar.gz
.


-c, --create  create a new archive
-v, --verbose  verbosely list files processed
-z, --gzip, --gunzip, --ungzip  filter the archive through gzip
-f, --file=ARCHIVE  use archive file or device ARCHIVE
-C, --directory=DIR  change to directory DIR

2
投票

-z
命令上传递
tar
将 gzip 文件,因此您应该将文件命名为
stacey.tar.gz
(或
stacey.tgz
),而不是
stacey.tar
:

tar -cvzf stacey.tar.gz *

如果你想 7zip 文件(而不是 Gzip),删除

-z
,保留
stacey.tar
,并在
7z stacey.tar
命令完成后运行
tar

tar -cvf stacey.tar *
7z a stacey.tar.7z stacey.tar

或者您可以使用管道一步完成:

tar -cvf - * | 7z a -si stacey.tar.7z

7zip 更像

tar
,因为它在存档中保留文件索引。你实际上可以完全跳过
tar
步骤,只使用7zip:

7z a stacey.7z *
© www.soinside.com 2019 - 2024. All rights reserved.