Wyszukiwanie w witrynie

Jak pobierać i wyodrębniać pliki Tar za pomocą jednego polecenia


Tar (Tape Archive) to popularny format archiwizacji plików w systemie Linux. Można go używać razem z gzip (tar.gz) lub bzip2 (tar.bz2) do kompresji. Jest to najczęściej używane narzędzie wiersza poleceń do tworzenia skompresowanych plików archiwów (pakietów, kodu źródłowego, baz danych i wielu innych), które można łatwo przenosić z komputera na inny lub przez sieć.

Przeczytaj także: 18 przykładów poleceń Tar w systemie Linux

W tym artykule pokażemy, jak pobrać archiwa tar za pomocą dwóch dobrze znanych programów do pobierania z wiersza poleceń – wget lub cURL i rozpakować je jednym poleceniem.

Jak pobrać i wyodrębnić plik za pomocą polecenia Wget

Poniższy przykład pokazuje jak pobrać, rozpakować najnowsze bazy danych GeoLite2 Country (wykorzystywane przez moduł GeoIP Nginx) w bieżącym katalogu.

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

Opcja wget -O określa plik, do którego zapisywane są dokumenty, a tutaj używamy -, co oznacza, że zostanie on zapisany na standardowe wyjście i przesłany do tar i flagi tar -x umożliwia wyodrębnianie plików archiwalnych, a -z dekompresuje skompresowane pliki archiwów utworzone przez gzip.

Aby wyodrębnić pliki tar do określonego katalogu, w tym przypadku /etc/nginx/, użyj flagi -C w następujący sposób.

Uwaga: jeśli wyodrębniasz pliki do określonego katalogu, który wymaga uprawnień roota, użyj polecenia sudo, aby uruchomić plik tar.

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

Alternatywnie możesz użyć następującego polecenia, tutaj plik archiwum zostanie pobrany do twojego systemu, zanim będziesz mógł go rozpakować.

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

Aby wyodrębnić skompresowany plik archiwum do określonego katalogu, użyj następującego polecenia.

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 pobrać i wyodrębnić plik za pomocą polecenia cURL

Biorąc pod uwagę poprzedni przykład, oto jak możesz użyć cURL do pobierania i rozpakowywania archiwów w bieżącym katalogu roboczym.

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

Aby wyodrębnić plik do innego katalogu podczas pobierania, użyj następującego polecenia.

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 wszystko! W tym krótkim, ale przydatnym przewodniku pokazaliśmy, jak pobierać i rozpakowywać pliki archiwalne za pomocą jednego polecenia. Jeśli masz jakieś pytania, skorzystaj z sekcji komentarzy poniżej, aby się z nami skontaktować.