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

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

    Tjärkommandot 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 med tjära . Tar-kommandot kan också extrahera de resulterande arkiven.

    GNU-tar-kommandot som ingår i Linux-distributioner har integrerat 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 kommer också att komprimera alla andra kataloger i en katalog du anger - med andra ord fungerar det rekursivt.

    tar -czvf namn-of-archive.tar.gz / path / to / directory-or-file

    Här är vad dessa växlar betyder:

    • -c: Create ett arkiv.
    • -z: Komprimera arkivet med gzip.
    • -v: Visa framsteg i terminalen medan du skapar arkivet, även känt som "verbose "-läget. V är alltid valfri i dessa kommandon, men det är till hjälp.
    • -f: Gör det möjligt att ange fArkivets namn.

    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 / something på det nuvarande systemet och du vill komprimera den till en fil med namnet archive.tar.gz. Du skulle köra följande kommando:

    tar -czvf archive.tar.gz / usr / local / something

    Komprimera flera kataloger eller filer i taget

    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, flera enskilda filer eller båda. Ange bara en lista med filer eller kataloger istället för en enda. Låt oss exempelvis säga att du vill komprimera katalogen / home / ubuntu / Downloads, katalogen / usr / local / stuff och filen /home/ubuntu/Documents/notes.txt. Du skulle bara köra följande kommando:

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

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

    Exkludera kataloger och filer

    I vissa fall kanske du vill komprimera en hel katalog, men inte med vissa filer och kataloger. Du kan göra det genom att lägga till en --utesluta växla 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

    De --utesluta växeln ä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 oftast anvä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, istället för det första exemplet som vi tillhandahöll för komprimering av greppkatalogen, kör du följande kommando:

    tjära-cjvf archive.tar.bz2 saker

    Extrahera ett arkiv

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

    tjär -xzvf archive.tar.gz

    Det är detsamma som det arkivskapande kommandot vi använde ovan, förutom -x byter ersätter -c växla. Detta anger att du vill extorka 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 växla till slutet av kommandot. Till exempel kommer följande kommando att extrahera innehållet i filen archive.tar.gz till / tmp-katalogen.

    tjär -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. springa det info tjära kommandot på skalet för att se tjärkommandots detaljerade informationssida. tryck på q nyckeln till att avsluta informationssidan när du är klar. Du kan också läsa tjärhandboken 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.