Работа с архивами - часть повседневной жизни пользователя компьютера. Архивы используются для уменьшения занимаемого места на диске, хранения многих файлов в одном, напротив - разделения большого файла на несколько и даже для шифрования.
Казалось бы, уже давно проблем быть не должно с архивацией/разархивацией, однако, до сих пор можно встретить файл, запакованный в странном формате, о котором система и не слышала. Ниже описаны консольные команды, которые помогут Вам разархивировать файл в Linux.
Самый "простой" формат, который может Вам встретиться - ZIP. Распаковать его можно командой unzip:
unzip file.zip
В мире Linux/Unix довольно распространены TAR архивы (tar.gz, tar.bz2 и так далее):
tar xvf file.tar.*
Tar архивы интересны тем, что на самом деле, сам tar не сжимает. Он создаёт файл, в котором уже хранятся другие файлы, а этот файл уже можно и сжать. Этим занимаются обычно gzip или bzip2. Однако, tar умеет определять - чем сжали его файл и может распаковать. Ключи в примере:
- x - извлечение файлов из архива.
- f - использовать файл.
- v - печатать на консоль информацию о процессе.
Если же у на не tar, а просто gz (gzip) файл, распакуем его командой:
gunzip file.gz
Аналогично с BZ2 - разархивируем с помощью:
bunzip2 file.bz2
Пользователи Windows любят использовать формат RAR, видимо, из-за популярного архиватора WinRAR. Пользователи Linux же могут без проблем разархивировать и rar-файлы Linux:
unrar file.rar
Возможно, потребуется установить программу unrar
перед этим (sudo apt-get install unrar
).
Могут встретиться и файлы XZ. Разархивируем командой
unxz file.xz
архивируем
xz --decompress file.xz
XZ умеет разархивировать файлы и LZMA формата:
xz --format=lzma --decompress file.lz # для .lz файлов
Для 7Z-файлов используем:
7za e file.7z
Нужно установить p7zip
до этого (sudo apt-get install p7zip
).
Возможно, файл к Вам попал без расширение или с неправильным, тогда воспользуемся командой file
, чтобы узнать формат файла:
file file.unknown
Например:
$ file server.jjj server.jjj: Zip archive data, at least v2.0 to extract