Как использовать команду wget в Linux для загрузки файлов

12 set 2022 3 min di lettura
Как использовать команду wget в Linux для загрузки файлов
Indice dei contenuti

Введение

wget — это распространенный инструмент для удаленного управления серверами UNIX/Linux/BSD через сеанс ssh. Для установки может потребоваться загрузить программное обеспечение или другие файлы. Есть также несколько графических менеджеров загрузки для операционных систем Linux и UNIX:

  • kget: KGet — универсальный и интуитивно понятный менеджер загрузок для настольной системы KDE.
  • gwget /gwget2: Gwget — менеджер загрузок для рабочего стола Gnome.
  • uget — простой в использовании менеджер загрузок, написанный на GTK+

wget не имеет графического интерфейса. Он поддерживает HTTP, FTP, HTTPS и другие протоколы, а также функции аутентификации и многие другие параметры.

Как установить команду wget в Linux

Используйте команду apt /apt-get, если вы используете Ubuntu /Debian /Mint Linux:

sudo apt install wget

Пользователь Fedora Linux должен ввести команду dnf

sudo dnf install wget

Пользователю RHEL/CentOS/Oracle Linux необходимо ввести команду yum:

sudo dnf install wget

Пользователь SUSE/OpenSUSE Linux должен ввести команду zypper:

zypper install wget

Пользователь ArchLinux должен ввести команду pacman:

sudo pacman -S wget

Примеры команд Linux wget

Давайте посмотрим на некоторые распространенные примеры команд, синтаксиса и использования wget Linux. Синтаксис следующий:

wget url
wget [options] url

Как скачать один файл с помощью wget

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

wget https://noviello.it/percorso/file.tar.gz
wget ftp://ftp.noviello.it/percorso/file.tar.gz
wget -O output.file https://noviello.it/percorso/file.name.tar.gz

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

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

wget https://noviello.it/download/file.tar.gz ftp://ftp.noviello.it/download/file2.tar.gz ftp://ftp.noviello.it/download/file3.tar.gz

Вы также можете создать переменную оболочки, содержащую все URL-адреса, и использовать цикл с BASH для загрузки всех файлов, например:

URL="https://noviello.it/download/file1.tar.gz \
 ftp://ftp.noviello.it/download/file2.tar.gz \
 ftp://ftp.noviello.it/download/file3.tar.gz \
 https://noviello.it/download/file4.tar.gz"
 for u in $URL
 do
 wget "$u"
 done

Как читать URL-адреса из файла

Вы можете поместить все URL-адреса в текстовый файл и использовать параметр -i для wget для загрузки всех файлов. Сначала создайте текстовый файл:

nano /home/url.txt

Добавьте список URL-адресов:

https://noviello.it/download/file1.tar.gz ftp://ftp.noviello.it/download/file2.tar.gz ftp://ftp.noviello.it/download/file3.tar.gz https://noviello.it/download/file4.tar.gz

Введите команду wget следующим образом:

wget -i /home/url.txt

Возобновить частичные загрузки

Вы также можете заставить wget получить частично загруженный файл, например, возобновить загрузку. Это полезно, когда вы хотите завершить загрузку, начатую предыдущим экземпляром wget или другой программы: обратите внимание, что эта опция работает только с серверами FTP/HTTP, которые поддерживают заголовок « диапазон ».

wget -c https://noviello.it/percorso/file.tar.gz
wget -c -i /home/url.txt

Как заставить wget скачивать все файлы в фоновом режиме

Параметр -o используется для принудительного перехода wget в фоновый режим сразу после запуска. Если с параметром -o не указан выходной файл, вывод перенаправляется в файл wget-log:

wget -cb -o /home/url.log -i /home/url.txt

Или же:

nohup wget -c -o /home/url.log -i /home/url.txt &

nohup выполняет заданную команду (в данном примере wget) с игнорированием сигналов зависания, чтобы команда могла продолжать работать в фоновом режиме после выхода из системы.

Как ограничить скорость загрузки

Вы можете ограничить скорость загрузки количеством байтов в секунду. Сумма может быть выражена в байтах, килобайтах с суффиксом k или мегабайтах с суффиксом m. Например, --limit-rate=100k ограничит скорость загрузки до 100 КБ/с. Это полезно, когда по какой-либо причине вы не хотите, чтобы Wget использовал всю доступную пропускную способность — полезно, например, когда вы хотите загрузить большой файл:

wget -c -o /home/archivio.log --limit-rate=50k ftp://ftp.noviello.it/donwload/file.iso

используйте суффикс m для мегабайт (–limit-rate = 1m). Вы также можете указать дисковую квоту для автоматической загрузки, чтобы избежать DoS-атаки на диск. Следующая команда будет прервана при превышении квоты (100 МБ +).

wget -cb -o /home/url.log -i /home/url.txt --quota=100m

Как использовать wget с защищенными паролем сайтами

Вы можете указать имя пользователя и пароль с помощью wget следующим образом:

wget --http-user=vivek --http-password=PASSWORD https://noviello.it/percorso/file.tar.gz

Другой способ указать имя пользователя и пароль — это сам URL.

wget 'https://nomeutente:[email protected]/file.tar.gz

Как загрузить все файлы с одинаковым расширением с удаленного FTP-сервера

Как правило, вы можете использовать специальные символы оболочки, также известные как подстановочные знаки, такие как *,?, [], чтобы указать критерии выбора для файлов. То же самое можно использовать с FTP-серверами при загрузке файлов.

wget ftp://noviello.it/percorso/downloads/*.pdf

Или же:

wget -g on ftp://noviello.it/percorso/downloads/*.pdf

Используйте lftp, когда вам нужны многопоточные загрузки

lftp извлекает URL-адреса HTTP аналогично wget, но сегментирует поиск на несколько частей для увеличения скорости загрузки. Получает указанный файл, используя несколько подключений. Это может ускорить передачу, но сильно нагружает сеть и других пользователей. Используйте только в том случае, если вам нужно передать файл как можно скорее.

lftp -e 'pget -n 5 -c url/file.tar.gz; exit'

Команда загрузит файл.tar.gz в 5 сегментов/соединений. Обратите внимание, что команда wget доступна в Linux и UNIX/BSD.

Вывод

Для получения дополнительной информации об использовании команды wget:

man wget
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.