Как архивировать файлы и каталоги в Linux
How to Zip Files and Directories in Linux
В этом руководстве мы покажем вам, как сжать (сжать) файлы и каталоги в Linux с помощью zip команды.
zip команда
zip утилита командной строки, которая помогает вам создавать Zip-архивы
Команда zip имеет следующую синтаксическую форму:
Чтобы создать Zip-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог.
Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, который запускает команду.
Чтобы сохранить владельца файла и разрешения, используйте tar команду.
zip Утилита не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.
Установите Zip на Ubuntu и Debian
Установите Zip на CentOS и Fedora
Как архивировать файлы и каталоги
Чтобы сжать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, разделенные пробелами, как показано ниже:
По умолчанию zip команда печатает имена файлов, добавленных в архив, и метод сжатия. Мы объясним методы сжатия и уровень позже в этом руководстве.
Чтобы создать Zip-архив каталога, вы должны использовать:
Вы также можете добавить несколько файлов и каталогов в один архив:
Методы и уровни сжатия
Чем выше уровень сжатия, тем интенсивнее процесс ЦП, и процесс займет больше времени.
Создание защищенного паролем ZIP-файла
Вам будет предложено ввести и подтвердить пароль архива:
Создание сплит Zip файла
Представьте, что вы хотите хранить Zip-архив в службе размещения файлов, у которой ограничение размера загрузки файла составляет 1 ГБ, а ваш Zip-архив составляет 5 ГБ.
Приведенная выше команда будет продолжать создавать новые архивы в наборе после достижения указанного предела размера.
Примеры ZIP
Создайте Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.
То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):
Создайте Zip-архив с именем, archivename.zip содержащим все файлы MP3 в текущем каталоге, без сжатия файлов.
Вывод
В Linux вы можете создавать Zip-архивы с zip команды.
В этом руководстве мы покажем вам, как сжать (сжать) файлы и каталоги в Linux с помощью zip команды.
Как заархивировать файлы и каталоги в Linux
Zip — это наиболее широко используемый формат архивных файлов, поддерживающий сжатие данных без потерь.
Zip-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (заархивированные) файлы занимают меньше места на диске, их можно перенести с одного компьютера на другой быстрее, чем несжатые файлы. Zip-файлы можно легко извлечь в Windows, macOS и Linux с помощью утилит, доступных для всех операционных систем.
zip Команда
zip — это утилита командной строки, которая помогает создавать Zip-архивы.
Команда zip имеет следующий синтаксис:
Чтобы создать Zip-архив в определенном каталоге, пользователю необходимо иметь права на запись в этот каталог.
Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, выполняющему команду.
Утилита zip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить ее с помощью диспетчера пакетов вашего дистрибутива.
Установите Zip в Ubuntu и Debian
Установите Zip на CentOS и Fedora
Как архивировать файлы и каталоги
Чтобы заархивировать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, через пробел, как показано ниже:
По умолчанию команда zip печатает имена файлов, добавленных в архив, и метод сжатия. Мы объясним методы и уровень сжатия позже в этом руководстве.
Чтобы создать Zip-архив каталога, вы должны использовать:
Вы также можете добавить несколько файлов и каталогов в один архив:
Методы и уровни сжатия
Чем выше уровень сжатия, тем интенсивнее процесс архивирования, и для его завершения потребуется больше времени.
Создание ZIP-файла, защищенного паролем
Вам будет предложено ввести и подтвердить пароль архива:
Создание разделенного Zip-файла
Представьте, что вы хотите сохранить Zip-архив на сервисе хостинга файлов, который имеет ограничение на размер загружаемого файла 1 ГБ, а ваш Zip-архив — 5 ГБ.
Приведенная выше команда продолжит создание новых архивов в наборе после достижения указанного предельного размера.
Примеры ZIP
Создайте Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.
То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):
Создайте Zip-архив с именем archivename.zip содержащий все файлы MP3 в текущем каталоге, без сжатия файлов.
Выводы
Работа с архивами в Linux
Архивирование и сжатие файлов позволят хранить те же самые данные при меньших затратах такого ресурса как постоянное хранилище (жёсткий диск, сменный накопитель, оптический диск и т. д.). Благодаря уменьшению размера, достигается не только экономия места на диске, но и ускорение передачи файлов по сети. В настоящее время, когда Интернет стал очень быстрым, а постоянные хранилища весьма объёмными и намного более дешёвыми чем в прошлом, важность сжатия файлов утратила свою прежнюю актуальность. Тем не менее, экономию места никто не отменял, да и зачастую нам приходится работать с уже сжатыми файлами, полученными из разных источников. Уже хотя бы поэтому необходимо иметь общее представления о работе с архивами в Linux: знать как их создавать, как их распаковывать, понимать разницу между архивированием и сжатием.
7zip — самый универсальный инструмент по работе с архивами
В зависимости от типа архивов, обычно, нужно вводить соответствующую команду с набором опций. Например, у нас есть архив archive.gz, чтобы его извлечь, нужно вспомнить команду gunzip. Т.е. команда выглядит так:
Если же у нас файл archive.bz2, то мы припоминаем, что распаковывается этот архив программой bunzip2 Т.е. теперь нам нужно вводить такую команду:
И так для разных типов архивов нам нужно вспомнить команды и необходимый набор ключей. В принципе, это не такой большой объём информации, но можно упростить себе жизнь.
Прелесть 7zip в том, что она поддерживает множество архивов (7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO и DEB), т. е. независимо от типа сжатия и архивации, нам достаточно набрать команду
И это справедливо для любого поддерживаемого архива:
Думаю, идея понятна.
Как установить 7zip и как его использовать (с расшифровкой всех доступных опций) описано в этой статье.
zip позволяет сжимать файл(ы) и каталог(и). Применяется команда так:
Чтобы в архив добавлялось содержимое каталогов, а не только их название, нужно использовать ключ -r
Для распаковки архивов zip
Чтобы посмотреть список содержимого архива (но не распаковывать его) можно сделать так:
Извлечь и посмотреть содержимое отдельных папок, файлов можно так
Различия сжатия и архивирования
Архивирование — это объединение нескольких файлов в один. Размер конечного (большого) файла равен сумме входящих в него файлов.
Сжатие — это уменьшение размера файла за счёт использования того или иного алгоритма.
На Windows эти операции, обычно, объединены в одну, которую называют архивацией. Также в одну операцию делает это 7zip и zip.
Для Linux есть команды, которые делают это раздельно, либо которые делают это в одно действие.
Команда gzip осуществляет сжатие по одному файлу. Если ей передать в качестве аргумента папку, то она её проигнорирует. Если передать папку и соответствующий ключ -r, то она сожмёт каждый файл по отдельности, т. е. создаст много отдельных архивов.
Всё, что было сказано о программе gzip — сжатие по одному файлу — относится и к программе gzip. Различается только алгоритм сжатия — сжимает лучше.
Архивирование программой tar
Вместо одного каталога можно передать файл/список файлов/директорию/список директорий.
Ключ c означает создать архив, а после ключа f задаётся имя архива.
Чтобы посмотреть содержимое архива, нужно набрать команду
Где ключ t означает список, а ключ f, как это было сказано выше, говорит о том, что сейчас последует имя файла.
Если набрать так, то будет больше подробностей:
Новый ключ x означает распаковку.
Ещё можно сделать так:
При этом будут извлечены отдельные файлы, которые указаны.
Сжатие архивов tar с помощью gzip и bzip2
gzip и bzip умеют сжимать файлы, но не умеют упаковывать их в один, tar умеет упаковывать в один, но не умеет сжимать. Хм… у вас не появилось идеи?
Здесь новая опция z, которая и указывает на применяемый для сжатия алгоритм.
Новая опция — j, означает выбор метода сжатия bzip2.
Если я что-то забыл или пропустил — пишите в комментариях.
Как сжать и извлечь файлы и каталоги в Linux с помощью gzip и bzip2
В статье объясняются основные команды для сжатия файлов и папок в ОС Linux.
Чтобы сжать файл или папку, gzip и bzip2 – два очень популярных инструмента.
Сжатие Gzip
Файл с именем file1.gz будет создан в текущем каталоге, заменив file1.
Вы можете сжать несколько файлов за один раз, просто указав их имена, разделенные пробелами. Например:
Чтобы развернуть сжатый GZIP-файл в текущем каталоге:
Чтобы сжать каталог, вы можете создать tar и сжать его.
Чтобы сжать несколько каталогов в одном файле:
Чтобы извлечь каталог «старенный and сжатый» в текущем каталоге,
Чтобы извлечь каталог «старенный и сжатый» из определенного каталога,
Сжатие Bzip2
Файл с именем file1.bz2 будет создан в текущем каталоге, заменив file1.
Подобно gzip вы можете сжать несколько файлов за один раз. Например
Чтобы развернуть файл в текущем каталоге:
Чтобы сжать каталог, вы можете создать tar и сжать его.
Чтобы сжать несколько каталогов в одном файле:
Чтобы извлечь каталог «старенный and сжатый» в текущем каталоге,
Чтобы извлечь каталог «старенный и сжатый» из определенного каталога,
Добавить комментарий Отменить ответ
• Свежие записи
• Категории
• itsecforu.ru
• Страны посетителей
IT is good
Архивируем файлы и папки в терминале Linux
Все мы пользуемся архивами, например zip, tar и так далее, но, есть понятие архивация и сжатие. Это совершенно два разных действия, архивацией называют например создание архивной копии вашей системы. А сжатие обозначает уменьшение размера файла или целой папки. Архивировать можно не только вашу операционную систему, но так же и базы данных, конфигурационные файлы и многое другое. При этом, важно что бы изначальный размер архивируемого объекта так же сжимался, это например будет полезно для экономии места на жестком диске. Думаю с этим все понятно, теперь вы знаете что существует архивация и сжатие файлов. Часто архивация и сжатие файлов производится одновременно. Теперь давайте перейдем к практике, все действия будут совершаться в терминале, так как это универсальный метод позволяющий обойтись без установки дополнительного П.О.
Архивируем папки и файлы командой tar
Для архивирования используется команда tar, давайте немного разберемся с опциями этой команды:
Это лишь малая часть всех опций, которые доступны при выполнении команды tar, полный список можно вызвать командой:
Сжатие архива gzip bzip2
Для сжатия архива используется одна из команд, первая это классическая “gzip”, а вторая bzip2. Команда bzip2 лучше сжимает архивы, но, требуется больше времени для сжатия архива. Существенную разницу вы увидите между данными командами лишь при сжатии объемных файлов, а при сжатии файлов малого размера, разница практически не заметна. Для вызова справки по данным командами необходимо выполнить команды:
Архивируем папки и файлы на практике
Теперь давайте перейдем к практике, предположим нам необходимо создать архив папки “test”, для этого необходимо выполнить команду tar с опцией “c”, как вы уже знаете, это опция создает архивы. Далее, дополним данную команду опцией “v”, что бы мы могли видеть процесс создания архива, и последняя опция “f”, это имя создаваемого файла. И так, вводим команду: “tar cvf archive.tar”, в данном примере слово “archive” означает название создаваемого вами архива, оно может быть любым. После чего указываем папки и файлы, которые нам необходимо заархивировать, в данном примере это будет папка “test”:
Таким образом вы можете архивировать сразу несколько директорий и файлов в один архив, для этого необходимо после выполнения команды “tar cvf archive.tar” просто перечислять их имена. Теперь давайте добавим в уже созданный чуть ранее архив файл “test_file”. Для этого служит опция “r”, то есть, теперь вместо опции “c” указываем “r”, остальные опции можно оставить без изменений:
После чего воспользуемся опцией “t” для просмотра содержимого архива. В директории “test” так же лежит файл, который называется точно так же, как и директория – “test”. Это отчетливо видно на скриншоте (test/test), и последняя строчка (test_file), это файл, который мы добавляли в уже созданный архив:
Распаковка архива
Мы научились создавать архивы, но, их так же необходимо и распаковывать, для этого служит опция “x”. Предположим, нам необходимо распаковать только один файл “test_file”. Для этого необходимо ввести команду “tar” далее указать необходимые опции “xvf”, далее указываем название архива, а после чего название файла, в нашем же случае это “test_file”. для наглядности я перенес данный архив в папку “dir_archive”, так что не удивляйтесь:
Для распаковки всего архива выполняем команду “tar”, далее уже знакомые опции “xvf” и название архива, в нашем же случае это “archive.tar”:
Если же вам необходимо распаковать архив в какую либо иную директорию, то для этого служит опция “-C”, далее указываем путь к нужной нам директории. Например, возьмем директорию “Документы”, вводим команду для распаковки архива “tar xvf archive.tar” далее указываем опцию “-C” и указываем путь к директории “Документы”:
Архивация и сжатие файлов и папок
Теперь переходим к сжатию архива, и начнем пожалуй с “gzip”. Для того что бы сжать архив, необходимо ввести команду “tar”, далее указать опции “zcvf”, если присмотритесь, то увидите, что к уже знакомым нам опциям просто добавляем “z”. После чего указываем имя архива, например “gzip_arch“, указываем расширения “tar.gz” и последним шагом указываем файлы и папки которые мы хотим заархивировать. Например, возьмем папку “test” и файл “test_file” и создадим сжатый архив под названием “gzip_arch”. Вводим команду:
Для сжатия в “bzip2” необходимо выполнить команду “tar”, затем указываем опции “jcvf”, обратите внимания, что в данном случае первой буквой идет “j”, далее указываем имя создаваемого архива и после чего указываем расширения. Для создания “bzip2” архива необходимо указать расширения “tar.bz2”. Теперь давайте создадим архив с тем же названием (gzip_arch) но при помощи bzip2:
Для того что бы посмотреть содержимое архива “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.bz2” используются все те же опции но лишь заменив первую букву на “j”, далее все точно так же, указываете название архива, а в нашем случае это “gzip_arch.tar.bz2” и при необходимости файл. Если же вы хотите распаковать весь архив, то достаточно указать в обеих случаях только название самого архива. То есть, давайте распакуем архив “gzip_arch.tar.bz2”, по аналогии точно так же, только изменив опции распаковывается и “gzip_arch.tar.gz” весь целиком:
В том случае если вы хотите распаковать архив в другую директорию, то используйте уже знакомую вам опцию “-C”, как мы это делали ранее с архивами. Например, я хочу распаковать архив “gzip_arch.tar.bz2” в директорию “Загрузки”, ввожу команду для распаковки архива, затем указываю опцию “-C”, а затем путь до директории “Загрузки”:
Заключение
На первый взгляд вам может показаться что это все муторно и не понятно, да и зачем в наше время использовать терминал для подобных манипуляций? Но, на самом деле, работая в терминале вы можете сэкономить множество времени, так как создавая архив в терминале, вы можете в него упаковать только те файлы, которые вам необходимо. При этом, достаточно написать их названия, а используя графические версии архиваторов на это у вас может уйти немного больше времени. Да и как уже ранее говорилось, сила Linux в его терминале, и знания терминала порой очень вам может пригодится, так что не стоит его боятся.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X