В данной статье рассмотрим команды для работы с архивами.

Создание архивов командой tar

Первая команда это tar.  Выведем её документацию при помощи ключа --help    

tar --help

Как мы видим данная команда содержит множество ключей.

Если перемотаем в самый верх, то увидим три примера использования данной команды:

  1. первый позволяет создать архив
  2. второй вывести список файлов из архива 
  3. третий пример команды извлечь файлы из архива 

tar --help

Для начала создадим файлы, которые будем архивировать:

mkdir archives
cd archives
touch 1.txt 2.txt 3.txt

А также создадим папку и в этой папке создадим новые файлы:

mkdir 1
cd 1
touch file1.txt file2.txt file3.txt
cd ..

Теперь при помощи команды tar создадим наш архив:

tar -cf ar1.tar 1.txt 2.txt 3.txt

Для этого пропишем команду tar, укажем ключи -cf, которые означают создание файла, далее укажем название архива с расширением .tar и через пробел укажем файлы, которые необходимо поместить в архив у нас это 1.txt 2.txt 3.txt.

ls -l

Как мы видим наш архив создался, также через пробел можно указывать и папки например укажем папку 1 и файл 2.txt

tar -cf ar2.tar 1/ 2.txt

Создание сжатых архивов командой tar

Данные архивы создались без сжатия. Для того, чтобы воспользоваться сжатием необходимо использовать утилиту gz  или bz2. Например создадим архив воспользовавшись утилитой gz. Для этого необходимо добавить ключ z, так же для удобства добавим ключ v, который выведет результат процесса. В качестве расширения файла укажем tar.gz:

tar -cvzf ar3.tar.gz 1.txt

Теперь создадим архив воспользовавшись утилитой bz2. Для этого вместо ключа z укажем ключ j. Расширение поменяем на tar.bz2:

tar -cvjf ar4.tar.bz2 2.txt

В итоге получаем 4 архива два из которых: первый и второй архив с расширением .tar не являются сжатыми, а третий и четвертый архив с расширениями .tar.gz и .tar.bz2 являются сжатыми. Для того, чтобы убедиться в сжатии создадим пятый архив:

tar -cf ar5.tar 1.txt

И при помощи следующей команды выведем список всех файлов с их размером:

du -sh *

Список файлов с их размером linux du -sh *

Как мы видим третий и четвертый архив весит по 4 килобайта, а пятый не сжатый архив весит 12 килобайт, хотя во всех трех случаях архивировался один файл.

Для того, чтобы распаковать архив воспользуемся ключом x. Например распакуем наш четвертый архив:

tar -xvf ar4.tar.bz2

Для наглядности можно удалить файл 2.txt и распаковать архив еще раз:

rm 2.txt
tar -xvf ar4.tar.bz2
ls -l

Как мы видим наш файл 2.txt появился.

Так же при помощи ключа -C большое можно распаковать файл в удобную для нас папку. Распакуем третий архив в папку 1:

tar -xvf ar3.tar.gz -C 1/

Перейдем в папку 1:

cd 1
    ls -l

И увидим то, что файл 1.txt распаковался в данную папку.

cd ..

Для того, чтобы посмотреть содержимое архива без его распаковки необходимо воспользоваться ключом t:

tar -tf ar2.tar

Список файлов tar архива

Как мы видим архив 2.tar содержит папку один с тремя файлами и файл 2.txt.

Так же можно добавить ключ v, который выведет права доступа файлов:

tar -tvf ar2.tar

Работа с архивами zip

Следующая команда для создания архив это zip. Например создадим архив файла 1.txt. Для этого укажем команду zip, далее необходимо указать имя архива с расширением .zip и в конце укажем имя файла который архивируется:

zip 1.zip 1.txt
ls -l

Как мы видим наш архив создался.

Если в команде tar можно было указывать и файлы и папки, то в команде zip для того, чтобы заархивировать папку необходимо указать ключ -r. Иначе файлы входящие в данную папку не будут архивированы:

zip -r 2.zip 1/

Например выполним ту же самую команду без ключа -r и посмотрим на результат:

zip 3.zip 1/

Архивирование папки linux zip

Как мы видим файлы находящиеся внутри папки не вошли в архив.

Удалим все ненужные файлы, оставив только три архива.

Список файлов linux, команда ls

Теперь распакуем наш первый архив. Для этого воспользуемся командой unzip:

unzip 1.zip

Для того, чтобы разархивировать архив в определенную папку воспользуемся ключом -d:

unzip -d 1/ 1.zip

Полный список команд также можно посмотреть введя ключ --help

zip --help

Работа с архивами rar

Следующие команды этой rar и unrar. Она по умолчанию может быть не установлена. Установим ее

sudo apt install rar

Для того, чтобы создать архив необходимо указать ключевое слово a. Далее указать имя архива с расширением rar и в конце указать архивируемые файлы:

rar a ar1.rar 1.txt

Для того чтобы заархивировать папку, так же как и в команде zip необходимо указывать ключ -r иначе файлы входящие в папку не будут добавлены:

rar -r a ar2.rar 1/

Так же можно указывать степень сжатия, разбивать архив на несколько файлов, добавлять файлы в архив, восстанавливать битый архив, создавать архив с паролем. Более подробно ознакомиться со списком команд можно при помощи мануала:

man rar

Для того, чтобы распаковать архив необходимо воспользоваться командой unrar. Например удалим наши папки и файлы. И разархивируем наш архив:

unrar ar1.rar 

Пакет unrar так же не установлен. Установим его:

sudo apt install unrar

Для распаковки необходимо указать ключевую букву x:

unrar x ar1.rar

Для того, чтобы посмотреть список файлов архива необходимо указать ключ t:

unrar t ar1.rar

Список файлов архива rar в linux

Также существуют и другие утилиты и расширения архивов. В данной статье мы рассмотрели основные из них.