Skip to main content

Så här komprimerar du filer med Linux-kommandoraden

Fall of The Roman Empire...in the 15th Century: Crash Course World History #12 (Maj 2025)

Fall of The Roman Empire...in the 15th Century: Crash Course World History #12 (Maj 2025)
Anonim

Det finns ett antal olika sätt att komprimera filer med Linux-kommandoraden. Den här artikeln innehåller praktiska exempel som visar hur du använder zip-kommandot för att komprimera och organisera filer i ditt filsystem.

Zippade filer används när du behöver spara utrymme och kopiera stora filer från en plats till en annan.

Om du har 10 filer som är alla 100 megabyte och du behöver överföra dem till en ftp-webbplats, kan överföringen ta en lång tid beroende på processorns hastighet.

Om du komprimerar alla 10 filer till ett enda zip-arkiv och komprimeringen minskar filstorleken till 50 MB per fil, behöver du bara överföra hälften så mycket data.

Så här skapar du ett arkiv med alla filer i en mapp

Tänk dig att du har en mapp med låtar med följande MP3-filer i den:

AC / DC Highway till helvetet
Night Prowler.mp3
Älska hungrig man.mp3
Få det varmt.mp3
Gå hela dig.mp3
Motorväg till helvete.mp3
Om du vill ha blod fick du det.mp3
Visa ner i flammor.mp3
Tryck för mycket.mp3
Slår runt bushen.mp3
Flickor fick Rhythm.mp3

Detta enkla Linux-kommando som illustrerar hur man skapar ett arkiv av alla filer i den aktuella mappen som heter ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

Text rullar upp skärmen som visar filerna som de läggs till.

Så här inkluderar du dolda filer i ett arkiv

Det föregående kommandot är bra för att arkivera alla filer i en mapp men det innehåller bara filer som inte är dolda.

Det är inte alltid så enkelt. Tänk dig att du vill zip din hemmapp så att du kan säkerhetskopiera den till en USB-enhet eller extern hårddisk. Din hemmapp innehåller dolda filer.

För att komprimera alla filer inklusive de dolda filerna i en mapp, kör följande kommando:

zip hem *. *

Detta skapar en fil som heter home.zip med alla filer i hemmappen.

(Du måste vara i hemmappen för att detta ska fungera). Problemet med det här kommandot är att det bara innehåller filerna i hemmappen och inte mapparna, vilket leder oss till nästa exempel.

Så här arkiverar du alla filer och undermappar i en zip-fil

Om du vill inkludera alla filer och undermappar i ett arkiv, kör följande kommando:

zip -r hem.

Så här lägger du till nya filer i ett befintligt Zippingsarkiv

Om du vill lägga till nya filer i ett befintligt arkiv eller uppdatera filerna i ett arkiv, använd samma namn för arkivfilen när du kör zip-kommandot.

Tänk dig att du har en musikmapp med fyra album i det och du skapar ett arkiv som heter music.zip för att vara en säkerhetskopia. Tänk nu en vecka senare ladda ner två nya album. För att lägga till de nya albumen i zip-filen, kör helt enkelt samma zip-kommando som du gjorde föregående vecka.

För att skapa det ursprungliga musikarkivet kör följande kod:

zip -r musik / hem / ditt namn / musik /

För att lägga till nya filer i arkivet kör samma kommando igen.

Om zip-filen har en lista med filer i den och en av filerna på disken har ändrats uppdateras den ändrade filen i zip-filen.

Så här uppdaterar du de befintliga filerna i ett zip-arkiv

Om du har en zip-fil som ska innehålla samma filnamn varje gång och du vill uppdatera den filen med några ändringar som har gjorts till dessa filer, så -f byter hjälper dig att göra det här.

Tänk dig att du har en zippad fil med följande filer:

/ Home / dittnamn / dokument / fil1
/ Home / dittnamn / dokument / file2
/ Home / dittnamn / dokument / fil3
/ Home / dittnamn / dokument / fil4
/ Home / dittnamn / dokument / file5
/ Home / dittnamn / dokument / file6

Tänk nu att du under veckan lade till två nya filer och ändrade två filer så att mappen / hemmet / ditt namn / dokument nu ser ut så här:

/ Home / dittnamn / dokument / fil1
/ Home / dittnamn / dokument / file2
/ Home / dittnamn / dokument / fil3
/ hem / ditt namn / dokument / fil4 (uppdaterad)
/ hem / smeknamn / dokument / fil5 (uppdaterad)
/ Home / dittnamn / dokument / file6
/ Home / dittnamn / dokument / file7
/ Home / dittnamn / dokument / file8

När du kör följande kommando kommer zip-filen att innehålla de uppdaterade filerna (file4 och file5) men file7 och file8 kommer inte att läggas till.

zip zipfilename -f -r / home / yourname / documents

Så här tar du bort filer från ett zip-arkiv

Så du skapade en massiv zip-fil med hundratals filer och inser nu att det finns fyra eller fem filer i zip-filen som du inte behöver där. Utan att behöva zip alla dessa filer igen kan du bara köra zip-kommandot med -d växla enligt följande:

zip zipfilename -d namn på fil i arkiv

Om du till exempel har en fil i arkivet med namnet hem / dokument / test.txt, raderar du det med det här kommandot:

zip zipfilename -d home / documents / test.txt

Så här kopierar du filer från en zip-fil till en annan

Om du har filer i en zip-fil och du vill kopiera dem till en annan zip-fil utan att extrahera dem först och rezipera dem, använd -u växla.

Antag att du har en zip-fil som heter "variousmusic.zip" med musik från olika artister, varav en är AC / DC. Du kan kopiera AC / DC-låtarna från filen variousmusic.zip till din ACDC.zip-fil med följande kommando:

zip differentmusic.zip -U - out ACDC.zip "Back_In_Black.mp3"

Kommandot ovan kopierar filen "Back_In_Black.mp3" från variousmusic.zip till ACDC.zip.Om zip-filen du kopierar till existerar inte, skapas den.

Hur man använder mönstringsmatchning och pipning för att skapa ett arkiv

Nästa omkopplare är en väldigt användbar, eftersom den låter dig använda utmatningen från andra kommandon för att infoga filer i din zip-fil. Antag att du vill skapa en fil som heter lovesongs.zip, som innehåller varje låt som har ordet kärlek i titeln.

För att hitta filerna med kärlek i titeln kan du använda följande kommando:

hitta / hem / ditt namn / musiknamn * kärlek *

Ovanstående kommando är inte 100 procent perfekt eftersom det plockar upp ord som "klöver" också, men du får tanken. För att lägga till alla de returnerade resultaten från ovanstående kommando till en zip-fil som heter lovesongs.zip, kör det här kommandot:

hitta / hem / ditt namn / musiknamn * kärlek * | zip lovesongs.zip - @

Så här skapar du ett delat arkiv

Om du säkerhetskopierar din dator men det enda media du har tillgång till för att säkerhetskopiera är en uppsättning tomma DVD-skivor, har du ett val. Du kan fortsätta att zippa filer tills zip-filen är 4,8 gigabyte och bränna DVD-skivan, eller du kan skapa något som kallas ett delat arkiv som håller på att skapa nya arkiv i en uppsättning efter att den når gränsen som du anger.

Till exempel:

zip mymusic.zip -r / home / myfolder / musik -s 670m

Så här anpassar du framstegsrapporten för Zippningsprocessen

Det finns olika sätt att anpassa utmatningen som visas när zippning pågår.

De tillgängliga omkopplarna är följande:

  • -db = visar hur många byte har blivit zippade och hur många är kvar att gå
  • -dc = visar ett antal filer zippade och hur många som finns kvar att gå
  • -dd = visar prickar för varje 10 MB fil som har zippat
  • -ds = anger hur ofta prickar dyker upp
  • -du = visar den okomprimerade storleken på varje fil

Till exempel:

zip myzipfilename.zip -dc -r / home / music

Så här fixar du en zip-fil

Om du har ett zip-arkiv som är trasigt kan du försöka fixa det med hjälp av -F kommando och om det misslyckas FF kommando.

Detta är användbart om du har skapat ett delat arkiv med hjälp av -s byta och du förlorade en av arkivfilerna.

Till exempel, prova den här först:

zip -F myfilename.zip - ur myfixedfilename.zip

och då

zip -FF myfilename.zip - ur myfixedfilename.zip

Så här krypterar du ett arkiv

Om du har känslig information som du vill lagra i en zip-fil, använd -e kommandot att kryptera det. Du uppmanas att ange ett lösenord och att upprepa lösenordet.

Till exempel:

zip myfilename.zip -r / home / wikileaks -e

Hur man visar vad som kommer att bli ritat

Om du vet att du ska skapa ett stort arkiv, se till att de korrekta filerna kommer att läggas till zip-filen. Du kan se de förväntade resultaten av ett zip-kommando genom att ange -sf växla.

Till exempel:

zip myfilename.zip -r / home / music / -sf

Hur man testar ett arkiv

När du har säkerhetskopierat filer till en zip-fil är det frestande att spara diskutrymme genom att radera de ursprungliga filerna. Innan du gör det är det en bra idé att testa zip-filen fungerar korrekt.

Du kan använda -T byt för att testa att zip-filen är giltig.

Till exempel:

zip myfilename.zip -T

Utdata från det här kommandot när ett arkiv är ogiltigt kan se ut som:

  • Zip-varning: saknad slut signatur - förmodligen inte en zip-fil

Kom ihåg att du kan prova -F kommandot för att fixa brutna zip-filer.

Det är värt att notera att -T kan producera falska positiva genom att det sägs att en zip-fil är korrupt, trots att när du öppnar den kan du extrahera alla filer.

Hur man utesluter filer

Ibland vill du utesluta vissa filer från en zip-fil. Om du till exempel kopierar filerna från din telefon eller digitalkamera har du en blandning av videor och bilder. Du kanske vill zip upp bilderna till photos.zip och videor till videos.zip.

Här är ett sätt att utesluta videon när du skapar photos.zip

zip photos.zip -r / home / photos / -x * .mp4

Så här anger du komprimeringsnivå

När du komprimerar filer till en zip-fil bestämmer systemet om du vill komprimera filen eller bara lagra den. MP3-filer, till exempel, är redan komprimerade, så det finns liten punkt att komprimera dem ytterligare; de lagras vanligen som finns inom en zip-fil.

Du kan emellertid ange en komprimeringsnivå mellan 0 och 9 för att komprimera en fil ytterligare. Det tar längre tid att göra, men det kan göra betydande utrymmebesparingar.

zip myfiles.zip -r / home -5