Архивируем файлы и папки в терминале Linux

Все мы пользуемся архивами, например zip, tar и так далее, но, есть понятие архивация и сжатие. Это совершенно два разных действия, архивацией называют например создание архивной копии вашей системы. А сжатие обозначает уменьшение размера файла или целой папки. Архивировать можно не только вашу операционную систему, но так же и базы данных, конфигурационные файлы и многое другое. При этом, важно что бы изначальный размер архивируемого объекта так же сжимался, это например будет полезно для экономии места на жестком диске. Думаю с этим все понятно, теперь вы знаете что существует архивация и сжатие файлов. Часто архивация и сжатие файлов производится одновременно. Теперь давайте перейдем к практике, все действия будут совершаться в терминале, так как это универсальный метод позволяющий обойтись без установки дополнительного П.О.

Архивируем папки и файлы командой tar

Для архивирования используется команда tar, давайте немного разберемся с опциями этой команды:

  • tar c – создания архива
  • tar r – добавления в архив файлов или папок
  • tar t – просмотр содержимого архива без его распаковки
  • tar x – распаковка архива
  • tar v расширенный режим, в котором отображается вся информация о процессе

Это лишь малая часть всех опций, которые доступны при выполнении команды tar, полный список можно вызвать командой:

tar --help

Сжатие архива gzip bzip2

Для сжатия архива используется одна из команд, первая это классическая “gzip”, а вторая bzip2. Команда bzip2 лучше сжимает архивы, но, требуется больше времени для сжатия архива. Существенную разницу вы увидите между данными командами лишь при сжатии объемных файлов, а при сжатии файлов малого размера, разница практически не заметна. Для вызова справки по данным командами необходимо выполнить команды:

gzip --help 
bzip2 --help

Архивируем папки и файлы на практике

Теперь давайте перейдем к практике, предположим нам необходимо создать архив папки “test”, для этого необходимо выполнить команду tar с опцией “c”, как вы уже знаете, это опция создает архивы. Далее, дополним данную команду опцией “v”, что бы мы могли видеть процесс создания архива, и последняя опция “f”, это имя создаваемого файла. И так, вводим команду: “tar cvf archive.tar”, в данном примере слово “archive” означает название создаваемого вами архива, оно может быть любым. После чего указываем папки и файлы, которые нам необходимо заархивировать, в данном примере это будет папка “test”:

tar cvf archive.tar test

Таким образом вы можете архивировать сразу несколько директорий и файлов в один архив, для этого необходимо после выполнения команды “tar cvf archive.tar” просто перечислять их имена. Теперь давайте добавим в уже созданный чуть ранее архив файл “test_file”. Для этого служит опция “r”, то есть, теперь вместо опции “c” указываем “r”, остальные опции можно оставить без изменений:

tar rvf archive.tar test_file

После чего воспользуемся опцией “t” для просмотра содержимого архива. В директории “test” так же лежит файл, который называется точно так же, как и директория – “test”. Это отчетливо видно на скриншоте (test/test), и последняя строчка (test_file), это файл, который мы добавляли в уже созданный архив:

tar tvf archive.tar

Распаковка архива

Мы научились создавать архивы, но, их так же необходимо и распаковывать, для этого служит опция “x”. Предположим, нам необходимо распаковать только один файл “test_file”. Для этого необходимо ввести команду “tar” далее указать необходимые опции “xvf”, далее указываем название архива, а после чего название файла, в нашем же случае это “test_file”. для наглядности я перенес данный архив в папку “dir_archive”, так что не удивляйтесь:

tar xvf archive.tar test_file

Для распаковки всего архива выполняем команду “tar”, далее уже знакомые опции “xvf” и название архива, в нашем же случае это “archive.tar”:

tar xvf archive.tar

Если же вам необходимо распаковать архив в какую либо иную директорию, то для этого служит опция “-C”, далее указываем путь к нужной нам директории. Например, возьмем директорию “Документы”, вводим команду для распаковки архива “tar xvf archive.tar” далее указываем опцию “-C” и указываем путь к директории “Документы”:

tar xvf archive.tar -C ~/Документы

Архивация и сжатие файлов и папок

Теперь переходим к сжатию архива, и начнем пожалуй с “gzip”. Для того что бы сжать архив, необходимо ввести команду “tar”, далее указать опции “zcvf”, если присмотритесь, то увидите, что к уже знакомым нам опциям просто добавляем “z”. После чего указываем имя архива, например “gzip_arch“, указываем расширения “tar.gz” и последним шагом указываем файлы и папки которые мы хотим заархивировать. Например, возьмем папку “test” и файл “test_file” и создадим сжатый архив под названием “gzip_arch”. Вводим команду:

tar zcvf gzip_arch.tar.gz test test_file

Для сжатия в “bzip2” необходимо выполнить команду “tar”, затем указываем опции “jcvf”, обратите внимания, что в данном случае первой буквой идет “j”, далее указываем имя создаваемого архива и после чего указываем расширения. Для создания “bzip2” архива необходимо указать расширения “tar.bz2”. Теперь давайте создадим архив с тем же названием (gzip_arch) но при помощи bzip2:

tar jcvf gzip_arch.tar.bz2 test test_file

Для того что бы посмотреть содержимое архива “tar.gz” необходимо ввести команду “tar” далее указать опцию “ztvf” и название архива. Собственно, разница составляет лишь в одной букве – “z”, а для просмотра архива “tar.bz2” необходимо ввести все ту же команду “tar” с опцией “jtvf” и название архива. Как и в прошлый раз, разница все го в одной букве – “j”.

Распаковка архивов

Переходим к распаковке созданных чуть ранее архивов, я их переместил в директорию “dir_archive”. Для распаковки архивов “tar.gz” используются опция “z”, а опция “x” означает распаковать данный архив. Далее указываем опции “vf” и название архива, в данном случае это “gzip_arch.tar.gz”: То есть, полная команда будет выглядеть так “tar zxvf gzip_arch.tar.gz”, так же, можно распаковать только определенный файл или папку, для этого просто указываете название папки или файла. Например, распакуем все тот же файл “test_file”:

tar zxvf gzip_arch.tar.gz test_file

Для распаковки архивов “tar.bz2” используются все те же опции но лишь заменив первую букву на “j”, далее все точно так же, указываете название архива, а в нашем случае это “gzip_arch.tar.bz2” и при необходимости файл. Если же вы хотите распаковать весь архив, то достаточно указать в обеих случаях только название самого архива. То есть, давайте распакуем архив “gzip_arch.tar.bz2”, по аналогии точно так же, только изменив опции распаковывается и “gzip_arch.tar.gz” весь целиком:

tar jxvf gzip_arch.tar.bz2

В том случае если вы хотите распаковать архив в другую директорию, то используйте уже знакомую вам опцию “-C”, как мы это делали ранее с архивами. Например, я хочу распаковать архив “gzip_arch.tar.bz2” в директорию “Загрузки”, ввожу команду для распаковки архива, затем указываю опцию “-C”, а затем путь до директории “Загрузки”:

Заключение

На первый взгляд вам может показаться что это все муторно и не понятно, да и зачем в наше время использовать терминал для подобных манипуляций? Но, на самом деле, работая в терминале вы можете сэкономить множество времени, так как создавая архив в терминале, вы можете в него упаковать только те файлы, которые вам необходимо. При этом, достаточно написать их названия, а используя графические версии архиваторов на это у вас может уйти немного больше времени. Да и как уже ранее говорилось, сила Linux в его терминале, и знания терминала порой очень вам может пригодится, так что не стоит его боятся.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *