Как загрузить и извлечь файлы 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/
Вот и все! В этом коротком, но полезном руководстве мы показали вам, как загружать и извлекать файлы архива с помощью одной команды. Если у вас есть какие-либо вопросы, используйте раздел комментариев ниже, чтобы связаться с нами.