解压缩一些文件时遇到问题

Joh*_*ohn 25 command-line zip compression

所以我必须解压缩 4 个不同的文件。当我做

file file1
file file2
file file3
 file file4
Run Code Online (Sandbox Code Playgroud)

例如,显示不同的消息。例如一个开始像"gzip compressed data, …,另一个开始像RAR archive data, v1d, os: Unix…,另一个开始像compress'd data 16 bits…

我不太确定如何区分不同的解压缩命令。我会为每个使用哪一个?

对于那些谁问,文件名实际上file1file2等他们有没有可见的扩展。

slm*_*slm 39

您可以使用该命令file来确定用于特定文件的压缩类型。

例子

$ file file.zip 
file.zip: Zip archive data, at least v1.0 to extract
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,请使用unzip.

$ file file.rar 
file.rar: RAR archive data, v1d, os: Win32
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,请使用unrar.

$ file file.7z 
file.7z: 7-zip archive data, version 0.3
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,用户7z.

$ file file.tgz 
file.tgz: gzip compressed data, from Unix, last modified: Sun Oct 13 01:14:43 2013
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,请使用tar. 使用开关tar zxvf

$ file file.tar.bz2 
file.tar.bz2: bzip2 compressed data, block size = 900k
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,请使用tar. 使用开关tar jxvf

$ file afile.gz 
afile.gz: gzip compressed data, was "afile", from Unix, last modified: Sun Oct 13 01:10:19 2013
Run Code Online (Sandbox Code Playgroud)

要解压缩此文件,请使用gunzip.

扩展

gunzip是关心文件名称的工具之一。这些文件需要具有以下扩展名之一,以便gunzip可以解压缩它们。

  • .gz, -gz, .z, -z, 或_z(忽略大小写)

如果您有一个使用压缩的文件gzip并尝试解压缩它,您将遇到以下消息:

$ file afile_not_named_gz 
afile_not_named_gz: gzip compressed data, was "afile", from Unix, last modified: Sun Oct 13 01:10:19 2013

$ gunzip afile_not_named_gz
gzip: afile_not_named_gz: unknown suffix -- ignored
Run Code Online (Sandbox Code Playgroud)

解决此问题的最简单方法是重命名文件,使其具有扩展名:

$ mv afile_not_named_gz afile_not_named_gz.gz
$ gunzip afile_not_named_gz.gz

$ ls |grep afile_not_named_gz
afile_not_named_gz
Run Code Online (Sandbox Code Playgroud)

您也可以gunzip通过使用-S开关来安抚它,如果它不是上面列出的东西,则告诉它后缀(扩展名)。

$ gunzip -S _gz afile_not_named_gz
$
Run Code Online (Sandbox Code Playgroud)

意识到您用作扩展的任何内容都会被剥夺gunzip

$ ls -l | grep afile_not_named 
-rw-rw-r-- 1 saml saml       0 Oct 13 08:04 afile_not_named
Run Code Online (Sandbox Code Playgroud)


Kar*_*tik 0

在 *nix 中,有许多不同的压缩格式,以及许多不同的命令来解压缩它们。

tar -xvf filename
Run Code Online (Sandbox Code Playgroud)

通常在大多数情况下都有效。对于其他格式,请使用unzipunrar等...

也可以看看:man tar

  • `tar -xvf filename` 仅适用于 tar 存档。(较新的版本将自动检测压缩的 tar 存档并使用适当的解压缩器),但它不适用于其他压缩文件(例如“file.gz”)或“zip”存档... (2认同)