Введение
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