Создание и редактирование ZIP-файлов в Linux с помощью терминала


В предыдущей статье мы подробно рассказали, как использовать команду tar для создания архивов. Хотя tar — очень распространенная схема сжатия для Linux, она не так популярна среди пользователей Windows и Mac OS X, которые найдут большинство своих архивов созданными в формате zip.

В Linux легко использовать Zip (для создания) и Unzip (для расширения). Фактически, большинство программ управления архивами с графическим интерфейсом (таких как Ark, File Roller и Xarchiver) будут действовать как интерфейс практически к любой программе архивирования с командной строкой, установленной на вашем компьютере, и Zip не является исключением. Конечно, мы также можем использовать Zip из терминала. Вот как.

Первым шагом, как вы могли догадаться, является открытие Терминала.

01Open_Terminal

Далее введите «sudo apt-get install zip unzip » (без кавычек), просто чтобы убедиться, что у нас установлены zip и unzip.

02Install_Zip_and_Unzip

Примечание. Если эти две программы уже установлены, вы получите сообщение об этом, как показано выше.

После установки мы можем использовать zip для создания архивов (или изменения существующих) и разархивировать их, чтобы развернуть их до исходного состояния. Для этой статьи мы создадим на рабочем столе новую папку под названием Stuff. В Терминале мы можем сделать это с помощью одной команды — mkdir /home/username/Desktop/Stuff (конечно, вы замените «имя пользователя» своим собственным именем пользователя, как показано ниже, и если у вас уже есть папка «Вещи» на рабочем столе, вам нужно изменить имя).

03Make_Stuff_Directory

Теперь, когда у нас есть папка 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.

04Make_Docs

Еще одна команда — «cd» во вновь созданную папку «Файлы» (cd Files), потому что нам нужны другие документы внутри нее.

компакт-диски

Наконец, введите touch doc4.txt doc5.txt doc6.txt , чтобы создать три новых документа.

05Make_More_Docs

Теперь введите cd ../.. , чтобы вернуть рабочий стол в рабочий каталог.

06CD_Back_To_Desktop

Наш предпоследний шаг перед созданием zip-файла — создать на рабочем столе пару «дополнительных» документов с теми же именами, что и у файлов, которые мы только что создали, поэтому введите touch doc2.txt doc3.txt чтобы их создать..

07Create_Duplicate_Docs

Наконец, откройте каждый из двух «лишних» текстовых файлов и добавьте в них текст. Это не обязательно должно быть что-то значимое (или длинное), просто чтобы мы могли видеть, что эти документы действительно отличаются от тех, которые уже созданы в папках «Вещи» и «Файлы».

Как только это будет сделано, мы сможем приступить к созданию zip-файлов. Самый простой способ использовать zip — сообщить ему имя zip-архива, который вы хотите создать, а затем явно назвать каждый файл, который должен в него войти. Итак, предполагая, что нашим рабочим каталогом является Рабочий стол, мы напечатаем zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt , чтобы создать архив с именем test.zip (мы этого не делаем). необходимо использовать в команде расширение «.zip», так как оно будет добавлено автоматически), которое будет содержать файлы doc1.txt, doc2.txt и doc3.txt, находящиеся в папке Stuff.

08Create_First_Archive

Вы увидите небольшой вывод, который сообщает нам, что в архив добавлены три документа (doc1.txt, doc2.txt и doc3.txt).

09First_Archive_Output

Мы можем проверить это, дважды щелкнув архив, который должен находиться на нашем рабочем столе. При этом он должен открыться в стандартной программе архивирования (Ark в KDE, File Roller в GNOME и Xarchiver в Xfce).

10Open_In_Archive_Program

А что насчет папки «Файлы»? Предположим, мы хотим добавить документы внутри него, а также в наш архив. Мы могли бы использовать ту же команду, что и выше, но добавить Stuff/Files/* в конец команды.

11Add_To_Archive

Звездочка означает включение всего содержимого папки. Поэтому, если бы в папке «Файлы» была еще одна папка, она бы тоже была добавлена. Однако, если в этой папке есть элементы, они не будут включены. Для этого нам нужно добавить -r (что означает рекурсивно или рекурсивно).

12Add_Recursively

Следует отметить, что две приведенные выше команды не предназначены для «добавления» файлов в zip-архив; они созданы для его создания. Однако, поскольку архив уже существует, команда просто добавляет новые файлы в существующий архив. Если бы мы хотели создать этот архив сразу (вместо трех шагов, которые мы выполняли для постепенного добавления в него файлов в образовательных целях), мы могли бы просто набрать zip -r test Stuff/* и создал бы тот же архив.

13Create_Recursively

Из команды и вывода вы заметите, что включены три файла в папке «Stuff», а также три документа в папке «Files», поэтому все было выполнено с помощью красивой и простой команды..

А как насчет тех двух «лишних» документов, которые мы создали на рабочем столе? Что ж, принцип работы zip заключается в том, что если вы попытаетесь добавить в архив файл, который уже существует в архиве, новые файлы перезапишут старые. Итак, поскольку документы, которые мы создали на рабочем столе (doc2.txt и doc3.txt), содержат контент (мы добавили «привет, мир!» в doc2.txt и «ура» в doc3.txt), мы должны иметь возможность добавьте эти документы, а затем сможете проверить это. Сначала мы перетащим два «лишних» документа в папку «Вещи».

Вас, скорее всего, спросят, хотите ли вы, чтобы новые документы перезаписывали существующие (помните, что они находятся в папке, а не в zip-архиве), так что позвольте этому произойти.

Теперь, когда все готово, давайте добавим их в архив, набрав zip test Stuff/doc2.txt Stuff/doc3.txt

14Adding_Files_To_Archive

Вы заметите, что приведенная выше команда теперь показывает обновляемые файлы, а не добавляемые. Если мы теперь проверим архив, мы заметим, что файлы кажутся одинаковыми, но когда doc2.txt и doc3.txt откроются, вы увидите, что теперь в них есть контент, а не пустые, как в наших исходных файлах. были.

Иногда в Linux вы можете увидеть, что некоторые файлы скрыты путем добавления точки («.») в начало имени файла. Это особенно характерно для файлов конфигурации, которые должны существовать, но часто не видны (что упрощает беспорядок, а также снижает вероятность случайного удаления файла конфигурации). Мы можем легко добавить их в zip-файл. Во-первых, предположим, что мы хотим создать zip-файл, называемый резервной копией, из каждого файла в каталоге. Мы можем сделать это, набрав в терминале zip backup * .

15Add_All_Files

При этом будут добавлены все файлы и папки, но элементы в этих папках не будут включены. Чтобы добавить их, мы должны снова добавить -r, чтобы команда zip -r backup * была командой.

16Add_Files_Recursively

Теперь мы почти у цели. Чтобы рекурсивно добавлять папки, файлы и скрытые файлы, команда на самом деле очень простая: zip -r backup .

17Add_Files_Recursively_And_Hidden

Теперь распаковать архив довольно просто. Однако прежде чем что-либо делать, удалите документы на рабочем столе (doc2.txt и doc3.txt), а также папку Stuff. Как только они исчезнут, введите unzip test.zip , чтобы развернуть содержимое исходного заархивированного архива в ваш текущий каталог..

18Unzip_Archive

Примечание. Если бы мы не удалили документы, мы бы попытались разархивировать содержимое нашего zip-файла в существующий файл, поэтому нас спросят, хотим ли мы заменить каждый документ.

И все! Архивирование и разархивирование — довольно распространенная задача, и хотя, безусловно, доступны варианты с графическим интерфейсом, с практикой вы обнаружите, что выполнение тех же задач из терминала также не очень сложно..

Похожие сообщения:


17.01.2012