Hvordan pakke ut en tar.gz-fil
Hvis du bruker programvare med åpen kildekode, er sjansen stor for at du en gang vil støte på en .tar-fil. Åpent kildekodeverktøy har eksistert siden 1979 , så det er virkelig allestedsnærværende i POSIX-verdenen. Formålet er enkelt: Det tar en eller flere filer og «brytes» dem inn i en selvstendig fil, kalt et båndarkiv, fordi når tjære ble oppfunnet ble den brukt til å plassere data på lagringstape.
Folk som er nye i tjæreformatet, likestiller det vanligvis med en .zip-fil, men et tararkiv er spesielt ikke komprimert. Tarformatet lager bare en container for filer, men filene kan komprimeres med separate verktøy. Vanlige komprimeringer som brukes til en .tar-fil er Gzip, bzip2 og xz. Derfor ser du sjelden bare en .tar-fil og støter oftere på .tar.gz- eller .tgz-filer.
Installere tjære
På Linux, BSD, Illumos og til og med Mac OS er tar-kommandoen allerede installert for deg.
På Windows, den enkleste måten å håndtere .tar-filer på er å insta La LGPL open-source 7-Zip-verktøyet. Navnet antyder det «et zip-verktøy, men det fungerer også med tjærearkiver, og gir til og med kommandoer for cmd-kommandolinjegrensesnittet.
Hvis du virkelig vil ha et faktisk tjæreverktøy på Windows, er GNU tar installeres via WSL på Windows 10 eller gjennom Cygwin.
Opprette en tarball
Et tjærearkiv blir ofte referert til som en tarball, antagelig fordi vi hackere elsker å forkorte ord til så få stavelser. som mulig, og «tarball» er kortere og enklere enn «tar-arkiv.»
I en grafisk brukergrensesnitt er å lage en tarball på det meste en tretrinnsprosess. Jeg bruker KDE, men prosessen er egentlig den samme på Gnome eller XFCE:
- Opprett en katalog
- Plasser filene dine i katalogen
- Høyreklikk på katalogen og velg «Komprimer»
compress.jpg
Opprette en tarball
I et skall er det i utgangspunktet det samme prosess.
Å samle en gr opp filer i ett arkiv, plasser filene i en katalog og påkall deretter tar, og oppgi et navn for arkivet du vil opprette og katalogen du vil arkivere:
Tjæreverktøyet er unikt blant kommandoer, fordi det ikke krever bindestreker foran de korte alternativene, slik at strømbrukere kan forkorte komplekse kommandoer som dette:
Du trenger ikke å legge filer inn i en katalog før du arkiverer dem, men det anses som dårlig etikette å ikke gjøre det, fordi ingen vil at 50 filer skal spres ut på skrivebordet når de arkiverer en katalog. Slike arkiver kalles noen ganger en tarbomb, men ikke alltid med en negativ konnotasjon. Tarbombs er nyttige for oppdateringer og programvareinstallatører; det handler bare om å vite når du skal bruke dem og når du skal unngå dem.
Komprimering av arkiver
Å lage et tararkiv komprimerer ikke filene dine, det gjør dem bare lettere å bevege deg rundt som en klatt. For komprimering kan du få tjærekall Gzip eller bzip:
$ tar --create --bzip2 --file foo.tar.bz2 myfiles
$ tar --create --gzip --file foo.tar.gz myfiles
Vanlige utvidelser er tar.gz og .tgz for en gzippet tjære fil og .tbz og .tar.bz2 for en bzipped tar-fil.
Utpakking av arkiver
Hvis du har mottatt en tarball fra en venn eller et programvareprosjekt, kan du pakke ut det enten på GUI-skrivebordet eller i et skall. I en brukergrensesnitt høyreklikker du arkivet du vil trekke ut og velger «Pakk ut.»
extract_0.jpg
Pakke ut et arkiv
Dolphin-filbehandleren tilbyr en funksjon for automatisk å oppdage om filene som er hentet fra et arkiv, er inneholdt i en katalog eller om det må opprettes en ny katalog for dem. Jeg bruker dette alternativet slik at når jeg trekker ut filer fra en tarbomb, forblir de ryddige og inneholdt.
I et skall er kommandoen for å trekke ut et arkiv ganske intuitiv:
Strømbrukere forkorter dette til:
Du kan til og med bruke tarverktøyet til å pakke ut .zip-filer:
Avansert tjære
Tjæreverktøyene er veldig robuste og fleksible. Når du er komfortabel med det grunnleggende, er det nyttig å utforske andre funksjoner.
Legg til en fil eller katalog i en eksisterende tarball
Hvis du har en eksisterende tarball og vil legg til en ny fil i den, du trenger ikke å arkivere alt bare for å legge til en ny fil.
De fleste Linux- og BSD-skrivebord leveres med et grafisk arkivverktøy. Ved å bruke den kan du åpne et tar-arkiv som om det var noen annen katalog, ta en titt innover, trekk ut individuelle filer, legg til filer i den, og til og med forhåndsvise tekstfilene og bildene den inneholder.
ark.jpg
Ark arkivverktøy
I skallet kan du legge til en fil eller katalog i et tararkiv så lenge det ikke er komprimert. Hvis arkivet ditt er komprimert, må du pakke det ut, men du trenger ikke å arkivere det.
For eksempel hvis et arkiv er komprimert med Gzip:
$ gunzip archive.tar.gz
$ ls
archive.tar
Nå som du har et ukomprimert tjærearkiv, legg til en fil og en katalog til den:
$ tar --append --file archive.tar foo.txt
$ tar --append --file archive.tar bar/
Den kortere versjonen:
$ tar rf archive.tar foo.txt
$ tar rf archive.tar bar/
Vis en liste over filer i en tarball
For å se filene i et arkiv, komprimert eller ukomprimert, bruk – listealternativ:
$ tar --list --file archive.tar.gz
myfiles/
myfiles/one
myfiles/two
myfiles/three
bar/
bar/four
foo.txt
Strømbrukere forkorter dette til:
Pakk ut bare en fil eller katalog
Noen ganger trenger du ikke alle filene i et arkiv, du vil bare trekke ut en eller to. Når du har listet innholdet i et tjærearkiv, bruker du den vanlige tjærextraktkommandoen sammen med banen til filen du vil trekke ut:
$ tar xvf archive.tar.gz bar/four
bar/four
Utpakking av flere filer eller kataloger er i utgangspunktet den samme:
$ tar xvf archive.tar.gz myfiles/one bar/four
myfiles/one
bar/four
Du kan til og med bruke jokertegn:
$ tar xvf archive.tar.gz --wildcards "*.txt"
foo.txt
Trekk ut en tarball til en annen katalog
Tidligere nevnte jeg at noen tarballer var tarbomber som gikk igjen filer spredt rundt datamaskinen din. Hvis du lister opp et tararkiv og ser at filene ikke finnes i en katalog, kan du opprette en destinasjonskatalog for dem:
$ tar --list --file archive.tar.gz
foo
bar
baz
$ mkdir newfiles
$ tar xvf archive.tar.gz -C newfiles
Dette plasserer alt filene i arkivet pent i katalogen «newfiles».
Destinasjonskatalogalternativet er nyttig for mye mer enn bare å holde ryddede filer ryddige, for eksempel distribuere filer som er ment å kopieres til en eksisterende katalogstruktur. Hvis du jobber på et nettsted og vil sende administratoren noen nye filer, kan du gjøre det på noen forskjellige måter. Den åpenbare måten er å sende filene til administratoren sammen med litt tekst som forklarer hvor hver fil skal være plassert: «Den vedlagte index.php-filen går til /var/www/example.com/store, og vouchers.php-filen går til /var/www/example.com/deals …»
Den mer effektive måten ville være å opprette et tar-arkiv:
Gitt denne strukturen, kan nettstedsadministratoren trekke ut ditt innkommende arkiv direkte til serverens rotkatalog. Tjæreverktøyet oppdager automatisk eksistensen av /var/www/example.com samt underkatalogene lagrer, avtaler og bilder, og distribuerer filene i riktige kataloger. Det er massekopiering og liming, gjort raskt og enkelt.
GNU tjære og BSD tjære
Tjæreformatet er bare et format, og det er et åpent format, så det kan opprettes av mer enn bare ett verktøy.
Det er to vanlige tjæreverktøy: GNU-tarverktøyet, installert som standard på Linux-systemer, og BSD-tarverktøyet, installert som standard på BSD, Mac OS , og noen Linux-systemer. For generell bruk vil enten tjære gjøre det. Alle eksemplene i denne artikkelen fungerer for eksempel på både GNU eller BSD tjære. De to verktøyene har imidlertid noen mindre forskjeller, så når du blir komfortabel med det ene, bør du prøve det andre.
Du vil sannsynligvis måtte installere den «andre» tjæren (uansett hva det kan være på for å unngå forveksling mellom verktøy, blir GNU tar ofte kalt gtar og BSD tar blir kalt bsdtar, med kommandoen tjære som en symlink, eller et alias, til den som ble forhåndsinstallert på datamaskinen din.