Zip är ett populärt kommando över flera plattformar som används för komprimering och arkivering av data. Komprimering sparar utrymme genom att krympa storleken på data medan arkivering gör överföringen av data enklare genom att kombinera flera filer eller kataloger till en enda fil. Tänk, om vi måste överföra 5 filer över internet, var och en med storlek 50 megabyte; att överföra alla filer en efter en kan ta lång tid. Om du komprimerar filerna för att minska storleken upp till 25 MB och sedan arkiverar dem alla i en enda fil blir det mycket snabbare att överföra filerna än när de är okomprimerade. Zip är det mest använda verktyget för arkivering och komprimering av filer, medan unzip används för att extrahera och dekomprimera zippade filer.
I den här artikeln kommer vi att titta på zip- och unzip-kommandona i Linux, tillsammans med deras kommandoradsalternativ och exempel.
Förutsättningar
- Ubuntu eller Debian-system
- Zip och packa upp verktyg installerade
Notera: Kommandona som nämns i den här artikeln har testats på Ubuntu 20.04 LTS (Focal Fossa). Samma kommandon gäller även för Debian-distribution.
Installera Zip och Unzip
Som standard är zip- och unzip-paket installerade i Ubuntu-system. Om dessa saknas i ditt system kan du enkelt installera dem. Starta terminalen med Ctrl + Alt + T-tangentbordet. För att installera zip, ge sedan följande i Terminal:
$ sudo apt installera zipFör att installera unzip, utfärda kommandot nedan i Terminal:
$ sudo apt installera unzipDet finns några scenarier där du kan behöva zip-filer:
- För att spara lagringsutrymme komprimerar filstorleken genom att blixtlås
- Överföra stora filer via e-post
- Ladda upp eller ladda ner filer i snabbare hastighet
- För att spara bandbredd
ZIP-kommando i Linux
För att skapa en zip-fil måste du ange namnet på det zippade arkivet och de filer som måste inkluderas i zip.
$ zip-alternativ zip_file file1 file2…Zip en fil
För att zip en enda fil med namnet testfil.Text; till en zip-fil med namnet testa.blixtlås, kommandot skulle vara:
$ zip-test.zip-testfil.Text
Ovanstående kommando komprimerar den angivna filen i den aktuella katalogen medan den lämnar originalfilen.
För att bekräfta om zip-filen har skapats, utfärda kommandot i terminalen nedan:
$ ls -l
Zippa flera filer
Du kan också zip flera filer med zip-kommandot. Låt oss skapa några filer som heter testfil1.Text, testfil2.Text, testfil3.Text, och testfil4.Text med följande kommando i terminalen:
$ sudo touch testfil1.txt testfil2.txt testfil3.txt testfil4.TextNu för att zip dessa filer i en enda fil, namngiven filer.blixtlås, utfärda följande kommando i terminalen:
$ zip-filer.zip testfil1.txt testfil2.txt testfil3.txt testfil4.Text
Du kan också använda jokertecken för att ange flera filer med samma tillägg. Till exempel för att zip alla filer som slutar med .txt-tillägg i en zip-fil med namnet files1.zip, utfärda följande kommando i terminalen:
$ zip-filer 1.blixtlås *.Text
Zippa en fil till en annan katalog
Om du behöver zip en fil till någon annan katalog än den aktuella katalogen, använd följande syntax:
$ zip / sökväg / till / katalog.zip_file filnamnTill exempel att zip testfil.Text fil till Dokument / dokument / katalog som heter testa.blixtlås, kommandot skulle vara:
$ zip Dokument / dokument / test.zip-testfil.Text
Lägg till fil i ett befintligt zip
Du kan också lägga till en fil i en befintlig zip-fil. Använd följande syntax för att göra det:
$ zip -u zip_file filnamnLåt oss säga att du har en zip-fil (filer1.blixtlås) Och du vill inkludera ytterligare en fil (testfil4.Text) I det skulle kommandot, i detta fall, vara:
$ zip -u-filer1.zip testfil4.Text
Ta bort en fil från en zip-fil
På samma sätt kan du också ta bort en fil från en redan existerande zip-fil. Använd följande syntax för att göra det:
$ zip -d zip_file filnamnLåt oss säga att du har en zip-fil (filer1.blixtlås) Och du vill ta bort en fil (testfil1.Text) Från det skulle kommandot, i detta fall, vara:
$ zip -d-filer1.zip testfil1.Text
Zipa filer i tyst läge
Om du inte vill visa utdata från zip-kommandot, använd alternativet -q (tyst) med zip-kommandot enligt följande:
$ zip -q zip_file filnamnTill exempel när du zippar testfilen.txt kan du undertrycka utdata med följande kommando:
$ zip -q test.zip-testfil.TextI följande skärmdump kan du se zip-kommandoutgången som inte har visats på terminalen.
Ta bort originalfiler efter att du har zippat
Som standard behåller zip originalfilen tillsammans med den komprimerade filen. Men med hjälp av -m alternativet med zip-kommandot kan du ta bort originalfilerna efter att du har skapat deras zippade fil.
$ zip -m zip_file filnamnTill exempel kommer följande kommando att ta bort testfil.Text efter att ha skapat sin zippade fil, testa.blixtlås.
$ zip -m test.zip-testfil.Text
Zip-kataloger
För att zip-kataloger i ditt Linux-system ska du använda -r (rekursivt) alternativ med zip-kommandot. De -r alternativet kommer att kasta katalogerna rekursivt, dvs.e., inklusive innehåll i underkataloger.
$ zip -r zip_file katalognamnTill exempel att zipa Dokument katalog rekursivt till testa.blixtlås fil, skulle kommandot vara:
$ zip -r test.zip-dokument /Detta kommando kommer att zippa dokumentkatalogen tillsammans med alla underkataloger och filer som ingår i den.
Ställa in kompressionsnivå
Du kan också ställa in komprimeringsnivån som ska tillämpas på filerna som zippas. Komprimeringsnivån varierar från 0 till 9, där 6 är standardvärdet, 0 är det lägsta värdet och 9 är det högsta komprimeringsvärdet.
Till exempel att zipa alla textfiler till filer1.blixtlås med det högsta komprimeringsvärdet skulle kommandot vara:
$ zip -9 filer1.blixtlås *.Text
På samma sätt att zipa alla textfiler till filer2.blixtlås med det lägsta kompressionsvärdet -0, kommandot skulle vara:
Följande är resultatet av ls kommandot efter att du skapat zip-filerna. Om vi jämför storlekarna på båda zip-filerna kan du se files1.zip, som komprimeras med komprimeringsnivå 9, har mindre storlek jämfört med filer2.zip, som komprimeras med komprimeringsnivå 0.
Skapa en lösenordsskyddad zip-fil
Du kan också skapa lösenordsskyddade zip-filer med -e alternativ med zip-kommandot enligt följande:
$ zip -e zip_file filnamnTill exempel kommer följande kommando att zippa alla textfiler i filer3.blixtlås, be sedan om ett lösenord. Ställ in valfritt lösenord och tryck på Enter. Kontrollera sedan lösenordet genom att skriva det igen och trycka på Enter.
$ zip -e-filer3.blixtlås *.Text
Lägga till lösenord för att zip-filer med zipcloak
I föregående exempel har vi skapat en lösenordsskyddad zip-fil. Men tänk om du har skapat en zip-fil och glömt att ställa in lösenordet. Med zipcloak-kommandot kan du när som helst ställa in ett lösenord till en zip-fil.
$ zipcloak zip_fileTill exempel för att ställa in ett lösenord till en redan skapad zip-fil med namnet filer.blixtlås, kommandot skulle vara:
$ zipcloak-filer.blixtlåsDu kommer att bli ombedd att ange ett lösenord. Skriv valfritt lösenord och tryck Stiga på. Kontrollera sedan lösenordet genom att skriva det igen och trycka på Stiga på.
Visa filinformation med zipdetails-kommandot
Zipdetails-kommandot visar detaljerad information om den zippade filen. Informationen den visar handlar om poststruktur snarare än om komprimerad data. För att hitta detaljerad information om den zippade filen, skriv zipdetails följt av det zippade filnamnet, som visas nedan:
$ zipdetails zip_fileTill exempel för att hitta detaljerad information om en zippad fil, testa.blixtlås, kommandot skulle vara:
$ zipdetails test.blixtlåsI utgången ser du mycket information om din zippade fil.
Sök inuti filen med zipgrep-kommandot
Med zipgrep-kommandot kan vi söka efter en viss text i filer i den zippade filen utan att extrahera den. Om en zip-fil är lösenordsskyddad måste du först ange lösenordet för den. För att söka efter text i zip-filen, använd följande syntax:
$ zipgrep-uttryck zip_fileTill exempel för att söka efter vilka filer i zip-filen testa.blixtlås innehåller ordet inkörsport, kommandot skulle vara:
$ zipgrep gateway-test.blixtlåsUtgången är som följer. Du kan se två filer iplist.text och iplist inuti testa.blixtlås innehåller ordet gateway.
För att söka efter en text från en viss fil inuti zip-filen kan du också lägga till den:
Till exempel kommer följande kommando att söka efter ordet inkörsport från endast en specifik fil iplist inuti zip-filen testa.blixtlås:
$ zipgrep gateway-test.zip Document / docs / iplist
Visa information med zipinfo-kommandot
Zipinfo-kommandot i Linux listar filerna i en zip-fil tillsammans med deras behörigheter, kompressionstyp, originalstorlek, datum och tidsstämpel. För att se information om en specifik zip-fil, skriv zipinfo följt av filnamnet, som visas nedan:
$ zipinfo filnamnFöljande kommando visar information om zip-filen filer1.blixtlås:
$ zipinfo-filer 1.blixtlås
Dela upp filen med zipsplit-kommandot
Ibland är zip-filens storlek för stor för att du inte kan ladda upp den eller skicka den som en bilaga på grund av storleksbegränsningar. Med kommandot zipsplit kan du dela zip-filer i mindre filer som är lättare att överföra. Att dela en zip-fil i mindre filer, med storlek inte längre än
De
Till exempel kommer kommandot nedan att delas testa.blixtlås i mindre filer med en storlek som inte längre än 104857600 byte (104 MB).
$ zipsplit -n 104857600 test.blixtlåsHär är utdata från ovanstående kommando. De testa.blixtlås filen är uppdelad i tre filer, som sekventiellt benämns som test1.blixtlås, test2.blixtlås, och test3.blixtlås, respektive.
Om du kör ls kommando, kommer du att se alla de tre delade zip-filerna, tillsammans med den ursprungliga zip-filen.
Lägg till eller visa kommentarer i en zip-fil med zipnote
Med zipnote-kommandot kan du lägga till, visa och redigera kommentarerna i din zip-fil. Använd följande kommando för att visa kommentarer:
$ zipnote zip_fileErsätt blixtlås fil med ditt faktiska zip-filnamn.
Om det inte finns några kommentarer ser du följande standardvy:
För att lägga till kommentarer måste du först omdirigera utdata från zipnote till kommentarfilen. Använd följande kommando för att göra det:
Till exempel att lägga till kommentarer till filer1.blixtlås, kommandot skulle vara:
$ zipnote-filer1.zip> kommentarerRedigera nu kommentarer fil med följande kommando:
$ sudo nano kommentarerFör varje fil, lägg till dina kommentarer ovanför raderna som säger @ (kommentar ovanför denna rad),spara och avsluta sedan filen. Vi har lagt till två kommentarer i kommentarfilen, vilket framgår av skärmdumpen nedan.
Skriv nu kommentarerna till din zip-fil med följande kommando:
I vårt fall skulle kommandot vara;
$ zipnote -w filer1.blixtlås < commentsNu kan du verifiera om kommentarerna har lagts till genom att utfärda följande kommando i Terminal:
$ zipnote zip_file
Visa hjälp
För att se hjälp med zip-kommando, använd följande kommando:
$ zip --hjälpDu kan också besöka manusidan för zip-verktyget med följande kommando:
$ man zipPacka upp kommandot i Linux
Med kommandot unzip kan du enkelt extrahera innehåll från en zip-fil. För att packa upp en fil, använd följande syntax:
$ unzip-alternativ zip_filePacka upp enstaka zip-filer
För att packa upp en enda zip-fil, låt oss säga test.zip, kommandot skulle vara:
$ unzip-test.blixtlåsDen packar upp filen i den aktuella katalogen.
Packa upp en fil till en annan katalog
Du kan också packa upp en fil till någon annan katalog snarare än till den aktuella katalogen med alternativet -d enligt följande:
$ unzip zip_file -d / path / to / katalogFör att packa upp en zip-fil, testa.blixtlås till Dokument, katalog, skulle kommandot vara:
$ unzip-test.zip -d Dokument /
Packa upp flera filer
Tänk på att det finns flera zip-filer i en aktuell katalog som du vill packa upp. Du kan packa upp dem alla med ett enda kommando enligt följande:
$ unzip '*.blixtlås'Detta kommando packar upp alla zip-filer som finns i din nuvarande katalog.
Undertrycka utdata när du använder unzip
På samma sätt som zip-kommandot kan du också dölja utdata från unzip-kommandot med -q alternativ enligt följande:
$ unzip -q zip_file
Uteslut filer med unzip
Om du vill packa upp en zip-fil men inte vill extrahera en specifik fil, använd -x alternativ nedan:
$ unzip zip_file -x filnamnVi har till exempel ett blixtlås filetest.blixtlås som innehåller tre filer i den. Följande kommando packar upp alla filer utom den ena filen Rapportera.Text:
$ unzip-test.zip -x-rapport.Text
Packa upp lösenordsskyddade zip-filer
Använd för att packa upp en lösenordsskyddad zip-fil utan att fråga -P alternativ följt av lösenordet för filen:
$ unzip -PVi har till exempel en zip-fil, testa.blixtlås, som skyddas av lösenordet “tenn”. För att extrahera den här filen skulle kommandot vara:
$ unzip -P tennprov.blixtlås
Skriva över zip-filer
Om du packar upp en fil till en plats där de extraherade filerna redan existerar kommer du att bli ombedd att: skriva över den aktuella filen, hoppa över att packa upp den aktuella filen, skriva över alla filer, hoppa över packa upp alla filer eller byta namn på filen.
För att skriva över alla befintliga filer utan att fråga, använd -o alternativ enligt följande:
Lista innehållet i ett zip
Använda -l alternativet med unzip-kommandot kan du lista innehållet i en zip-fil utan att extrahera den.
$ unzip -l zip_fileExempel:
$ unzip -l test.blixtlåsFöljande är utdata från ovanstående kommando som listar filerna i zip-filen testa.blixtlås, tillsammans med deras namn, originalfilstorlek, datum och tidsstämplar.
Visa detaljerad information
För att visa detaljerad information utan att extrahera zip-filen, använd alternativet -v enligt följande:
$ unzip -v zip_fileExempel:
$ unzip -v test.blixtlåsFöljande är utdata från ovanstående kommando som visar filerna i testa.blixtlås, tillsammans med deras namn, originalfilstorlek, komprimerad storlek, komprimeringsmetod, komprimeringsförhållande, datum och tidsstämplar.
Söker efter fel i ett arkiv
Med alternativet -t i unzip-kommandot kan du kontrollera om en zip-fil är giltig och inte innehåller några fel.
$ unzip -t test1.blixtlåsExempel:
$ unzip -t test1.blixtlåsOvanstående kommandokontroll för fel i test1.blixtlås fil och visar resultat. Följande utdata visar att det inte finns något fel i den komprimerade filen.
Visa hjälp
Använd följande kommando för att se hjälp angående unzip-kommandot:
$ unzip --hjälpDu kan också besöka unzip-verktygssidan med följande kommando:
$ man packa uppSlutsats
Det är allt du behöver veta för att behärska zip- och unzip-kommandon i Linux. I den här artikeln har vi diskuterat i detalj användningen av zip- och unzip-kommandon i Linux tillsammans med olika kommandoradsalternativ och exempel.