Поиск по сайту:

Как загрузить и извлечь файлы Tar с помощью одной команды


Tar (Ленточный архив) — популярный формат архивирования файлов в Linux. Его можно использовать вместе с gzip (tar.gz) или bzip2 (tar.bz2) для сжатия. Это наиболее широко используемая утилита командной строки для создания сжатых архивных файлов (пакетов, исходного кода, баз данных и многого другого), которые можно легко переносить с компьютера на другой или по сети.

Читайте также: 18 примеров команд Tar в Linux

В этой статье мы покажем вам, как загружать tar-архивы с помощью двух известных загрузчиков командной строки — wget или cURL и извлекать их с помощью одной команды.

Как загрузить и извлечь файл с помощью команды Wget

В примере ниже показано, как загрузить и распаковать последние базы данных GeoLite2 Country (используемые модулем GeoIP Nginx) в текущем каталоге.

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

Опция wget -O указывает файл, в который записываются документы, и здесь мы используем -, что означает, что он будет записан на стандартный вывод и передан по конвейеру в tar и флаг tar. -x позволяет извлекать архивные файлы, а -z распаковывает сжатые архивные файлы, созданные с помощью gzip.

Чтобы извлечь файлы tar в определенный каталог, в данном случае /etc/nginx/, используйте флаг -C следующим образом.

Примечание. Если вы извлекаете файлы в определенный каталог, требующий прав root, используйте команду sudo для запуска tar.

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

Альтернативно вы можете использовать следующую команду: здесь архивный файл будет загружен в вашу систему, прежде чем вы сможете его извлечь.

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

Чтобы извлечь сжатый архивный файл в определенный каталог, используйте следующую команду.

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

Как загрузить и извлечь файл с помощью команды cURL

Учитывая предыдущий пример, именно так вы можете использовать cURL для загрузки и распаковки архивов в текущем рабочем каталоге.

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

Чтобы извлечь файл в другой каталог во время загрузки, используйте следующую команду.

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/

Вот и все! В этом коротком, но полезном руководстве мы показали вам, как загружать и извлекать файлы архива с помощью одной команды. Если у вас есть какие-либо вопросы, используйте раздел комментариев ниже, чтобы связаться с нами.