4Sep

Hur man komprimerar och extraherar filer med hjälp av tjärkommandot på Linux

Tolkommandot på Linux används ofta för att skapa. tar.gz eller. tgz arkivfiler, även kallade "tarballs". Det här kommandot har ett stort antal alternativ, men du behöver bara komma ihåg några brev för att snabbt skapa arkiv medtjära. Tar-kommandot kan också extrahera de resulterande arkiven.

GNU-tar-kommandot som ingår i Linux-distributioner har integrerad komprimering. Det kan skapa ett. tar-arkiv och komprimera det sedan med gzip eller bzip2-komprimering i ett enda kommando. Det är därför den resulterande filen är en. tar.gz-fil eller. tar.bz2-fil.

Komprimera en hel katalog eller en enda fil

Använd följande kommando för att komprimera en hel katalog eller en enda fil på Linux. Det komprimerar också alla andra kataloger i en katalog du anger - med andra ord fungerar det rekursivt.

tar -czvf namn-of-archive.tar.gz /path/to/ katalog-eller-fil

Här är vad dessa switchar faktiskt betyder:

  • -c: C reate ett arkiv.
  • -z: Komprimera arkivet med g z ip.
  • -v: Visa framsteg i terminalen samtidigt som du skapar arkivet, även känt som " v erbose".V är alltid valfri i dessa kommandon, men det är till hjälp.
  • -f: Gör det möjligt att ange arkivet f ilename.

Låt oss säga att du har en katalog med namnet "stuff" i den aktuella katalogen och du vill spara den i en fil med namnet archive.tar.gz. Du skulle köra följande kommando:

tar -czvf archive.tar.gz grejer

Eller låt oss säga att det finns en katalog på /usr/local/ något på det nuvarande systemet och du vill komprimera det till en fil med namnet archive.tar.gz. Du skulle köra följande kommando:

tar -czvf archive.tar.gz /usr/local/ något

Komprimera flera kataloger eller filer på en gång

Medan tjära ofta används för att komprimera en enda katalog, kan du också använda den för att komprimera flera kataloger, fleraenskilda filer, eller båda. Ange bara en lista med filer eller kataloger istället för en enda. Till exempel, låt oss säga att du vill komprimera /home/ubuntu/ Downloads, /usr/local/-katalogen och /home/ubuntu/Documents/ notes.txt-filen. Du skulle bara köra följande kommando:

tar -czvf archive.tar.gz /home/ubuntu/ Nedladdningar /usr/local/-saker /home/ubuntu/Documents/ notes.txt

Ange bara så många kataloger eller filer som du vill säkerhetskopiera.

Uteslut kataloger och filer

I vissa fall kanske du vill komprimera en hel katalog, men inte vissa filer och kataloger. Du kan göra det genom att lägga till en - exkludera omkopplare för varje katalog eller fil du vill utesluta.

Till exempel, låt oss säga att du vill komprimera /home/ ubuntu, men du vill inte komprimera /home/ubuntu/ Downloads och /home/ubuntu/. cache kataloger. Så här gör du det:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = /home/ubuntu/ Nedladdningar --exclude = /home/ubuntu/. cache

Execlude switch är mycket kraftfull. Det tar inte namn på kataloger och filer - det accepterar faktiskt mönster. Det finns mycket mer du kan göra med det. Du kan till exempel arkivera en hel katalog och utesluta alla. mp4-filer med följande kommando:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = *. Mp4

Använd bzip2-komprimering istället

Medan gzip-komprimering är oftastanvänds för att skapa. tar.gz eller. tgz-filer, tar tjär också stöd för bzip2-komprimering. Det här låter dig skapa bzip2-komprimerade filer, ofta namngivna. tar.bz2,. tar.bz eller. tbz-filer. För att göra det, ersätt bara -z för gzip i kommandona här med a -j för bzip2.

Gzip är snabbare, men komprimerar i allmänhet lite mindre, så du får en något större fil. Bzip2 är långsammare, men det komprimerar lite mer, så du får en något mindre fil. Gzip är också vanligare, med några avvecklade Linux-system inklusive gzip-support som standard, men inte bzip2-support. I allmänhet är gzip och bzip2 dock praktiskt taget samma sak och båda kommer att fungera på samma sätt.

Till exempel, i stället för det första exemplet som vi tillhandahöll för komprimering av greppkatalogen, skulle du köra följande kommando:

tar -cjvf archive.tar.bz2 saker

Extrahera ett arkiv

När du har ett arkiv kan du extrahera detmed tjärkommandot. Följande kommando kommer att extrahera innehållet i archive.tar.gz till den aktuella katalogen.

tar -xzvf archive.tar.gz

Det är samma som kommandot för arkivering som vi använde ovan, förutom att -x-bytet ersätter -c-omkopplaren. Detta anger att du vill e x -ett arkiv istället för att skapa ett.

Du kanske vill extrahera innehållet i arkivet till en specifik katalog. Du kan göra det genom att lägga till -C-omkopplaren till slutet av kommandot. Till exempel kommer följande kommando att extrahera innehållet i filen archive.tar.gz till / tmp-katalogen.

tar -xzvf archive.tar.gz -C / tmp

Om filen är en bzip2-komprimerad fil, ersätt "z" i ovanstående kommandon med en "j".

Detta är den enklaste möjliga användningen av tjärkommandot. Kommandot innehåller ett stort antal ytterligare alternativ, så vi kan inte lista dem alla här. För mer information.kör info tar kommandot på skalet för att se tar kommandot detaljerade informationssidan. Tryck på q -tangenten för att avsluta informationssidan när du är klar. Du kan också läsa tarens manual online.

Om du använder ett grafiskt Linux-skrivbord kan du också använda filkomprimeringsverktyget eller filhanteraren som ingår i skrivbordet för att skapa eller extrahera. tar-filer. På Windows kan du extrahera och skapa. tar-arkiv med det fria 7-Zip-verktyget.