В предыдущей статье мы подробно рассказали, как использовать команду tar для создания архивов. Хотя tar — очень распространенная схема сжатия для Linux, она не так популярна среди пользователей Windows и Mac OS X, которые найдут большинство своих архивов созданными в формате zip.
В Linux легко использовать Zip (для создания) и Unzip (для расширения). Фактически, большинство программ управления архивами с графическим интерфейсом (таких как Ark, File Roller и Xarchiver) будут действовать как интерфейс практически к любой программе архивирования с командной строкой, установленной на вашем компьютере, и Zip не является исключением. Конечно, мы также можем использовать Zip из терминала. Вот как.
Первым шагом, как вы могли догадаться, является открытие Терминала.
Далее введите «sudo apt-get install zip unzip » (без кавычек), просто чтобы убедиться, что у нас установлены zip и unzip.
Примечание. Если эти две программы уже установлены, вы получите сообщение об этом, как показано выше.
После установки мы можем использовать zip для создания архивов (или изменения существующих) и разархивировать их, чтобы развернуть их до исходного состояния. Для этой статьи мы создадим на рабочем столе новую папку под названием Stuff. В Терминале мы можем сделать это с помощью одной команды — mkdir /home/username/Desktop/Stuff (конечно, вы замените «имя пользователя» своим собственным именем пользователя, как показано ниже, и если у вас уже есть папка «Вещи» на рабочем столе, вам нужно изменить имя).
Теперь, когда у нас есть папка Stuff, мы воспользуемся командой «cd», чтобы сделать папку Stuff нашим текущим рабочим каталогом.
cd /home/username/Desktop/Stuff
Теперь введите touch doc1.txt doc2.txt doc3.txt && mkdir Files в свой терминал, в результате чего будет создана папка с именем Files, а также три документа – doc1.txt, doc2. txt и doc3.txt – внутри папки Stuff.
Еще одна команда — «cd» во вновь созданную папку «Файлы» (cd Files), потому что нам нужны другие документы внутри нее.
компакт-диски
Наконец, введите touch doc4.txt doc5.txt doc6.txt , чтобы создать три новых документа.
Теперь введите cd ../.. , чтобы вернуть рабочий стол в рабочий каталог.
Наш предпоследний шаг перед созданием zip-файла — создать на рабочем столе пару «дополнительных» документов с теми же именами, что и у файлов, которые мы только что создали, поэтому введите touch doc2.txt doc3.txt чтобы их создать..
Наконец, откройте каждый из двух «лишних» текстовых файлов и добавьте в них текст. Это не обязательно должно быть что-то значимое (или длинное), просто чтобы мы могли видеть, что эти документы действительно отличаются от тех, которые уже созданы в папках «Вещи» и «Файлы».
Как только это будет сделано, мы сможем приступить к созданию zip-файлов. Самый простой способ использовать zip — сообщить ему имя zip-архива, который вы хотите создать, а затем явно назвать каждый файл, который должен в него войти. Итак, предполагая, что нашим рабочим каталогом является Рабочий стол, мы напечатаем zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt , чтобы создать архив с именем test.zip (мы этого не делаем). необходимо использовать в команде расширение «.zip», так как оно будет добавлено автоматически), которое будет содержать файлы doc1.txt, doc2.txt и doc3.txt, находящиеся в папке Stuff.
Вы увидите небольшой вывод, который сообщает нам, что в архив добавлены три документа (doc1.txt, doc2.txt и doc3.txt).
Мы можем проверить это, дважды щелкнув архив, который должен находиться на нашем рабочем столе. При этом он должен открыться в стандартной программе архивирования (Ark в KDE, File Roller в GNOME и Xarchiver в Xfce).
А что насчет папки «Файлы»? Предположим, мы хотим добавить документы внутри него, а также в наш архив. Мы могли бы использовать ту же команду, что и выше, но добавить Stuff/Files/* в конец команды.
Звездочка означает включение всего содержимого папки. Поэтому, если бы в папке «Файлы» была еще одна папка, она бы тоже была добавлена. Однако, если в этой папке есть элементы, они не будут включены. Для этого нам нужно добавить -r (что означает рекурсивно или рекурсивно).
Следует отметить, что две приведенные выше команды не предназначены для «добавления» файлов в zip-архив; они созданы для его создания. Однако, поскольку архив уже существует, команда просто добавляет новые файлы в существующий архив. Если бы мы хотели создать этот архив сразу (вместо трех шагов, которые мы выполняли для постепенного добавления в него файлов в образовательных целях), мы могли бы просто набрать zip -r test Stuff/* и создал бы тот же архив.
Из команды и вывода вы заметите, что включены три файла в папке «Stuff», а также три документа в папке «Files», поэтому все было выполнено с помощью красивой и простой команды..
А как насчет тех двух «лишних» документов, которые мы создали на рабочем столе? Что ж, принцип работы zip заключается в том, что если вы попытаетесь добавить в архив файл, который уже существует в архиве, новые файлы перезапишут старые. Итак, поскольку документы, которые мы создали на рабочем столе (doc2.txt и doc3.txt), содержат контент (мы добавили «привет, мир!» в doc2.txt и «ура» в doc3.txt), мы должны иметь возможность добавьте эти документы, а затем сможете проверить это. Сначала мы перетащим два «лишних» документа в папку «Вещи».
Вас, скорее всего, спросят, хотите ли вы, чтобы новые документы перезаписывали существующие (помните, что они находятся в папке, а не в zip-архиве), так что позвольте этому произойти.
Теперь, когда все готово, давайте добавим их в архив, набрав zip test Stuff/doc2.txt Stuff/doc3.txt
Вы заметите, что приведенная выше команда теперь показывает обновляемые файлы, а не добавляемые. Если мы теперь проверим архив, мы заметим, что файлы кажутся одинаковыми, но когда doc2.txt и doc3.txt откроются, вы увидите, что теперь в них есть контент, а не пустые, как в наших исходных файлах. были.
Иногда в Linux вы можете увидеть, что некоторые файлы скрыты путем добавления точки («.») в начало имени файла. Это особенно характерно для файлов конфигурации, которые должны существовать, но часто не видны (что упрощает беспорядок, а также снижает вероятность случайного удаления файла конфигурации). Мы можем легко добавить их в zip-файл. Во-первых, предположим, что мы хотим создать zip-файл, называемый резервной копией, из каждого файла в каталоге. Мы можем сделать это, набрав в терминале zip backup * .
При этом будут добавлены все файлы и папки, но элементы в этих папках не будут включены. Чтобы добавить их, мы должны снова добавить -r, чтобы команда zip -r backup * была командой.
Теперь мы почти у цели. Чтобы рекурсивно добавлять папки, файлы и скрытые файлы, команда на самом деле очень простая: zip -r backup .
Теперь распаковать архив довольно просто. Однако прежде чем что-либо делать, удалите документы на рабочем столе (doc2.txt и doc3.txt), а также папку Stuff. Как только они исчезнут, введите unzip test.zip , чтобы развернуть содержимое исходного заархивированного архива в ваш текущий каталог..
Примечание. Если бы мы не удалили документы, мы бы попытались разархивировать содержимое нашего zip-файла в существующий файл, поэтому нас спросят, хотим ли мы заменить каждый документ.
И все! Архивирование и разархивирование — довольно распространенная задача, и хотя, безусловно, доступны варианты с графическим интерфейсом, с практикой вы обнаружите, что выполнение тех же задач из терминала также не очень сложно..