在提取扩展名的文件时,.gz
我们使用 tar -xzf
,在提取扩展名的文件时,.bz2
我们使用-xjf
.这些有什么区别?
有时使用的组合是-tf
等等-xf
等等。如何确定哪种组合应该与哪种类型的文件一起使用?这可能是一个基本问题,但我需要对此进行解释。
答案1
“如何确定”的一般答案是阅读手册页tar
man tar
通过在您的系统上发出命令。 (链接的页面是A的手册页tar
,但通过在系统上发出该命令,您将确保拥有当前正在使用的版本的手册页。)
从手册页中,您将看到该z
选项导致文件通过 进行过滤gzip
,按照惯例,该文件的扩展名是.tar.gz
或.tgz
,而该j
选项则导致文件通过 bzip2 进行过滤。
版本GNUtar
自 1.15 (2004-12-21) 自动检测常见压缩方法以来,因此在过去十年左右的 Linux 发行版上, j
和 都不再需要。将解压文件,无论它是未压缩的存档、压缩的存档、压缩的存档还是其他几种格式。其他 unix 或类 unix 系统(或不使用 GNU 工具的 linux 发行版?)可能没有此快捷方式。z
tar xf ...
gzip
bzip2
至于第二个问题,该t
选项仅请求列出存档中的文件,而该x
选项实际上提取文件。