7. Основы терминала Linux. Работа с архивами
В данной статье рассмотрим команды для работы с архивами.
Создание архивов командой tar
Первая команда это tar. Выведем её документацию при помощи ключа --help
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 *
Как мы видим третий и четвертый архив весит по 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
Как мы видим архив 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/
Как мы видим файлы находящиеся внутри папки не вошли в архив.
Удалим все ненужные файлы, оставив только три архива.
Теперь распакуем наш первый архив. Для этого воспользуемся командой 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
Также существуют и другие утилиты и расширения архивов. В данной статье мы рассмотрели основные из них.
Если вам понравилась статья, то поделитесь ею в социальных сетях: