Hvordan komprimere og pakke ut filer ved hjelp av tar-kommandoen på Linux

  • Chris Hoffman

    @chrisbhoffman

  • 10. april 2016 6:40 EDT

Tar-kommandoen på Linux brukes ofte til å lage .tar.gz- eller .tgz-arkivfiler, også kalt «tarballs.» Denne kommandoen har et stort antall alternativer, men du trenger bare å huske noen få bokstaver for raskt å opprette arkiver med tjære. Tar-kommandoen kan også trekke ut de resulterende arkivene.

GNU tar-kommandoen som følger med Linux distribusjoner har integrert komprimering. Det kan opprette et .tar-arkiv og deretter komprimere det med gzip- eller bzip2-komprimering i en enkelt kommando. Derfor er den resulterende filen en .tar.gz-fil eller .tar.bz2-fil.

Komprimer en hel katalog eller en enkelt fil

Bruk følgende kommando til å komprimere en hel katalog eller en enkelt fil på Linux. Den komprimerer også annenhver katalog i en katalog du angir – med andre ord fungerer det rekursivt.

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

Dette betyr hva disse bryterne egentlig betyr:

  • -c: Opprett et arkiv.
  • -z: Komprimer arkivet med gzip.
  • -v: Vis fremgang i terminalen mens du oppretter arkivet, også kjent som «verbose» -modus. V er alltid valgfritt i disse kommandoene, men det er nyttig.
  • -f: Lar deg spesifisere filnavnet til arkivet.
Annonse

La oss si at du har en katalog som heter «ting» i den gjeldende katalogen, og at du vil lagre den i en fil som heter archive.tar.gz. Du kjører følgende kommando:

tar -czvf archive.tar.gz stuff

Eller la oss si at det er en katalog på / usr / local / noe på det nåværende systemet, og du vil komprimere den til en fil som heter archive.tar.gz. Du vil kjøre følgende kommando :

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

Komprimer flere kataloger eller filer samtidig

RELATED: Slik administrerer du filer fra Linux-terminalen: 11 kommandoer du trenger å Vet

Selv om tar ofte brukes til å komprimere en enkelt katalog, kan du også bruke den til å komprimere flere kataloger, flere enkeltfiler eller begge deler. Bare gi en liste over filer eller kataloger i stedet for en enkelt. La oss for eksempel si at du vil komprimere / home / ubuntu / Do wnloads-katalogen, / usr / local / stuff-katalogen og /home/ubuntu/Documents/notes.txt-filen. Du vil bare kjøre følgende kommando:

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

Bare oppfør så mange kataloger eller filer som du vil sikkerhetskopiere.

Ekskluder Kataloger og filer

I noen tilfeller vil du kanskje komprimere en hel katalog, men ikke inkludere bestemte filer og kataloger. Du kan gjøre det ved å legge til en --exclude -bryter for hver katalog eller fil du vil ekskludere.

Annonse

La oss for eksempel si du vil komprimere / home / ubuntu, men du vil ikke komprimere katalogene / home / ubuntu / Downloads og /home/ubuntu/.cache. Slik gjør du det:

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

--exclude -bryteren er veldig kraftig. Det tar ikke navn på kataloger og filer – det aksepterer faktisk mønstre. Det er mye mer du kan gjøre med det. For eksempel kan du arkivere en hel katalog og ekskludere alle .mp4-filer med følgende kommando:

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

Bruk bzip2-komprimering i stedet

Mens gzip-komprimering oftest brukes til å lage .tar.gz- eller .tgz-filer, støtter tar også bzip2-komprimering. Dette lar deg lage bzip2-komprimerte filer, ofte kalt .tar.bz2-, .tar.bz- eller .tbz-filer. For å gjøre det, er det bare å erstatte -z for gzip i kommandoene her med en -j for bzip2.

Annonse

Gzip er raskere, men det komprimeres generelt litt mindre, så får du en noe større fil. Bzip2 er tregere, men komprimerer litt mer, så du får en noe mindre fil. Gzip er også mer vanlig, med noen strippede Linux-systemer inkludert gzip-støtte som standard, men ikke bzip2-støtte. Generelt sett er gzip og bzip2 praktisk talt det samme, og begge fungerer på samme måte.

For eksempel, i stedet for det første eksemplet vi ga for å komprimere tingkatalogen, vil du kjøre følgende kommando:

tar -cjvf archive.tar.bz2 stuff

Pakk ut et arkiv

Når du har et arkiv, kan du trekke det ut med tar-kommandoen. Følgende kommando vil trekke ut innholdet av archive.tar.gz til gjeldende katalog.

tar -xzvf archive.tar.gz

Det er det samme som arkivopprettingskommandoen vi brukte ovenfor, bortsett fra -x -bryteren erstatter -c -bryteren. Dette spesifiserer at du vil trekke ut et arkiv i stedet for å opprette et.

Annonse

Det kan være lurt å trekke ut innholdet i arkivet til en bestemt katalog. Du kan gjøre det ved å legge til -C -bryteren til slutten av kommandoen. For eksempel vil følgende kommando trekke ut innholdet i filen archive.tar.gz til / tmp-katalogen.

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

Hvis filen er en bzip2-komprimert fil, erstatter du «z» i kommandoene ovenfor med et «j».

Dette er den enklest mulige bruken av tar-kommandoen. Kommandoen inneholder et stort antall tilleggsalternativer, så vi kan umulig liste dem alle her. For mer informasjon. kjør info tar-kommandoen ved skallet for å se tar-kommandoen sin detaljerte informasjonsside. Trykk på q-tasten for å avslutte informasjonssiden når du er ferdig. Du kan også lese tars manual online.

Hvis du bruker et grafisk Linux-skrivebord, kan du også bruke filkomprimeringsverktøyet eller filbehandleren som fulgte med skrivebordet for å opprette eller trekke ut .tar-filer. På Windows kan du pakke ut og lage .tar-arkiver med det gratis 7-Zip-verktøyet.

Chris Hoffman
Chris Hoffman er sjefredaktør for How-To Geek. Han har skrevet om teknologi i nesten et tiår og var en PCWorld-spaltist i to år. Chris har skrevet for The New York Times, blitt intervjuet som teknologiekspert på TV-stasjoner som Miamis NBC 6, og hadde arbeidet dekket av nyheter som BBC. Siden 2011 har Chris skrevet over 2000 artikler som har blitt lest mer enn 500 millioner ganger — og det er bare her på How-To Geek.Read Full Bio «

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *