Kako prenesti in izvleči tar datoteke z enim ukazom


Tar (Tape Archive) je priljubljena oblika arhiviranja datotek v Linuxu. Za stiskanje ga lahko uporabimo skupaj z gzip (tar.gz) ali bzip2 (tar.bz2). To je najpogosteje uporabljen pripomoček ukazne vrstice za ustvarjanje stisnjenih arhivskih datotek (paketov, izvorne kode, zbirk podatkov in še veliko več), ki jih je mogoče enostavno prenesti iz računalnika v drugega ali prek omrežja.

V tem članku vam bomo pokazali, kako prenesete tar arhive z dvema dobro znanima wget ali cURL in jih izvlečete z enim samim ukazom.

Kako prenesti in izvleči datoteko z ukazom Wget

Spodnji primer prikazuje, kako naložite, razpakirate najnovejše podatkovne zbirke GeoLite2 Country (uporablja jih modul GeoIP Nginx) v trenutnem imeniku.

# wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | tar -xz

Možnost wget -O določa datoteko, v katero so zapisani dokumenti, pri tem pa uporabljamo -, kar pomeni, da bo zapisana v standardni izhod in prenesena v tar in zastavo tar -x omogoča ekstrahiranje arhivskih datotek in -z dekompresije, stisnjene arhivske datoteke, ki jih je ustvaril gzip.

Če želite izvleči tar datoteke v določen imenik, v tem primeru/etc/nginx/, uporabite zastavico -C na naslednji način.

Opomba: Če ekstrahirate datoteke v določen imenik, ki zahteva korenska dovoljenja, uporabite ukaz sudo za zagon tar.

$ sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | sudo tar -xz -C /etc/nginx/

Druga možnost je, da uporabite naslednji ukaz, tukaj se bo arhivska datoteka prenesla v vaš sistem, preden jo lahko izvlečete.

$ sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && tar -xzf  GeoLite2-Country.tar.gz

Za ekstrahiranje stisnjene arhivske datoteke v določen imenik uporabite naslednji ukaz.

$ sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf  GeoLite2-Country.tar.gz -C /etc/nginx/

Kako prenesti in izvleči datoteko z ukazom cURL

Glede na prejšnji primer lahko tako uporabite cURL za prenos in razpakiranje arhivov v trenutnem delovnem imeniku.

$ sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz 

Če želite med nalaganjem izvleči datoteko v drug imenik, uporabite naslednji ukaz.

$ sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | sudo tar -xz  -C /etc/nginx/
OR
$ sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf GeoLite2-Country.tar.gz -C /etc/nginx/

To je vse! V tem kratkem, a uporabnem priročniku smo vam pokazali, kako v enem samem ukazu naložite in izvlečete arhivske datoteke. Če imate kakršna koli vprašanja, nas kontaktirajte v spodnjem razdelku s komentarji.