Vyhledávání na webu

Jak stahovat a extrahovat soubory Tar jedním příkazem


Tar (Tape Archive) je oblíbený formát archivace souborů v systému Linux. Pro kompresi lze použít společně s gzip (tar.gz) nebo bzip2 (tar.bz2). Je to nejrozšířenější nástroj příkazového řádku pro vytváření komprimovaných archivních souborů (balíčků, zdrojových kódů, databází a mnoho dalšího), které lze snadno přenášet z počítače na jiný nebo přes síť.

Přečtěte si také: 18 příkladů příkazů Tar v systému Linux

V tomto článku vám ukážeme, jak stáhnout archivy tar pomocí dvou známých programů pro stahování z příkazového řádku – wget nebo cURL a rozbalit je jediným příkazem.

Jak stáhnout a extrahovat soubor pomocí příkazu Wget

Níže uvedený příklad ukazuje, jak stáhnout a rozbalit nejnovější databáze GeoLite2 Country (používané modulem GeoIP Nginx) v aktuálním adresáři.

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

Volba wget -O určuje soubor, do kterého se dokumenty zapisují, a zde používáme -, což znamená, že se zapíše na standardní výstup a přenese se do tar a příznaku tar -x umožňuje extrakci archivních souborů a -z dekomprimuje komprimované archivní soubory vytvořené gzip.

Chcete-li extrahovat soubory tar do konkrétního adresáře, v tomto případě /etc/nginx/, použijte příznak -C následovně.

Poznámka: Pokud extrahujete soubory do konkrétního adresáře, který vyžaduje oprávnění root, použijte ke spuštění tar příkaz sudo.

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

Případně můžete použít následující příkaz, zde bude archivní soubor stažen do vašeho systému, než jej budete moci extrahovat.

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

Chcete-li extrahovat komprimovaný archivní soubor do určitého adresáře, použijte následující příkaz.

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

Jak stáhnout a extrahovat soubor pomocí příkazu cURL

Vezmeme-li v úvahu předchozí příklad, takto můžete použít cURL ke stažení a rozbalení archivů v aktuálním pracovním adresáři.

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

Chcete-li během stahování extrahovat soubor do jiného adresáře, použijte následující příkaz.

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 vše! V tomto krátkém, ale užitečném průvodci jsme vám ukázali, jak stáhnout a extrahovat archivní soubory jediným příkazem. Máte-li jakékoli dotazy, kontaktujte nás pomocí sekce komentářů níže.