Създавайте и редактирайте zip файлове в Linux с помощта на терминала

В предишна статия описахме подробно как да използвате командата tar за създаване на архиви. Докато tar е много често срещана схема за компресиране за Linux , тя не е толкова популярна за потребителите на Windows и Mac OS X , които ще намерят повечето от архивите си, създадени с помощта на zip формата.

Лесно е да използвате Zip (за създаване) и Unzip (за разширяване) архиви в Linux . Всъщност повечето програми за управление на архиви с GUI (като Ark , File Roller и Xarchiver ) ще действат като интерфейс към почти всяка програма за архивиране на команден ред, която имате на вашия компютър, и Zip не е изключение. Разбира се, можем да използваме и Zip от терминала(Terminal) . Ето как.

Първата стъпка, както може би се досещате, е да отворите терминала(Terminal) .

01Open_Terminal

След това въведете „ sudo apt-get install zip unzip “ (без кавичките), само за да се уверите, че имаме инсталирани zip и unzip.

02Install_Zip_and_Unzip

Забележка: ако тези две програми вече са инсталирани, ще получите съобщение, че това е така, както е показано по-горе.(Note: if those two programs are already installed, you’ll receive a message stating this to be the case, as shown above.)

Веднъж инсталирани, можем да използваме zip за създаване на архиви (или модифициране на съществуващи) и разархивиране, за да ги разширим до оригиналите им. В името на тази статия ще създадем нова папка на нашия работен плот(Desktop) , наречена Stuff . В терминала(Terminal) можем да го направим с една команда – mkdir /home/username/Desktop/Stuff (разбира се, ще замените „username“ със собственото си потребителско име, както е показано по-долу, и ако вече имате папка за неща(Stuff) на вашия работен плот(Desktop) , ще искате да промените името).

03Make_Stuff_Directory

Сега, когато имаме папка Stuff , ще използваме командата 'cd', за да направим папката Stuff нашата текуща работна директория.

cd /home/username/Desktop/Stuff

Сега въведете touch doc1.txt doc2.txt doc3.txt && mkdir Files във вашия терминал(Terminal) , което ще създаде папка, наречена Files , както и три документа – doc1.txt, doc2.txt и doc3.txt – в папката Stuff .

04Направи_Документи

Още една команда за 'cd' в новосъздадената папка Files (cd (Files)Files ), защото ще искаме някои други документи вътре.

cd файлове(cd Files)

Накрая въведете touch doc4.txt doc5.txt doc6.txt , за да създадете три нови документа.

05Направи_още_документи

Сега въведете cd ../.. /.. , за да промените работния плот(Desktop) обратно в работната директория.

06CD_Back_To_Desktop

Нашата предпоследна стъпка преди да създадем zip файл е да създадем няколко „допълнителни“ документа на работния плот(Desktop) със същите имена като файловете, които току-що създадохме, така че въведете touch doc2.txt doc3.txt , за да ги създадете.

07Създаване на_дублирани_документи

Накрая отворете всеки от двата „допълнителни“ текстови файла и добавете малко текст към тях. Не е необходимо да е нещо смислено (или дълго), само за да можем да видим, че тези документи наистина са различни от тези, които вече са създадени в папките неща(Stuff) и файлове.

След като това стане, можем да започнем да създаваме нашите zip файлове. Най-простият начин да използвате zip е да му кажете името на zip архива, който искате да създадете, след което изрично да наименувате всеки файл, който трябва да влезе в него. Така че, ако приемем, че нашата работна директория е Desktop , ще zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt , за да създадем архив, наречен test.zip (не е необходимо да използваме „.zip ” разширение в командата, тъй като то ще бъде добавено автоматично), което ще съдържа doc1.txt, doc2.txt и doc3.txt, както се намира в папката Stuff .

08Създаване_първи_архив

Ще видите малко изход, който ни информира, че три документа (doc1.txt, doc2.txt и doc3.txt) са добавени към архива.

09Първи_Архив_Изход

Можем да тестваме това, като щракнем двукратно върху архива, който трябва да седи на нашия работен плот(Desktop) . Това трябва да го отворите в стандартната програма за архивиране ( Ark в KDE , File Roller в GNOME и Xarchiver в Xfce ).

10Open_In_Archive_Program

Сега, какво ще кажете за папката Files? Ако приемем, че го искаме, добавяме документите вътре в него, в нашия архив също, можем да използваме същата команда, както по-горе, но да добавим Stuff/Files/* в края на командата.

11Добавяне_към_архив

Звездичката означава да включите всичко в папката. Така че, ако имаше друга папка в папката Files , тя също щеше да бъде добавена. Въпреки това, ако тази папка има елементи вътре, те няма да бъдат включени. За да направим това, ще трябва да добавим -r (което означава рекурсивно или рекурсивно).

12Add_Recursively

Трябва да се отбележи, че горните две команди не са предназначени за „добавяне“ на файлове към zip архив; те са предназначени да създадат такъв. Въпреки това, тъй като архивът вече съществува, командата просто добавя всички нови файлове в съществуващия архив.  Искахме(Had) да създадем този архив наведнъж (вместо трите стъпки, които изпълнихме, за да добавяме постепенно файлове към него за образователни цели), можехме просто да напишем zip -r test Stuff/* и щяхме да създадем същия архив.

13Създаване_Рекурсивно

Ще забележите от командата и изхода, че трите файла в папката Stuff са включени, както и трите документа в папката Files , така че всичко беше постигнато с хубава, проста команда.

Сега, какво ще кажете за тези два „допълнителни“ документа, които създадохме на нашия работен плот(Desktop)Е(Well) , начинът, по който zip работи е, ако се опитате да добавите файл към архив, който вече съществува в архива, новите файлове ще презапишат старите. И така, тъй като документите, които създадохме на нашия работен плот(Desktop) (doc2.txt и doc3.txt), имат съдържание към тях (добавихме „здравей свят!“ към doc2.txt и „yay“ към doc3.txt), би трябвало да можем да добавете тези документи и след това можете да тествате това.  Първо(First) , ще плъзнем двата „допълнителни“ документа в папката Stuff .

Вероятно ще бъдете попитани дали искате новите документи да презапишат съществуващите (това е в папката, запомнете, не в zip архива), така че оставете това да се случи.

Сега, когато това е направено, нека ги добавим към архива, като напишете zip test Stuff/doc2.txt Stuff/doc3.txt

14Добавяне на_файлове_към_архив

Ще забележите, че горната команда вече показва, че файловете се актуализират, вместо да се добавят. Ако сега проверим архива, ще забележим, че файловете изглеждат еднакви, но когато doc2.txt и doc3.txt се отворят, ще видите, че вече имат съдържание в тях, вместо да са празни като оригиналните ни файлове са били.

Понякога в Linux ще видите, че някои файлове са скрити чрез добавяне на точка (.”) в началото на името на файла. Това е особено често срещано за конфигурационни файлове, които трябва да съществуват, но често не се виждат (което облекчава претрупването, както и намалява вероятността конфигурационен файл да бъде изтрит случайно). Можем да ги добавим към zip файл доста лесно.  Първо(First) , нека приемем, че искаме да създадем zip файл, наречен архивиране, от всеки файл в директория. Можем да го направим, като напишем zip backup * в терминала.

15Добавяне на всички_файлове

Това ще добави всички файлове и папки, въпреки че всички елементи в тази папка няма да бъдат включени. За да ги добавим, ще добавим отново -r, така че zip -r backup * ще бъде командата.

16Add_Files_Recursively

Сега сме почти там. За да добавите рекурсивно папки, файлове и скрити файлове, командата всъщност е много проста: zip -r backup.

17Add_Files_Recursively_And_Hidden

Сега разархивирането е доста лесно. Преди да направим нещо обаче, продължете и изтрийте документите на работния плот(Desktop) (doc2.txt и doc3.txt), както и папката Stuff . След като ги няма, въвеждането на unzip test.zip ще разшири съдържанието на нашия оригинален компресиран архив във вашата текуща директория.

18Разархивирайте_архив

Забележка: Ако не бяхме изтрили документите, щяхме да се опитваме да разархивираме съдържанието на нашия zip файл в съществуващ файл, така че ще бъдем попитани дали искаме да заменим всеки документ.

И това е! Компресирането и разархивирането(Unzipping) е доста често срещана задача и макар че със сигурност има налични опции за GUI , с практиката ще откриете, че изпълнението на същите задачи от терминала(Terminal) също не е много трудно.



About the author

Аз съм инженер по windows, ios, pdf, грешки, джаджи с над 10 години опит. Работил съм върху много висококачествени Windows приложения и рамки като OneDrive за бизнеса, Office 365 и др. Неотдавнашната ми работа включваше разработването на pdf четеца за платформата на windows и работата по изясняване на съобщенията за грешки за потребителите. Освен това участвам в разработването на платформата ios от няколко години и съм много запознат както с нейните характеристики, така и с странностите.



Related posts