I dybden, se på Linuxs arkiverings- og komprimeringskommandoer
Behovet for å pakke og komprimere filer sammen i et enkelt arkiv har eksistert siden datamaskiner først fikk harddisker, og at behovet har vært til i dag. Alt fra dokumenter og bilder til programvare og enhetsdrivere lastes opp og lastes ned som arkiver hver dag. De fleste datamaskinbrukere er kjent med .zip-filer, men det er mer å arkivere enn bare den ydmyke .zip. I denne opplæringen vil vi vise deg de forskjellige Linux-arkiverings- og komprimeringskommandoene og den riktige måten å gjøre bruk av.
Tar og gzip
Historisk sett er standardarkivverktøyet på Linux tar
kommandoen. Opprinnelig sto det for "Tape Archive", men det var tilbake da bånd var de primære media for å flytte data. tar
kommandoen er veldig fleksibel, og den kan lage, komprimere, oppdatere, trekke ut og teste arkivfiler. Standardutvidelsen for et ukomprimert tjærearkiv (noen ganger kalt en tjærefil eller tarball) er .tar mens komprimerte tjærearkiver oftest bruker .tgz-utvidelsen (som betyr en tjærefil komprimert med GNU zip). Tar tilbyr faktisk flere forskjellige kompresjonsmetoder, inkludert bzip2, zip, LZW og LZMA.
For å lage en ukomprimert tarball av alle filene i en katalog, bruk følgende kommando:
tar cvf somefiles.tar *
c
betyr å lage, v
står for verbose (betyr at tar-kommandoen vil liste filene den arkiverer) og f
forteller tar at den neste parameteren er navnet på arkivfilen, i dette tilfellet "somefiles.tar". Wildcard * betyr alle filene i katalogen, som det ville for de fleste Linux shell kommandoer.
Tarball "somefiles.tar" er opprettet i den lokale katalogen. Dette kan nå komprimeres med et verktøy som gzip, zip, komprimere eller bzip2. For eksempel:
gzip somefiles.tar
gzip vil komprimere tarball og legge til .gz-utvidelsen. Nå i den lokale katalogen er det en filen somefiles.tar.gz
stedet for filen somefiles.tar
.
Denne to-trinns prosessen, oppretter tarballen og komprimerer den, kan reduseres til ett trinn ved å bruke tjære er innebygd i komprimering:
tar cvzf somefiles.tgz *
Dette vil skape en gzip komprimert tarball kalt somefiles.tgz
. Det ekstra z
alternativet forårsaker tjære for å komprimere tarballen. I stedet for z
kan du bruke j
, J
eller Z
som forteller tar å bruke henholdsvis bzip2, xz og LZW komprimering. xz implementerer LZMA2-komprimering som er den samme algoritmen som det populære Windows 7-Zip-programmet.
7-Zip
Det er mulig å lage en 7-Zip-kompatibel fil ved hjelp av kommandoen 7zr
. For å lage et .7z arkiv bruk:
7zr en somefiles.7z *
De alternativene betyr legge til, dvs. legg til alle de lokale filene i arkivet somefiles.7z. Denne filen kan da sendes til en Windows-bruker, og de vil kunne trekke ut innholdet uten problemer.
Bruk av 7zr for å utføre sikkerhetskopier på Linux anbefales ikke, da 7-zip ikke lagrer eier / gruppeinformasjon om filene den arkiverer. Det er mulig å bruke 7zr til å komprimere en tarball (som lagrer eierinformasjonen). Du kan gjøre dette ved hjelp av et Unix-rør som følger:
tjære cvf - * | 7zr a -si somefiles.tar.7z
Bindestrek etter f
alternativet forteller tar å sende sin utgang til Unix stdout
og ikke til en fil. Siden vi bruker et rør, vil utgangen fra tjære bli matet inn i 7zr som venter på inngang fra stdin
grunn av -si
alternativet. 7zr vil da opprette et arkiv som heter somefiles.tar.7z
som vil inneholde tarball som igjen inneholder filene. Hvis du ikke er kjent med å bruke rør, kan du opprette en standard tarball og deretter komprimere den med 7zr ved hjelp av to trinn:
tar -cvf somefiles.tar * 7zr a somefiles.tar.7z somefiles.tar
Utdrag
Utdrag av filene fra disse forskjellige arkivene er også veldig enkelt, her er et raskt fuskark for utpakking av de forskjellige filene som er opprettet ovenfor.
Å trekke ut en enkel tarball bruk:
tar xvf somefiles.tar
Hvor x
betyr ekstrakt.
Å trekke ut en komprimert tarball bruk:
tar xvzf somefiles.tgz
z
alternativet forteller tar som gzip ble brukt til å komprimere det opprinnelige arkivet. I stedet for z
kan du bruke j
, J
eller Z
avhengig av komprimeringsalgoritmen som ble brukt da filen ble opprettet.
Å pakke ut filene fra en 7-Zip-filbruk:
7zr e somefiles.tar.7z
Konklusjon
Linux tilbyr et bredt spekter av arkiverings- og komprimeringskommandoer. Prøv å eksperimentere med zip, og xz-kommandoer, de fungerer på en veldig lignende måte som de andre verktøyene som er nevnt her. Hvis du sitter fast, bør du prøve å lese mannens side, for eksempel man xz
for ekstra hjelp.