Zip är det mest använda arkivformatet som stöder förlustfri datakomprimering.

En zip-fil är en databehållare som innehåller en eller flera komprimerade filer eller kataloger. Komprimerade (zippade) filer tar mindre diskutrymme kan överföras från en till en annan maskin snabbare än okomprimerade filer. Zip-filer kan enkelt extraheras i Windows, macOS och Linux med hjälp av de verktyg som finns tillgängliga för alla operativsystem.

I den här handledningen kommer vi att visa dig hur du kan zippa (komprimera) filer och kataloger i Linux med hjälp av zip-kommandot.

zip-kommandot #

zip är ett verktyg på kommandoraden som hjälper dig att skapa Zip-arkiv.

Det zip-kommandot har följande syntaxform:

zip OPTIONS ARCHIVE_NAME FILES

För att skapa ett Zip-arkiv i en specifik katalog måste användaren ha skrivbehörighet för den katalogen.

Zip-filer har inte stöd för ägarinformation i Linux-stil. De extraherade filerna ägs av den användare som kör kommandot.

För att bevara filens äganderätt och behörigheter använder du kommandot tar.

Verktyget zip är inte installerat som standard i de flesta Linuxdistributioner, men du kan enkelt installera det med hjälp av pakethanteraren i din distribution.

Installera Zip på Ubuntu och Debian #

sudo apt install zip

Installera Zip på CentOS och Fedora #

sudo yum install zip

Hur man ZIPar filer och kataloger #

För att zippa en eller flera filer anger du filerna som du vill lägga till i arkivet, åtskilda med mellanslag enligt nedan:

zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)

Som standard skriver kommandot zip ut namnen på de filer som läggs till i arkivet och komprimeringsmetoden. Vi förklarar komprimeringsmetoderna och nivån senare i den här guiden.

När du anger Zip-arkivets namn om du utelämnar tillägget .zip kommer det att läggas till automatiskt om inte arkivnamnet innehåller en punkt. zip archivename.zip filename kommer att skapa ett arkiv med samma namn som zip archivename filename.

För att undertrycka utmatningen av kommandot zip, använd alternativet -q:

zip -q archivename.zip filename1 filename2 filename3

Ofta kommer du att skapa ett Zip-arkiv av en katalog inklusive innehållet i underkataloger. Alternativet -r gör att du kan gå igenom hela katalogstrukturen rekursivt.

För att skapa ett Zip-arkiv av en katalog använder du:

zip -r archivename.zip directory_name

Du kan också lägga till flera filer och kataloger i samma arkiv:

zip -r archivename.zip directory_name1 directory_name2 file1 file1

Komprimeringsmetoder och -nivåer #

Den förvalda komprimeringsmetoden för Zip är deflate. Om zip-verktyget fastställer att en fil inte kan komprimeras lagrar det helt enkelt filen i arkivet utan att komprimera den med hjälp av lagringsmetoden. I de flesta Linuxdistributioner har zip-verktyget även stöd för komprimeringsmetoden bzip2.

Om du vill ange en komprimeringsmetod använder du alternativet -Z.

zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)

Med kommandot zip kan du ange en komprimeringsnivå med hjälp av ett nummer som föregås av ett bindestreck från 0 till 9. Standardkomprimeringsnivån är -6. När du använder -0 lagras alla filer utan komprimering. -9 tvingar zip-kommandot att använda en optimal komprimering för alla filer.

För att använda komprimeringsnivån -9 skulle du till exempel skriva ungefär så här:

zip -9 -r archivename.zip directory_name

Desto högre komprimeringsnivå, desto mer processorkrävande är zip-processen och den tar längre tid att genomföra.

Skapa en lösenordsskyddad ZIP-fil #

Om du har känslig information som måste lagras i arkivet kan du kryptera den med hjälp av alternativet -e:

zip -e archivename.zip directory_name

Du kommer att uppmanas att ange och verifiera arkivets lösenord:

Enter password:Verify password:

Skapa delad zip-fil #

Föreställ dig att du vill lagra zip-arkivet på en filhostingtjänst som har en gräns för uppladdning av filstorlek på 1 GB och att ditt zip-arkiv är 5 GB.

zip -s 1g -r archivename.zip directory_name

Kommandot ovan kommer att fortsätta att skapa nya arkiv i en uppsättning efter att den har nått den angivna storleksgränsen.

archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04

ZIP-exempel #

Skapa ett Zip-arkiv med namnet archivename.zip som innehåller alla filer i den aktuella katalogen.

zip archivename *

Samma som ovan inklusive de dolda filerna (filer som börjar med en punkt):

zip archivename .* *

Skapa ett Zip-arkiv med namnet archivename.zip som innehåller alla MP3-filer i den aktuella katalogen utan att komprimera filerna.

zip -0 archivename *.mp3

Slutsats #

I Linux kan du skapa Zip-arkiv med kommandot zip.

För att extrahera ett ZIP-arkiv på ett Linux-system kan du använda kommandot unzip .

Om du vill lära dig mer om Zip kan du besöka Zip Man page.

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg