Terminal Icon

Вот мы и дошли уже до 20-той темы фирменного цикла «Секреты Терминала«. Этот материал мы хотели бы посвятить созданию архивов популярных и не очень форматов, а также извлечению из них файлов. Давайте сразу к делу.

Терминал по умолчанию поддерживает следующие популярные форматы: zipgzip, bzip и tar.

Если не вдаваться в тонкости, то можно моментально выдать читателям две команды: compress и uncompress. Первая упаковывает, а вторая распаковывает файлы, вот только на выходе мы получает стандартный Unix-овский формат сжатия Lempel Ziv и суффикс Z там, где привыкли видеть более обыденные расширения. Поэтому разумнее использовать описанные выше архиваторы (файл «index.txt» был выбран в качестве примера и может быть заменён на что угодно).

Zip

Zip — пожалуй, самый распространённый формат, поэтому рассмотрим его первым. Zip, кстати, единственный, кто не удаляет оригинальные файлы/архивы и работает с несколькими файлами.

Для упаковки одного файла:

zip index.zip index.txt

Для упаковки нескольких файлов:

zip index.zip index1.txt index2.txt index3.txt

Распаковка:

unzip index.zip

GNU Zip

Упаковка GNU Zip (оригинальный файл удаляется, создаётся архив с суффикcом .gz):

gzip index.txt

Распаковка (здесь удаляется уже распакованный архив):

gunzip index.gz

BZip

Упаковка BZip аналогична (оригинальный файл удаляется, создаётся архив с суффикcом .bz2):

bzip2 index.txt

Распаковка BZip (здесь удаляется уже распакованный архив):

bunzip2 index.bz2

Tar

Остался tar. Tar предназначен для архивации не только файлов, но и целых директорий, чтобы потом, например, сохранить их в качестве бэкапа или отправить по почте. Этот метод благополучно работает с GNU Zip, BZip и Zip. Родное расширение .TAR обычно не используется и в ход идёт тройка тех самых архиваторов. Команда для упаковки (GNU Zip):

tar -czvf Hello.tar.gz /Users/Wandarnem/Desktop/ololo

После нажатия «Enter» папка, находящаяся по адресу «/Users/Wandarnem/Desktop/ololo» сожмётся в архив «Hello.tar.gz». «-czvf» — дежурная комбинация, служащая для вывода дополнительных атрибутов команды. Она будет меняться в зависимости от типа выбранного архиватора:

  • GNU Zip — «-czvf«
  • BZip — «-cjvf«
  • Zip — «-cZvf«

Само собой, суффикс «.gz» сменится на «.bz2» и «.Z» соответственно.

Для распаковки воспользуйтесь соответствующими командами (для GNU Zip, BZip и Zip соответственно):

tar -xzvf Hello.tar.gz

tar -xfvf Hello.tar.bz2

tar -xZvf Hello.tar.Z

А ещё возьмите на заметку полезнейшую фишку tar’а по упаковке файлов определённого формата в конкретной директории. Например, если вам нужно сжать только изображения расширения .JPG, введите следующее:

tar -czvf Images.tar.gz /Users/Wandarnem/Desktop/ololo/*.jpg

Выборки для других форматов делаются аналогичным образом. Имя архива «Images.tar.gz», как вы уже догадались, ставится произвольно.

Поделитесь страницей через социальные сети