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ć.