Sådan komprimeres og udpakkes filer ved hjælp af tar-kommandoen på Linux

Tjærekommandoen på Linux bruges ofte til at oprette .tar.gz- eller .tgz-arkivfiler, også kaldet "tarballs." Denne kommando har et stort antal muligheder, men du skal bare huske et par bogstaver for hurtigt at oprette arkiver med tjære. Tjærekommandoen kan også udtrække de resulterende arkiver.

GNU-tjærkommandoen inkluderet i Linux-distributioner har integreret komprimering. Det kan oprette et .tar-arkiv og derefter komprimere det med gzip- eller bzip2-komprimering i en enkelt kommando. Derfor er den resulterende fil en .tar.gz-fil eller .tar.bz2-fil.

Komprimer en hel telefonbog eller en enkelt fil

Brug følgende kommando til at komprimere en hel mappe eller en enkelt fil på Linux. Det komprimerer også hver anden mappe i en mappe, du angiver - med andre ord, den fungerer rekursivt.

tar -czvf navn-arkiv.tar.gz / sti / til / katalog-eller-fil

Her er hvad disse kontakter faktisk betyder:

  • -c: C reate et arkiv.
  • -z: Komprimer arkivet med g z ip.
  • -v: Vis status i terminalen under oprettelse af arkivet, også kendt som “ v erbose” -tilstand. V er altid valgfri i disse kommandoer, men det er nyttigt.
  • -f: Gør det muligt at angive f ilename af arkivet.

Lad os sige, at du har en mappe med navnet "stuff" i den aktuelle mappe, og at du vil gemme den i en fil med navnet archive.tar.gz. Du kører følgende kommando:

tjære -czvf archive.tar.gz ting

Eller lad os sige, at der er et bibliotek på / usr / local / noget på det aktuelle system, og du vil komprimere det til en fil med navnet archive.tar.gz. Du kører følgende kommando:

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

Komprimer flere mapper eller filer på én gang

RELATERET: Sådan styres filer fra Linux Terminal: 11 kommandoer, du skal vide

Mens tjære ofte bruges til at komprimere en enkelt mappe, kan du også bruge den til at komprimere flere mapper, flere individuelle filer eller begge dele. Giv bare en liste over filer eller kataloger i stedet for en enkelt. Lad os for eksempel sige, at du vil komprimere mappen / home / ubuntu / Downloads, / usr / local / stuff-mappen og /home/ubuntu/Documents/notes.txt-filen. Du kører bare følgende kommando:

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

Bare list så mange mapper eller filer, som du vil tage backup af.

Ekskluder mapper og filer

I nogle tilfælde vil du muligvis komprimere en hel mappe, men ikke medtage bestemte filer og mapper. Du kan gøre det ved at tilføje en --excludeswitch for hver mappe eller fil, du vil ekskludere.

Lad os for eksempel sige, at du vil komprimere / home / ubuntu, men du ikke ønsker at komprimere mapperne / home / ubuntu / Downloads og /home/ubuntu/.cache. Sådan gør du det:

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

Den --excludekontakt er meget kraftfuld. Det tager ikke navne på mapper og filer - det accepterer faktisk mønstre. Der er meget mere, du kan gøre med det. For eksempel kan du arkivere en hel mappe og ekskludere alle .mp4-filer med følgende kommando:

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

Brug bzip2-kompression i stedet

Mens gzip-komprimering oftest bruges til at oprette .tar.gz- eller .tgz-filer, understøtter tar også bzip2-komprimering. Dette giver dig mulighed for at oprette bzip2-komprimerede filer, ofte navngivet .tar.bz2-, .tar.bz- eller .tbz-filer. For at gøre det skal du bare erstatte -z for gzip i kommandoerne her med a -j for bzip2.

Gzip er hurtigere, men det komprimeres generelt lidt mindre, så du får en noget større fil. Bzip2 er langsommere, men den komprimerer lidt mere, så du får en noget mindre fil. Gzip er også mere almindeligt, med nogle strippede Linux-systemer inklusive gzip-support som standard, men ikke bzip2-understøttelse. Generelt er gzip og bzip2 praktisk taget den samme ting, og begge fungerer på samme måde.

For eksempel i stedet for det første eksempel, vi leverede til komprimering af tingmappen, kører du følgende kommando:

tar -cjvf archive.tar.bz2 ting

Uddrag et arkiv

Når du har et arkiv, kan du udtrække det med tar-kommandoen. Den følgende kommando udpakker indholdet af archive.tar.gz til den aktuelle mappe.

tjære -xzvf archive.tar.gz

Det er det samme som den oprettelse af arkivkommando, vi brugte ovenfor, undtagen -xkontakten erstatter -ckontakten. Dette angiver du ønsker at e x -tarmkanalen et arkiv i stedet for at skabe en.

Det kan være en god idé at udtrække arkivets indhold til en bestemt mappe. Du kan gøre det ved at tilføje -Ckontakten til slutningen af ​​kommandoen. For eksempel vil følgende kommando udtrække indholdet af filen archive.tar.gz til / tmp-biblioteket.

tjære -xzvf archive.tar.gz -C / tmp

Hvis filen er en bzip2-komprimeret fil, skal du udskifte “z” i ovenstående kommandoer med et “j”.

Dette er den enklest mulige brug af tar-kommandoen. Kommandoen indeholder et stort antal yderligere muligheder, så vi kan umuligt liste dem alle her. For mere information. kør info tjære kommandoen ved skallen for at se tjær kommandens detaljerede informationsside. Tryk på q- tasten for at afslutte informationssiden, når du er færdig. Du kan også læse tar's manual online.

Hvis du bruger et grafisk Linux-skrivebord, kan du også bruge filkomprimeringsværktøjet eller filhåndteringen, der følger med dit skrivebord, til at oprette eller udtrække .tar-filer. På Windows kan du udtrække og oprette .tar-arkiver med det gratis 7-Zip-værktøj.