如何在 Linux 中压缩和 tar 文件夹

Sta*_*cey 11 linux zip command tar

我是 Linux 新手,我有一个名为stacey. 我怎样才能从中创建一个压缩的 tarball?

我可以用 tar 压缩该文件夹tar -cvzf stacey.tar *。但是我可以同时添加 7zip,这样我就有一个名为 的压缩 tarball 吗stacey.tar.gz

use*_*598 11

制作当前目录的压缩 tar 球

tar -cvz -f path_to_the_archive_to_be_created .
Run Code Online (Sandbox Code Playgroud)

例子:

[user@machine temp]$ tar -cvz -f ~/dir1/temp.tar.gz .
Run Code Online (Sandbox Code Playgroud)

当前目录(temp)被归档到~/dir1/temp.tar.gz

制作远程目录的压缩 tar 球

tar -cvz -f path_to_the_archive_to_be_created -C path_to_the_remote_directory .
Run Code Online (Sandbox Code Playgroud)

例子:

[user@machine ~]$ tar -cvz -f ~/dir1/temp.tar.gz -C ~/temp .
Run Code Online (Sandbox Code Playgroud)

目录 ~/temp 被归档到~/dir1/temp.tar.gz.


tar -cvz -f path_to_the_archive_to_be_created .
Run Code Online (Sandbox Code Playgroud)


mwp*_*mwp 2

传递-z命令tar将对文件进行 gzip 压缩,因此您应该命名您的文件stacey.tar.gz(或stacey.tgz),而不是stacey.tar

tar -cvzf stacey.tar.gz *
Run Code Online (Sandbox Code Playgroud)

如果您想对文件进行 7zip(而不是 Gzip),请删除-z、保留stacey.tar7z stacey.tartar命令完成后运行:

tar -cvf stacey.tar *
7z a stacey.tar.7z stacey.tar
Run Code Online (Sandbox Code Playgroud)

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

tar -cvf - * | 7z a -si stacey.tar.7z
Run Code Online (Sandbox Code Playgroud)

7zip 更像tar是在存档中保留文件索引。实际上,您可以完全跳过该tar步骤并仅使用 7zip:

7z a stacey.7z *
Run Code Online (Sandbox Code Playgroud)