В предыдущей статье мы подробно рассказали, как использовать команду 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 (конечно, вы замените «username» своим собственным именем пользователя, как показано ниже, и если у вас уже есть папка Stuff на рабочем столе вы захотите изменить имя).
Теперь, когда у нас есть папка Stuff, мы будем использовать команду 'cd', чтобы сделать папку Stuff нашим текущим рабочим каталогом.
cd / home / username / рабочий стол / материал
Теперь введите touch doc1.txt doc2.txt doc3.txt && mkdir Files в свой терминал, чтобы создать папку с именем Files, а также три документа - doc1.txt, doc2.txt и doc3.txt - внутри папки Stuff.,
Еще одна команда, чтобы 'cd' во вновь созданную папку Files (cd Files), потому что мы хотим, чтобы внутри нее были другие документы.
CD-файлы
Наконец, введите touch doc4.txt doc5.txt doc6.txt, чтобы создать три новых документа.
Теперь введите cd ../ .., чтобы вернуть рабочий стол обратно в рабочий каталог.
Нашим последним шагом перед созданием zip-файла является создание пары «лишних» документов на рабочем столе с теми же именами, что и у файлов, которые мы только что создали, поэтому нажмите touch doc2.txt doc3.txt, чтобы создать их.
Наконец, откройте каждый из двух «лишних» текстовых файлов и добавьте к ним текст. Это не должно быть чем-то значимым (или длинным), просто чтобы мы могли видеть, что эти документы действительно отличаются от документов, уже созданных в папках Stuff и files.
Как только это будет сделано, мы можем начать создавать наши 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).
Теперь, что насчет папки Files? Предполагая, что мы хотим этого, добавляем документы внутри него, а также в наш архив, мы могли бы использовать ту же команду, что и выше, но добавить Stuff / Files / * в конец команды.
Звездочка означает включить все в папку. Так что, если бы внутри папки Files была другая папка, она также была бы добавлена. Однако, если в этой папке есть элементы внутри нее, они не будут включены. Для этого нам нужно добавить -r (что означает рекурсивный или рекурсивный).
Следует отметить, что две вышеуказанные команды не предназначены для «добавления» файлов в zip-архив; они предназначены для его создания. Однако, поскольку архив уже существует, команда просто добавляет любые новые файлы в существующий архив. Если бы мы хотели создать этот архив сразу (вместо трех шагов, которые мы выполнили для постепенного добавления файлов в него в образовательных целях), мы могли бы просто набрать zip -r test Stuff / * и создать тот же архив.
Из команды и выходных данных вы заметите, что включены три файла в папке «Stuff», а также три документа в папке «Files», так что все было выполнено с помощью простой и удобной команды.
А как насчет тех двух «дополнительных» документов, которые мы создали на нашем рабочем столе? Итак, zip работает так, что если вы попытаетесь добавить файл в архив, который уже существует в архиве, новые файлы будут перезаписаны старые. Итак, поскольку документы, созданные на нашем рабочем столе (doc2.txt и doc3.txt), содержат контент (мы добавили «hello world!» В doc2.txt и «yay» в doc3.txt), мы должны иметь возможность добавьте эти документы, а затем сможете проверить это. Сначала мы перетащим два «лишних» документа в папку «Материал».
Скорее всего, вас спросят, хотите ли вы, чтобы новые документы перезаписывали существующие (помните, что это в папке, а не в zip-архиве), поэтому позвольте этому произойти.
Теперь, когда это сделано, давайте добавим их в архив, набрав zip test Stuff / doc2.txt Stuff / doc3.txt
Вы заметите, что приведенная выше команда теперь показывает, что файлы обновляются, а не добавляются. Если мы сейчас проверим архив, то заметим, что файлы выглядят одинаково, но когда откроются doc2.txt и doc3.txt, вы увидите, что в них теперь есть содержимое, а не пустое, как в наших исходных файлах. мы.
Иногда в Linux вы можете увидеть, что некоторые файлы скрыты, если добавить точку («.») В начале имени файла. Это особенно характерно для файлов конфигурации, которые должны существовать, но часто не видны (что облегчает беспорядок, а также снижает вероятность того, что файл конфигурации будет случайно удален). Мы можем добавить их в zip-файл довольно легко. Во-первых, давайте предположим, что мы хотим создать zip-файл с именем backup из каждого файла в каталоге. Мы можем сделать это, набрав zip backup * в Терминале.
Это добавит все файлы и папки, хотя любые элементы в этой папке не будут включены. Чтобы добавить их, мы добавим -r еще раз, чтобы команда zip -r backup * была командой.
Теперь мы почти у цели. Чтобы рекурсивно добавлять папки, файлы и скрытые файлы, команда на самом деле очень проста: zip -r backup.
Теперь расстегнуть молнию довольно просто. Однако прежде чем что-то делать, удалите документы на рабочем столе (doc2.txt и doc3.txt), а также в папке Stuff. Как только они исчезнут, напечатайте unzip test.zip, чтобы развернуть содержимое нашего исходного архива в ваш текущий каталог.
Примечание. Если бы мы не удалили документы, мы бы попытались разархивировать содержимое нашего zip-файла в существующий файл, поэтому нас спросят, хотим ли мы заменить каждый документ.
И это все! Сжатие и разархивирование - довольно распространенная задача, и, хотя, безусловно, доступны опции графического интерфейса, с практикой вы обнаружите, что выполнение тех же самых задач из Терминала также не очень сложно.