- 10 примеров команд Wget (загрузчик файлов Linux) в Linux
- Синтаксис команды wget
- Установите Wget в Linux
- 1. Загрузите файл с помощью Wget
- 2. Wget скачать файл с другим именем
- 3. Wget Загрузить несколько файлов по протоколам HTTP и FTP
- 4. Wget Загрузить несколько файлов из файла
- 5. Wget возобновить незавершенную загрузку
- 6. Wget Зеркальное отображение всего веб-сайта
- 7. Wget загружает файлы в фоновом режиме
- 8. Wget устанавливает ограничения скорости загрузки файлов
- 9. Wget загружает файлы, защищенные паролем, через FTP и HTTP
- 10. Wget игнорирует проверку SSL-сертификата
- 11. Версия Wget и справка
10 примеров команд Wget (загрузчик файлов Linux) в Linux
В этой статье мы рассмотрим утилиту wget, которая извлекает файлы из World Wide Web (WWW) с использованием широко используемых протоколов, таких как HTTP. , HTTPS, FTP и FTPS.
Wget – это бесплатная утилита командной строки и сетевой загрузчик файлов, которая имеет множество функций, облегчающих загрузку файлов, в том числе:
- Загружайте большие файлы или дублируйте полные веб-сайты или FTP-сайты.
- Скачивание нескольких файлов одновременно.
- Установите ограничение пропускной способности и скорости для загрузки.
- Загружать файлы через прокси.
- Можно возобновить прерванные загрузки.
- Рекурсивное зеркальное отображение каталогов.
- Работает в большинстве UNIX-подобных операционных систем, а также в Windows.
- Автоматическая/фоновая операция.
- Поддержка постоянных HTTP-соединений.
- Поддержка SSL/TLS для зашифрованных загрузок с использованием библиотеки OpenSSL или GnuTLS.
- Поддержка загрузки IPv4 и IPv6.
Синтаксис команды wget
Основной синтаксис Wget:
Во-первых, проверьте, установлена ли утилита wget в вашем Linux-компьютере, используя следующую команду.
$ rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Установите Wget в Linux
Если Wget не установлен, вы можете установить его с помощью диспетчера пакетов вашей системы Linux по умолчанию, как показано ниже.
$ sudo apt install wget -y [On Debian, Ubuntu and Mint] $ sudo yum install wget -y [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a net-misc/wget [On Gentoo Linux] $ sudo pacman -Sy wget [On Arch Linux] $ sudo zypper install wget [On OpenSUSE]
Используемая здесь опция -y предназначена для предотвращения запроса подтверждения перед установкой любого пакета. Дополнительные примеры и параметры команд YUM и APT читайте в наших статьях:
- 20 команд Linux YUM для управления пакетами
- 15 примеров команд APT в Ubuntu/Debian и Mint
- 45 примеров команд Zypper для управления OpenSUSE Linux
1. Загрузите файл с помощью Wget
Команда загрузит один файл и сохранит его в текущем каталоге. Он также показывает прогресс загрузки, размер, дату и время во время загрузки.
# wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz --2021-12-10 04:15:16-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz Resolving ftp.gnu.org (ftp.gnu.org). 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 3565643 (3.4M) [application/x-gzip] Saving to: ‘wget2-2.0.0.tar.gz’ wget2-2.0.0.tar.gz 100%[==========>] 3.40M 2.31MB/s in 1.5s 2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
2. Wget скачать файл с другим именем
При использовании параметра -O (верхний регистр) загружаются файлы с разными именами. Здесь мы дали имя файла wget.zip, как показано ниже.
# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz --2021-12-10 04:20:19-- http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz Resolving ftp.gnu.org (ftp.gnu.org). 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 446966 (436K) [application/x-gzip] Saving to: ‘wget.zip’ wget.zip 100%[===================>] 436.49K 510KB/s in 0.9s 2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]
3. Wget Загрузить несколько файлов по протоколам HTTP и FTP
Здесь мы видим, как одновременно загружать несколько файлов по протоколам HTTP и FTP с помощью команды wget.
$ wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig --2021-12-10 06:45:17-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz Resolving ftp.gnu.org (ftp.gnu.org). 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 3565643 (3.4M) [application/x-gzip] Saving to: ‘wget2-2.0.0.tar.gz’ wget2-2.0.0.tar.gz 100%[==========>] 4.40M 4.31MB/s in 1.1s 2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
4. Wget Загрузить несколько файлов из файла
Чтобы загрузить несколько файлов одновременно, используйте параметр -i с указанием местоположения файла, содержащего список URL-адресов для загрузки. Каждый URL-адрес необходимо добавить в отдельной строке, как показано на рисунке.
Например, следующий файл «download-linux.txt» содержит список URL-адресов для загрузки.
# cat download-linux.txt https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
# wget -i download-linux.txt --2021-12-10 04:52:40-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com). 91.189.88.248, 91.189.88.247, 91.189.91.124, . Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443. connected. HTTP request sent, awaiting response. 200 OK Length: 3071934464 (2.9G) [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64 4%[=> ] 137.71M 11.2MB/s eta 3m 30s .
Если ваш список URL-адресов имеет определенный шаблон нумерации, вы можете добавить фигурные скобки, чтобы получить все URL-адреса, соответствующие шаблону. Например, если вы хотите загрузить серию ядер Linux, начиная с версии 5.1.1 до 5.1.15, вы можете сделать следующее.
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1..tar.gz --2021-12-10 05:46:59-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org). 147.75.95.133, 2604:1380:3000:1500::1 Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443. connected. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated. The certificate has not yet been activated HTTP request sent, awaiting response. 200 OK Length: 164113671 (157M) [application/x-gzip] Saving to: ‘linux-5.1.1.tar.gz’ linux-5.1.1.tar.gz 100%[===========>] 156.51M 2.59MB/s in 61s 2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671] --2021-12-10 05:48:01-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz Reusing existing connection to mirrors.edge.kernel.org:443. HTTP request sent, awaiting response. 200 OK Length: 164110470 (157M) [application/x-gzip] Saving to: ‘linux-5.1.2.tar.gz’ linux-5.1.2.tar.gz 19%[===========] 30.57M 2.58MB/s eta 50s
5. Wget возобновить незавершенную загрузку
В случае загрузки большого файла иногда может случиться так, что загрузка будет остановлена, в этом случае мы можем возобновить загрузку того же файла, где он был остановлен с опцией -c .
Но когда вы начинаете скачивать файлы без указания -c , опция wget добавит расширение .1 в конец файла, что считается новым скачать. Поэтому рекомендуется добавлять переключатель -c при загрузке больших файлов.
# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso --2021-12-10 05:27:59-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com). 91.189.88.247, 91.189.91.123, 91.189.91.124, . Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443. connected. HTTP request sent, awaiting response. 206 Partial Content Length: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64.iso 5%[++++++> ] 167.93M 11.1MB/s ^C [ ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso --2021-12-10 05:28:03-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com). 91.189.88.248, 91.189.91.124, 91.189.91.123, . Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443. connected. HTTP request sent, awaiting response. 206 Partial Content Length: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64.iso 10%[+++++++=====> ] 296.32M 17.2MB/s eta 2m 49s ^
6. Wget Зеркальное отображение всего веб-сайта
Чтобы загрузить, отразить или скопировать весь веб-сайт для просмотра в автономном режиме, вы можете использовать следующую команду, которая создаст локальную копию веб-сайта вместе со всеми активами (JavaScript, CSS, изображения).
$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Объяснение приведенной выше команды.
wget \ --recursive \ # Download the whole site. --page-requisites \ # Get all assets/elements (CSS/JS/images). --adjust-extension \ # Save files with .html on the end. --span-hosts \ # Include necessary assets from offsite as well. --convert-links \ # Update links to still work in the static version. --restrict-file-names=windows \ # Modify filenames to work in Windows as well. --domains yoursite.com \ # Do not follow links outside this domain. --no-parent \ # Don't follow links outside the directory you pass in. yoursite.com/whatever/path # The URL to download
7. Wget загружает файлы в фоновом режиме
С опцией -b вы можете отправить загрузку в фоновом режиме сразу после начала загрузки и записи логов в файл wget.log.
$ wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Continuing in background, pid 8999. Output will be written to ‘wget.log’.
8. Wget устанавливает ограничения скорости загрузки файлов
С параметром —limit-rate=100k ограничение скорости загрузки ограничено 100k, а журналы будут создаваться в wget.log, как показано ниже.
$ wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Continuing in background, pid 9108. Output will be written to ‘wget-log’.
Просмотрите файл wget.log и проверьте скорость загрузки wget.
$ tail -f wget-log 5600K . . . . . 0% 104K 8h19m 5650K . . . . . 0% 103K 8h19m 5700K . . . . . 0% 105K 8h19m 5750K . . . . . 0% 104K 8h18m 5800K . . . . . 0% 104K 8h18m 5850K . . . . . 0% 105K 8h18m 5900K . . . . . 0% 103K 8h18m 5950K . . . . . 0% 105K 8h18m 6000K . . . . . 0% 69.0K 8h20m 6050K . . . . . 0% 106K 8h19m 6100K . . . . . 0% 98.5K 8h20m 6150K . . . . . 0% 110K 8h19m 6200K . . . . . 0% 104K 8h19m 6250K . . . . . 0% 104K 8h19m .
9. Wget загружает файлы, защищенные паролем, через FTP и HTTP
Чтобы загрузить файл с FTP-сервера, защищенного паролем, вы можете использовать параметры —ftp-user=username и —ftp-password=password , как показано ниже.
$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Чтобы загрузить файл с HTTP-сервера, защищенного паролем, вы можете использовать параметры —http-user=username и —http-password=password , как показано ниже.
$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget игнорирует проверку SSL-сертификата
Чтобы игнорировать проверку сертификата SSL при загрузке файлов через HTTPS, вы можете использовать параметр —no-check-certificate :
$ wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz --2021-12-10 06:21:21-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org). 147.75.95.133, 2604:1380:3000:1500::1 Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443. connected. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated. The certificate has not yet been activated HTTP request sent, awaiting response. 200 OK Length: 164113671 (157M) [application/x-gzip] Saving to: ‘linux-5.1.1.tar.gz’ .
11. Версия Wget и справка
С опциями —version и —help вы можете просмотреть версию и справку по мере необходимости.
В этой статье мы рассмотрели команды wget Linux с параметрами для ежедневных административных задач. Сделайте man wget, если хотите узнать об этом больше? Пожалуйста, поделитесь через поле для комментариев или, если мы что-то пропустили, сообщите нам об этом.