
Итак, мне нужно распаковать 4 разных файла. Когда я это делаю
file file1
file file2
file file3
file file4
например, отображаются разные сообщения. Например, одно начинается как "gzip compressed data, …
, другое начинается как RAR archive data, v1d, os: Unix…
, третье начинается какcompress'd data 16 bits…
Я не совсем уверен, как различать разные команды распаковки. Какую из них мне использовать для каждой?
Для тех, кто спрашивал, на самом деле имена файлов — file1
, file2
и т. д. У них вообще нет видимых расширений.
решение1
С помощью этой команды можно file
определить тип сжатия, который использовался для конкретного файла.
Примеры
$ file file.zip
file.zip: Zip archive data, at least v1.0 to extract
Чтобы распаковать этот файл, используйте unzip
.
$ file file.rar
file.rar: RAR archive data, v1d, os: Win32
Чтобы распаковать этот файл, используйте unrar
.
$ file file.7z
file.7z: 7-zip archive data, version 0.3
Чтобы распаковать этот файл, используйте 7z
.
$ file file.tgz
file.tgz: gzip compressed data, from Unix, last modified: Sun Oct 13 01:14:43 2013
Чтобы распаковать этот файл, используйте tar
. Используйте ключи tar zxvf
.
$ file file.tar.bz2
file.tar.bz2: bzip2 compressed data, block size = 900k
Чтобы распаковать этот файл, используйте tar
. Используйте ключи tar jxvf
.
$ file afile.gz
afile.gz: gzip compressed data, was "afile", from Unix, last modified: Sun Oct 13 01:10:19 2013
Чтобы распаковать этот файл, используйте 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
Самый простой способ исправить это — переименовать файл так, чтобы у него было расширение:
$ 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
Вы также можете успокоить его, gunzip
используя -S
переключатель, и сообщить ему суффикс (расширение), если это что-то отличное от перечисленных выше.
$ gunzip -S _gz afile_not_named_gz
$
Помните, что все, что вы используете в качестве расширения, будет удалено gunzip
:
$ ls -l | grep afile_not_named
-rw-rw-r-- 1 saml saml 0 Oct 13 08:04 afile_not_named
решение2
В *nix существует множество различных форматов сжатия и множество различных команд для их распаковки.
tar -xvf filename
Обычно работает в большинстве случаев. Для других форматов используйте unzip
, unrar
, и т.д.
Смотрите также:man tar