Opret og rediger zip-filer i Linux ved hjælp af terminalen

I en tidligere artikel beskrev vi, hvordan man bruger tar-kommandoen til at oprette arkiver. Selvom tjære er et meget almindeligt komprimeringsskema for Linux , er det ikke nær så populært for Windows- og Mac OS X -brugere, som vil finde de fleste af deres arkiver oprettet ved hjælp af zip-formatet.

Det er nemt at bruge Zip (at oprette) og Unzip (for at udvide) arkiver i Linux . Faktisk vil de fleste GUI -arkivstyringsprogrammer (såsom Ark , File Roller og Xarchiver ) fungere som en frontend til stort set ethvert kommandolinjearkiveringsprogram, du har på din computer, og Zip er ingen undtagelse. Vi kan selvfølgelig også bruge Zip fra Terminalen(Terminal) . Sådan gør du.

Det første trin, som du måske kan gætte, er at åbne terminalen(Terminal) .

01Åben_Terminal

Skriv derefter " sudo apt-get install zip unzip " (uden anførselstegn), bare for at sikre dig, at vi har zip og unzip installeret.

02Install_Zip_and_Unzip

Bemærk: Hvis disse to programmer allerede er installeret, vil du modtage en meddelelse om, at dette er tilfældet, som vist ovenfor.(Note: if those two programs are already installed, you’ll receive a message stating this to be the case, as shown above.)

Når det er installeret, kan vi bruge zip til at oprette arkiver (eller ændre eksisterende), og pakke ud for at udvide dem til deres originaler. Af hensyn til denne artikel opretter vi en ny mappe på vores skrivebord(Desktop) , kaldet Stuff . I terminalen(Terminal) kan vi gøre det med en enkelt kommando - mkdir /home/username/Desktop/Stuff (du erstatter selvfølgelig "brugernavn" med dit eget brugernavn, som vist nedenfor, og hvis du allerede har en Stuff- mappe på dit skrivebord(Desktop) , vil du gerne ændre navnet).

03Make_Stuff_Directory

Nu hvor vi har en Stuff -mappe, bruger vi 'cd'-kommandoen til at gøre Stuff - mappen til vores nuværende arbejdsmappe.

cd /home/username/Desktop/Stuff

Skriv nu touch doc1.txt doc2.txt doc3.txt && mkdir Filer(touch doc1.txt doc2.txt doc3.txt && mkdir Files) i din terminal , som vil oprette en mappe kaldet Filer(Files) , samt tre dokumenter – doc1.txt, doc2.txt og doc3.txt – inde i mappen Stuff . .

04Make_Docs

Endnu en kommando, at 'cd'e ind i den nyoprettede Files - mappe (cd Files ), fordi vi vil have nogle andre dokumenter i den.

cd filer(cd Files)

Til sidst skal du skrive touch doc4.txt doc5.txt doc6.txt for at oprette tre nye dokumenter.

05Lav_Flere_Dokumenter

Skriv nu cd ../.. for at ændre skrivebordet(Desktop) tilbage til arbejdsmappen.

06CD_Tilbage_Til_Desktop

Vores næstsidste trin, før du opretter en zip-fil, er at oprette et par "ekstra" dokumenter på skrivebordet(Desktop) med de samme navne som filer, vi lige har oprettet, så skriv touch doc2.txt doc3.txt for at oprette dem.

07Create_Duplicate_Docs

Til sidst skal du åbne hver af de to "ekstra" tekstfiler og tilføje noget tekst til dem. Det behøver ikke at være noget meningsfuldt (eller langt), bare så vi kan se, at disse dokumenter faktisk er forskellige fra dem, der allerede er oprettet i mapperne Stuff og filer.

Når det er gjort, kan vi begynde at oprette vores zip-filer. Den enkleste måde at bruge zip på er at fortælle det navnet på det zip-arkiv, du vil oprette, og derefter udtrykkeligt navngive hver eneste fil, der skal ind i det. Så hvis vi antager, at vores arbejdsmappe er skrivebordet(Desktop) , ville vi skrive zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt for at oprette et arkiv kaldet test.zip (vi behøver ikke at bruge ".zip" ”-udvidelse i kommandoen, da den tilføjes automatisk), som ville indeholde doc1.txt, doc2.txt og doc3.txt som findes inde i Stuff - mappen.

08Create_First_Archive

Du vil se en smule output, som informerer os om, at tre dokumenter (doc1.txt, doc2.txt og doc3.txt) er blevet tilføjet til arkivet.

09First_Archive_Output

Vi kan teste dette ved at dobbeltklikke på arkivet, som skulle sidde på vores skrivebord(Desktop) . Hvis du gør det, bør det åbne det i standardarkiveringsprogrammet ( Ark i KDE , File Roller i GNOME og Xarchiver i Xfce ).

10Åbn_i_arkivprogram

Hvad med mappen Filer? Hvis vi antager, at vi vil have det, skal du tilføje dokumenterne i det, også i vores arkiv, vi kunne bruge den samme kommando som ovenfor, men tilføje Stuff/Files/* til slutningen af ​​kommandoen.

11Tilføj_til_arkiv

Stjernen betyder at inkludere alt i mappen. Så hvis der havde været en anden mappe inde i mappen Filer(Files) , ville den også være blevet tilføjet. Men hvis den mappe havde elementer inde i den, vil de ikke blive inkluderet. For at gøre det skal vi tilføje -r (som står for rekursiv eller rekursiv).

12Tilføj_Rekursivt

Det skal bemærkes, at de to ovenstående kommandoer ikke er designet til at "føje" filer til et zip-arkiv; de er designet til at skabe en. Men da arkivet allerede eksisterer, tilføjer kommandoen blot alle nye filer til det eksisterende arkiv.  Havde(Had) ønsket at oprette dette arkiv på én gang (i stedet for de tre trin, vi har udført for gradvist at tilføje filer til det til uddannelsesformål), kunne vi simpelthen have skrevet zip -r test Stuff/* og ville have oprettet det samme arkiv.

13Opret_Rekursivt

Du vil bemærke fra kommandoen og outputtet, at de tre filer inde i Stuff - mappen er inkluderet, såvel som de tre dokumenter inde i mappen Filer(Files) , så alt blev udført i en fin, enkel kommando.

Hvad med de to "ekstra" dokumenter, vi oprettede på vores skrivebord(Desktop)(Well) , måden zip fungerer på er, at hvis du forsøger at tilføje en fil til et arkiv, der allerede findes i arkivet, vil de nye filer overskrive de gamle. Så da de dokumenter, vi oprettede på vores skrivebord(Desktop) (doc2.txt og doc3.txt) har indhold (vi tilføjede "hej verden!" til doc2.txt og "yay" til doc3.txt), burde vi være i stand til at tilføje disse dokumenter og derefter være i stand til at teste dette.  Først(First) trækker vi de to "ekstra" dokumenter ind i mappen Stuff .

Du vil sandsynligvis blive spurgt, om du vil have de nye dokumenter til at overskrive de eksisterende (dette er i mappen, husk, ikke zip-arkivet), så lad dette ske.

Nu hvor dette er gjort, lad os tilføje dem til arkivet ved at skrive zip test Stuff/doc2.txt Stuff/doc3.txt

14Tilføjelse_filer_til_arkiv

Du vil bemærke, at ovenstående kommando nu viser filer, der opdateres i stedet for tilføjet. Hvis vi nu tjekker arkivet, vil vi bemærke, at filerne ser ud til at være de samme, men når doc2.txt og doc3.txt åbnes, vil du se, at de nu har indhold i dem, i stedet for at være tomme som vores originale filer var.

Nogle gange i Linux vil du se, at nogle filer er skjult ved at tilføje et punktum (“.”) til begyndelsen af ​​filnavnet. Dette er især almindeligt for konfigurationsfiler, som skal eksistere, men som ofte ikke er synlige (hvilket letter rod og gør det mindre sandsynligt, at en konfigurationsfil ved et uheld bliver slettet). Vi kan tilføje disse til en zip-fil ganske nemt.  Lad(First) os først antage, at vi vil oprette en zip-fil kaldet backup ud af hver fil i en mappe. Det kan vi gøre ved at skrive zip backup * i terminalen.

15Tilføj_alle_filer

Dette vil tilføje alle filer og mapper, selvom alle elementer i denne mappe ikke vil blive inkluderet. For at tilføje dem, ville vi tilføje -r igen, så zip -r backup * ville være kommandoen.

16Tilføj_filer_Rekursivt

Nu er vi der næsten. For at tilføje mapper, filer og skjulte filer rekursivt, er kommandoen faktisk meget enkel: zip -r backup .

17Add_Files_Recursively_And_Hidden

Nu er det ret nemt at pakke ud. Før vi gør noget, skal du dog gå videre og slette dokumenterne på skrivebordet(Desktop) (doc2.txt og doc3.txt) samt mappen Stuff . Når de er væk, vil du ved at skrive unzip test.zip udvide indholdet af vores originale zippede arkiv til din nuværende mappe.

18Unzip_Arkiv

Bemærk: Hvis vi ikke havde slettet dokumenterne, ville vi forsøge at udpakke indholdet af vores zip-fil til en eksisterende fil, så vi ville blive spurgt, om vi ville erstatte hvert eneste dokument.

Og det er det! Zipping og Unzipping er en temmelig almindelig opgave, og selvom der helt sikkert er GUI- muligheder tilgængelige, vil du med øvelse finde ud af at udføre de samme opgaver fra terminalen(Terminal) heller ikke særlig svært.



About the author

Jeg er softwareingeniør og opdagelsesrejsende. Jeg har erfaring med både Microsoft Xbox 360 og Google Explorer. Jeg er i stand til at give ekspertanbefalinger til visse softwareudviklingsværktøjer, samt hjælpe folk med at fejlfinde almindelige Explorer-fejl.



Related posts