Skapa och redigera zip-filer i Linux med terminalen

I en tidigare artikel har vi beskrivit hur man använder tjärkommandot för att skapa arkiv. Medan tjära är ett mycket vanligt komprimeringsschema för Linux är det inte så populärt för Windows och Mac OS X-användare, som hittar de flesta arkiv som skapas med zip-format.

Det är lätt att använda Zip (för att skapa) och Unzip (för att expandera) arkiv i Linux. Faktum är att de flesta GUI-arkivhanteringsprogram (som Ark, File Roller och Xarchiver) kommer att fungera som en frontänd till nästan alla kommandoradsarkivprogram som du har på din dator och Zip är inget undantag. Naturligtvis kan vi också använda Zip från terminalen. Här är hur.

Det första steget, som du kanske kan gissa, är att öppna terminalen.

Skriv sedan "sudo apt-get installera zip zip-upp"(Utan citat), bara för att se till att vi har zip och unzip installerat.

Obs! Om de två programmen redan är installerade, får du ett meddelande som anger detta, enligt ovan.

När du har installerat kan vi använda zip för att skapa arkiv (eller ändra befintliga) och pakka ut för att expandera dem till originalet. För denna artikels skull skapar vi en ny mapp på skrivbordet, som heter Stuff. I terminalen kan vi göra det med ett enda kommando - mkdir / hem / användarnamn / skrivbord / saker (självklart ersätter du "användarnamn" med ditt eget användarnamn, som visas nedan, och om du redan har en Stuff-mapp på skrivbordet vill du ändra namnet).

Nu när vi har en Stuff-mapp använder vi kommandot "cd" för att göra mappen Stuff vår nuvarande arbetsmapp.

cd / hem / användarnamn / skrivbord / saker

Skriv nu tryck på doc1.txt doc2.txt doc3.txt && mkdir-filer till din terminal, som skapar en mapp med namnet Filer, samt tre dokument - doc1.txt, doc2.txt och doc3.txt - i mappen Stuff.

Ytterligare ett kommando, att "cd" i mappen Ny skapade filer (cd-filer), eftersom vi vill ha några andra dokument inuti det.

cd-filer

Slutligen, skriv tryck på doc4.txt doc5.txt doc6.txt för att skapa tre nya dokument.

Skriv nu CD… /… för att ändra skrivbordet tillbaka till arbetsmappen.

Vårt sista steg före skapandet av en zip-fil är att skapa ett par "extra" dokument på skrivbordet med samma namn som filer som vi just skapat, så skriv tryck på doc2.txt doc3.txt att skapa dem.

Slutligen öppna var och en av de två "extra" textfilerna och lägg till lite text på dem. Det behöver inte vara någonting meningsfullt (eller länge), så vi kan se att dessa dokument verkligen skiljer sig från dem som redan skapats i mapparna Stuff och filer.

När det är klart kan vi börja skapa våra zip-filer. Det enklaste sättet att använda zip är att berätta namnet på zip-arkivet du vill skapa, och uttryckligen namnge varje fil som ska gå in i den. Så, om vi antar att vår arbetsbok är skrivbordet, skulle vi skriva zip-test Stuff / doc1.txt Stuff / doc2.txt Stuff / doc3.txt för att skapa ett arkiv som heter test.zip (vi behöver inte använda ".zip" -tillägget i kommandot, eftersom det kommer att läggas till automatiskt), som skulle innehålla doc1.txt, doc2.txt och doc3.txt som hittades inuti mappen Stuff.

Du ser lite utdata, vilket informerar oss om att tre dokument (doc1.txt, doc2.txt och doc3.txt) har lagts till arkivet.

Vi kan testa detta genom att dubbelklicka på arkivet, vilket borde sitta på vårt skrivbord. Om du gör det borde det öppnas i standardarkivet (Ark i KDE, File Roller i GNOME och Xarchiver in Xfce).

Hur är det med mappen Files? Förutsatt att vi vill ha det, lägg till dokumenten inuti det, i vårt arkiv också, vi kan använda samma kommando som ovan, men lägg till Stuff / Files / * till slutet av kommandot.

Asterisken innebär att allt ingår i mappen. Så om det hade funnits en annan mapp i mappen Filer skulle den också ha lagts till. Men om den mappen hade föremål inuti den, kommer de inte att inkluderas. För att göra det, skulle vi behöva lägga till -r (som står för rekursiv eller rekursiv).

Det bör noteras att ovanstående två kommandon inte är avsedda att "lägga till" filer till ett zip-arkiv; de är utformade för att skapa en. Men eftersom arkivet redan existerar, lägger kommandot helt enkelt några nya filer till det befintliga arkivet. Hade velat skapa detta arkiv på en gång (i stället för de tre stegen vi har utfört för att gradvis lägga till filer till det för utbildningsändamål) kunde vi helt enkelt ha skrivit zip -r test Stuff / * och skulle ha skapat samma arkiv.

Du kommer att märka från kommandot och utgången som de tre filerna i mappen Stuff ingår, liksom de tre dokumenten i mappen Filer, så allting uppnåddes i ett fint, enkelt kommando.

Vad sägs om de två "extra" dokumenten vi skapade på skrivbordet? Jo, hur zip fungerar är om du försöker lägga till en fil i ett arkiv som redan finns i arkivet, kommer de nya filerna att skriva över de gamla. Eftersom dokumenten som vi skapade på skrivbordet (doc2.txt och doc3.txt) har innehåll till dem (vi lade till "hej världen!" Till doc2.txt och "yay" till doc3.txt) borde vi kunna lägg till de dokumenten och sedan kunna testa detta. Först drajer vi de två "extra" dokumenten i mappen Stuff.

Du kommer sannolikt att bli ombedd om du vill att de nya dokumenten ska skriva över de befintliga (det här finns i mappen, kom ihåg, inte zip-arkivet), så låt det hända.

Nu när det här är gjort, låt oss lägga till dem i arkivet genom att skriva zip-test Stuff / doc2.txt Stuff / doc3.txt

Du kommer märka ovanstående kommando visar nu att filer uppdateras istället för att läggas till. Om vi ​​nu kontrollerar arkivet ser vi att filerna verkar vara desamma, men när doc2.txt och doc3.txt öppnas ser du att de nu har innehåll i dem istället för att vara tomma som våra ursprungliga filer var.

Ibland i Linux ser du att vissa filer är gömda genom att lägga till en period (".") Till början av filnamnet. Detta är särskilt vanligt för konfigurationsfiler, som behöver existera men är ofta inte synliga (vilket underlättar störningen och gör det mindre troligt att en konfigurationsfil kommer att raderas av misstag). Vi kan lägga dem till en zip-fil ganska enkelt. Först, låt oss anta att vi vill skapa en zip-fil som heter backup från varje fil i en katalog. Det kan vi göra genom att skriva zip backup * in i terminalen.

Detta lägger till alla filer och mappar, även om några objekt i den mappen inte kommer att inkluderas. För att lägga till dem, skulle vi lägga till -r igen, så det zip -r backup * skulle vara kommandot.

Nu är vi nästan där. För att rekursivt lägga till mappar, filer och dolda filer är kommandot faktiskt väldigt enkelt enkelt: zip-r backup.

Nu är unzipping ganska lätt. Innan vi gör någonting, fortsätt dock och ta bort dokumenten på skrivbordet (doc2.txt och doc3.txt) samt mappen Stuff. När de är borta skriver du Unzip test.zip kommer att expandera innehållet i vårt ursprungliga zippade arkiv i din nuvarande katalog.

Obs! Om vi ​​inte hade raderat dokumenten skulle vi försöka ta bort innehållet i vår zip-fil till en befintlig fil, så vi skulle fråga om vi ville ersätta varje dokument.

Och det är allt! Zipping och Unzipping är en ganska vanlig uppgift, och även om det verkligen finns GUI-alternativ, är det inte heller svårt att utföra samma uppgifter från Terminal med övning.