4Sep

Kako stisniti in izvleči datoteke z ukazom tar na Linuxu

Ukaz tar na Linuxu se pogosto uporablja za ustvarjanje arhivskih datotek. tar.gz ali. tgz, imenovane tudi »tarballs«. Ta ukaz ima veliko možnosti, vendar morate zapomniti le nekaj črk, da hitro ustvarite arhive zkatran. Ukaz tar lahko tudi izvleče nastale arhive.

Ukaz GNU tar, ki je vključen z distribucijami v Linuxu, ima integrirano stiskanje. Ustvari. tar arhiv in jo nato stisne s stiskanjem gzip ali bzip2 v enem samem ukazu. Zato je nastala datoteka. tar.gz ali datoteka. tar.bz2.

Stiskanje celotnega imenika ali posamezne datoteke

Uporabite ta ukaz za stiskanje celotnega imenika ali ene datoteke v Linuxu. Prav tako bo stiskal vse druge mape v imeniku, ki ga navedete - z drugimi besedami, deluje rekurzivno.

tar -czvf ime-of-arhive.tar.gz /path/to/ imenik-ali-datoteka

Tukaj je tisto, kar tista stikala dejansko pomenijo:

  • -c: C reate arhiv.
  • -z: stisnite arhiv z g z ip.
  • -v: pri ustvarjanju arhiva prikažite napredek v terminalu, znan tudi kot način " v erbose".V je v teh ukazih vedno neobvezen, vendar je koristno.
  • -f: Omogoča, da določite f ilename arhiva.

Recimo, da imate v trenutnem imeniku imenik »stvari«, ki ga želite shraniti v datoteko z imenom archive.tar.gz. Izbrali boste naslednji ukaz:

tar -czvf archive.tar.gz stvari

Ali, recimo, da je na trenutnem sistemu na /usr/local/ nekaj imenikov in ga želite stisniti v datoteko z imenom archive.tar.gz. Izbrali boste naslednji ukaz:

tar -czvf arhiv.tar.gz /usr/local/ nekaj

Stisnite več imenikov ali datotek naenkrat

Medtem ko se tar pogosto uporablja za stiskanje enega samega imenika, ga lahko uporabite tudi za stiskanje več imenikov, večposamezne datoteke ali oboje. Samo navedite seznam datotek ali imenikov namesto enega samega. Recimo, da želite na primer stisniti imenik /home/ubuntu/ Downloads, imenik stvari /usr/local/ in datoteko notes.txt /home/ubuntu/Documents/.Boste izvedli naslednji ukaz:

tar -czvf arhiv.tar.gz /home/ubuntu/ Prenosi /usr/local/ stvari /home/ubuntu/Documents/ notes.txt

Samo seznam toliko imenikov ali datotek, kot želite varnostno kopirati.

Izključi imenike in datoteke

V nekaterih primerih boste morda želeli obdržati celoten imenik, ne pa tudi nekatere datoteke in imenike. To lahko storite tako, da dodate stikalo --exclude za vsak imenik ali datoteko, ki jo želite izključiti.

Recimo, na primer, da želite stisniti /home/ ubuntu, vendar ne želite stisniti prenosov /home/ubuntu/ in /home/ubuntu/. cache direktorij. Evo, kako bi to naredili:

tar -czvf arhiv.tar.gz /home/ ubuntu --exclude = /home/ubuntu/ Prenosi --exclude = /home/ubuntu/. cache

Stikalo --exclude je zelo močno. Ne uporablja imenikov in datotek - dejansko sprejema vzorce. Z njim je veliko več.Na primer, lahko arhivirate celoten imenik in izključite vse datoteke. mp4 z naslednjim ukazom:

tar -czvf arhiv.tar.gz /home/ ubuntu --exclude = *. Mp4

Uporabi bzip2 stiskanje namesto

Medtem ko je stiskanje gzip najpogostejeuporablja za ustvarjanje datotek. tar.gz ali. tgz, tar tudi podpira stiskanje bzip2.To vam omogoča, da ustvarite bzip2-stisnjene datoteke, pogosto imenovane. tar.bz2,. tar.bz ali. tbz datoteke.Če želite to storiti, samo zamenjajte -z za gzip v ukazih tukaj z -j za bzip2.

Gzip je hitrejši, vendar na splošno stisne nekaj manj, tako da dobite nekoliko večjo datoteko. Bzip2 je počasnejši, vendar pa stisne malo več, zato dobite nekoliko manjšo datoteko. Gzip je prav tako bolj pogost, nekateri Linux-ovi sistemi, vključno z gzip podporo, ne podpirajo podpore bzip2.Na splošno pa so gzip in bzip2 praktično ista stvar, obe pa delata podobno.

Na primer, namesto prvega primera, ki smo ga določili za stiskanje imenika stvari, bi zagnali naslednji ukaz:

tar -cjvf archive.tar.bz2 stvari

Izvleček arhiva

Ko imate arhiv, ga lahko izvlečetez ukazom tar. Naslednji ukaz bo vsebino archive.tar.gz izvlekel v trenutni imenik.

tar-xzvf arhiv.tar.gz

To je enako kot ukaz za ustvarjanje arhiva, ki smo ga uporabili zgoraj, razen če stikalo -x nadomesti stikalo -c. To določa, da želite e x tract arhiv, namesto da ga ustvarite.

Morda boste želeli vsebino arhiva izpisati v določen imenik. To lahko storite tako, da dodate stikalo -C do konca ukaza. Na primer, naslednji ukaz bo vsebino datoteke archive.tar.gz izvlekel v imenik / tmp.

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

Če je datoteka datoteka s stiskanjem bzip2, v zgornjih ukazih z "j" zamenjajte "z".

To je najpreprostejša možna uporaba ukaza tar. Ukaz vsebuje veliko dodatnih možnosti, zato jih tukaj ne moremo navesti. Za več informacij.zaženite ukaz info tar v ukazni lupini, da si ogledate stran s podrobnimi podatki tar ukaza. Pritisnite tipko q , da končate informativno stran, ko končate. Lahko berete tudi priročnik tarja na spletu.

Če uporabljate grafično namizje v sistemu Linux, lahko za ustvarjanje ali iznašanje datotek. tar uporabite pripomoček za stiskanje datotek ali upravljalnik datotek, ki je priložen namizju. V sistemu Windows lahko izvlečete in ustvarjate arhive. tar s pomočjo brezplačne programske opreme 7-Zip.