Команда Wget в Linux

Обновлено: 22.11.2024

<р>1. -v / –version : используется для отображения версии wget, доступной в вашей системе.

Синтаксис

<р>2. -h / –help : используется для печати справочного сообщения, отображающего все возможные параметры команды строки, которые доступны с параметрами командной строки wget

Синтаксис

<р>3. -o файл журнала: этот параметр используется для направления всех сообщений, сгенерированных системой, в файл журнала, указанный в параметре, и после завершения процесса все сгенерированные таким образом сообщения доступны в файле журнала. Если файл журнала не указан, выходные сообщения перенаправляются в файл журнала по умолчанию, т. е. wget -log

Синтаксис

<р>4. -b / –background : этот параметр используется для отправки процесса в фоновый режим сразу после его запуска, чтобы можно было выполнять другие процессы. Если выходной файл не указан с помощью параметра -o, вывод по умолчанию перенаправляется в wget-log.

Синтаксис

<р>5. -a : этот параметр используется для добавления выходных сообщений в текущий выходной файл журнала без перезаписи файла, так как в параметре -o выходной файл журнала перезаписывается, но при использовании этого параметра журнал предыдущей команды сохраняется, а текущий журнал пишется после предыдущих.

Синтаксис

<р>6. -i : этот параметр используется для чтения URL-адресов из файла. Если -i указан как файл, URL-адреса считываются из стандартного ввода. Если используется эта функция, в командной строке не требуется указывать URL-адреса. Если есть URL-адреса как в командной строке, так и во входном файле, те, что в командных строках, будут извлечены первыми. Файл не обязательно должен быть HTML-документом, если URL-адреса просто перечислены последовательно.

Синтаксис

<р>7. -t число / –tries=число : этот параметр используется для установки количества повторных попыток в указанное количество раз. Укажите 0 или inf для бесконечных повторных попыток. По умолчанию повторяется 20 раз, за ​​исключением фатальных ошибок, таких как отказ в подключении или ссылка не найдена, которые не повторяются после возникновения ошибки.

Синтаксис

<р>8. -c : этот параметр используется для возобновления частично загруженного файла, если для возможности возобновления файла задано значение «да», в противном случае загрузка файла не может быть возобновлена, если возможность возобновления данного файла не указана или не указана.

Синтаксис

<р>9. -w : этот параметр используется для установки системы на ожидание указанного количества секунд между извлечениями. Рекомендуется использовать этот параметр, так как он снижает нагрузку на сервер, делая запросы менее частыми. Вместо секунд время можно указать в минутах с помощью суффикса m, в часах с суффиксом h или в днях с суффиксом d. Указание большого значения для этого параметра полезно, если сеть или хост назначения не работают, так что wget может ждать достаточно долго, чтобы разумно ожидать, что сетевая ошибка будет исправлена ​​до повторной попытки.

Синтаксис

<р>10. -r : эта опция используется для включения рекурсивного получения указанной ссылки в случае фатальных ошибок. Эта опция является рекурсивным вызовом данной ссылки в командной строке.

Синтаксис

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное или хотите поделиться дополнительной информацией по теме, обсуждаемой выше.

Загружайте файлы из Интернета в свой терминал Linux. Получите максимум от команды wget с нашей новой памяткой.

Wget — бесплатная утилита для загрузки файлов из Интернета. Он получает данные из Интернета и сохраняет их в файл или отображает в вашем терминале. Это буквально то же самое, что делают веб-браузеры, такие как Firefox или Chromium, за исключением того, что по умолчанию они отображают информацию в графическом окне и обычно требуют, чтобы пользователь активно контролировал их. Утилита wget разработана как неинтерактивная, то есть вы можете создать сценарий или запланировать загрузку файлов wget вне зависимости от того, находитесь ли вы за своим компьютером или нет.

Загрузить файл с помощью wget

Вы можете загрузить файл с помощью wget, указав ссылку на определенный URL-адрес. Если вы укажете URL-адрес, который по умолчанию равен index.html , то индексная страница будет загружена. По умолчанию файл загружается в файл с тем же именем в вашем текущем рабочем каталоге.

Вы можете заставить wget отправлять данные на стандартный вывод ( stdout ), используя параметр --output-document с дефисом:

Вы можете использовать параметр --output-document (-O для краткости), чтобы назвать вашу загрузку как хотите:

Продолжить частичную загрузку

Если вы загружаете очень большой файл, может возникнуть необходимость прервать загрузку. С --continue (для краткости -c) wget может определить, где остановилась загрузка, и продолжить передачу файла.Это означает, что в следующий раз, когда вы загрузите ISO-образ дистрибутива Linux объемом 4 ГБ, вам никогда не придется возвращаться к началу, если что-то пойдет не так.

Загрузить последовательность файлов

Если вам нужно скачать не один большой файл, а несколько файлов, wget может вам в этом помочь. Предполагая, что вы знаете расположение и шаблон имен файлов, которые хотите загрузить, вы можете использовать синтаксис Bash, чтобы указать начальную и конечную точки между диапазоном целых чисел для представления последовательности имен файлов:

Отразить весь сайт

Вы можете загрузить весь сайт, включая его структуру каталогов, используя параметр --mirror. Эта опция аналогична запуску --recursive --level inf --timestamping --no-remove-listing , что означает бесконечную рекурсию, поэтому вы получаете все в указанном вами домене. В зависимости от того, сколько лет веб-сайту, это может означать, что вы получаете гораздо больше контента, чем думаете.

Изменить заголовки HTML

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

Чтобы определить, что Microsoft Edge работает в Windows:

Вы также можете маскироваться под конкретное мобильное устройство:

Просмотр заголовков ответов

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

Ответ на ответ 301

Код ответа 200 означает, что все работает должным образом. С другой стороны, ответ 301 означает, что URL-адрес был постоянно перемещен в другое место. Администратор веб-сайта часто перемещает контент, оставляя «след», чтобы люди, посещающие старое местоположение, могли его найти. По умолчанию wget следует перенаправлениям, и это, вероятно, то, что вы обычно хотите, чтобы он делал.

Однако вы можете управлять действиями wget при получении ответа 301 с помощью параметра --max-redirect. Вы можете установить его на 0, чтобы не следовать перенаправлениям:

Кроме того, вы можете установить другое число, чтобы контролировать количество переадресаций, которым следует wget.

Расширить сокращенный URL

Дополнительные ресурсы по Linux

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

Используйте wget

После того, как вы научитесь думать о процессе изучения Интернета как об одной команде, wget станет быстрым и эффективным способом получения необходимой информации из Интернета без использования графического интерфейса. Чтобы помочь вам встроить его в ваш обычный рабочий процесс, мы создали памятку с общим использованием и синтаксисом wget, включая обзор его использования для запросов к API. Загрузите шпаргалку по wget для Linux здесь.

Используйте Интернет из командной строки с помощью curl

Загрузите нашу новую памятку по curl. Curl – это быстрый и эффективный способ получить необходимую информацию из Интернета без использования графического интерфейса.

Дистрибутивы на основе Fedora:

Дистрибутивы на основе Red Hat:

Дистрибутивы на базе Arch Linux:

Оглавление

Возможности и использование Linux wget

Команда wget в Linux имеет следующие функции, которые делают ее очень полезной для сценариев:

  • Может скачивать файлы в фоновом режиме
  • Позволяет легко возобновить прерванную загрузку.
  • Может зеркально отображать веб-сайты для локального просмотра.
  • Вы можете сканировать веб-страницы, чтобы найти неработающие ссылки.
  • И многое другое…

Основной синтаксис команды wget:

Загрузить файл в Linux с помощью команды wget

Что может быть лучше, чем научиться чему-то самому? Давайте загрузим ISO-файл Debian с официальной страницы загрузки Debian. В приведенной ниже команде я загружаю ISO-образ сетевой установки для Debian 10.

Загрузить

Первое, что делает команда Linux wget, — это ищет и разрешает URL-адрес. После этого он показывает вам подробную информацию о том, к какому серверу он подключен для загрузки файла. И, наконец, процесс загрузки файла зависит от скорости и ожидаемого времени прибытия.

Без каких-либо параметров команда wget просто загрузит файл на основе имени файла, предоставленного сервером.Но если вы хотите загрузить файл и сохранить его под другим именем, вы можете использовать параметр -O.

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

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

1. Возобновление прерванной загрузки с помощью wget

Опция wget -c позволяет нам продолжить или возобновить прерванную загрузку, повторив ту же команду. Взгляните на пример ниже:

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

Команда Linux wget продолжит загрузку с того места, где она была прервана. Это особенно полезно в нестабильных сетях, где вы можете просто повторно запустить команду wget, чтобы возобновить загрузку без потери прогресса.

2. Отключить вывод wget

Поэтому вывод по большей части не нужен. Но как мы можем просто избежать получения этого результата? Как и большинство команд в Linux, команда wget также дает нам возможность отключить вывод.

Команда -q означает тишину, которая заглушит весь вывод. Параметр -nv означает неподробный и будет отображать только те сообщения, которые необходимо отображать (уведомление о завершении или ошибки).

Но есть одна проблема с указанными выше параметрами команды. Индикатор выполнения также скрывается. Это может быть хорошо, в зависимости от вашего использования, но мне нравится, чтобы он отображался.

Как отключить весь вывод, кроме индикатора выполнения, с помощью Linux wget?

Команда wget предоставляет нам еще один параметр --show-progress и --progress=bar:force .

Если в вашей системе установлена ​​последняя версия команды wget, вы можете получить индикатор выполнения только с опцией show progress. Если вы используете более старую версию, вам также может понадобиться добавить параметр progress=bar:force. Давайте воспользуемся тем же примером, что и выше, и добавим новые параметры.

Показывать индикатор выполнения только с командой wget

3. Загрузка нескольких URL-адресов с помощью wget

Вы не ограничены возможностью загружать только один файл за раз, но можете загружать несколько файлов, просто указав все URL-адреса в файле (по одному URL-адресу в строке).

Мы воспользуемся параметром -i, чтобы передать файл со списком URL-адресов команде wget.

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

4. Загрузка целых веб-сайтов с помощью wget

Хорошо, мы говорили о загрузке и сохранении целых веб-сайтов во введении и сказали, что это одна из функций этой команды. Давайте узнаем, как это сделать сейчас.

Команда wget предоставляет нам удобную опцию для загрузки или «зеркального отображения» всего веб-сайта. Параметр -m (сокращение от «зеркало») в сочетании с параметром -k, который изменяет ссылки в загруженных файлах HTML, указывающих на локальные страницы, позволяет получить полноценную автономную веб-страницу. Параметр -p также будет включать реквизиты страницы, такие как изображения и другие медиафайлы, что делает его полностью автономным веб-сайтом для вашего использования.

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

Команда запускает загрузку всех страниц сайта по очереди. Поэтому не оставляйте эту команду без присмотра при работе с веб-сайтом с сотнями тысяч страниц.

5. Сканирование веб-сайта на наличие ссылок 404 с помощью wget

Эта функция особенно полезна, если у вас есть веб-сайт, и вы просто хотите просмотреть весь веб-сайт, чтобы найти неработающие ссылки, которые можно заменить.

Существует параметр команды --spider, который будет сканировать веб-сайт страница за страницей, URL за URL и находить все ссылки, которые приводят к ошибке 404. Мы также будем использовать параметры -r (рекурсивный обход URL) и -l (уровень рекурсивного сканирования), чтобы наш сканер продолжал сканировать ссылки.

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

Если вы запустите приведенную выше команду, вы можете ожидать, что она будет выполняться постоянно из-за огромного количества ссылок, которые есть у Google. Я просто позволил ему запуститься на пару секунд, и команда сгенерировала текстовый файл размером 1 МБ (который, кстати, огромен для обычного текстового файла).

6. Запустить загрузку в фоновом режиме

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

Загрузка фона Wget

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

Заключение

Команду Linux wget можно использовать не только для загрузки файлов, но и для многих других целей, и я уверен, что теперь вы поняли потенциал этой, казалось бы, простой команды. Изучите параметры команды, и вы откроете для себя множество вещей, которые возможны с этой командой.

Не забывайте, что команда man в Linux всегда поможет вам с такими командами, кроме параметра --help.

В этом руководстве показано, как использовать команду wget в Linux. Мы также предоставим 12 полезных примеров команд wget. К концу вы будете знать все о команде wget и сможете использовать ее для загрузки файлов из всемирной паутины.

Что такое команда Wget?

Wget создан на переносимом языке C и может использоваться в любой системе Unix. Его также можно реализовать на Mac OS X, Microsoft Windows, AmigaOS и других популярных платформах.

Как установить Wget?

Для этой демонстрации команды wget мы будем использовать Ubuntu 16.04. Но этот синтаксис будет работать и в любом другом дистрибутиве Linux.

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

Чтобы установить wget в CentOS 7 или предыдущих дистрибутивах, используйте:

После завершения настройки вы будете готовы к использованию. Кроме того, знание основных команд SSH может упростить задачу.

Примеры команд Wget

Для начала мы предоставим вам 12 примеров команд wget, которые вы можете использовать для повседневных задач. Имейте в виду, что вы также можете вызывать эту функцию из сценариев и заданий cron!

Использование команды Wget для загрузки отдельных файлов

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

Вот что вы увидите:

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

Использование команды Wget для загрузки нескольких файлов

Мы можем пойти дальше в использовании wget и загрузить несколько файлов одновременно. Для этого нам нужно создать текстовый документ и поместить туда URL-адреса для загрузки. В этом примере мы получим последние версии WordPress, Joomla и Drupal с помощью wget. Введите следующее:

После этого вы можете использовать -i, чтобы получить все файлы, хранящиеся в текстовом файле вашего примера:

Дождитесь завершения процесса, и у вас будут установлены три самые популярные системы управления контентом.

Использование команды Wget для получения файлов под разными именами

В этом примере wget мы сохраним файл под другим именем с помощью параметра -O:

В этом случае загруженный ресурс будет сохранен как wordpress-install.zip вместо исходного имени.

Использование команды Wget для сохранения файлов в указанном каталоге

Вы можете использовать wget для размещения файла в другом каталоге с помощью функции -P:

Файл, который вы извлекаете с помощью этого синтаксиса, появится в папке document/archives/.

Использование команды Wget для ограничения скорости загрузки

С помощью wget вы также можете ограничить скорость загрузки. Это полезно при извлечении огромных файлов и предотвратит использование всей вашей пропускной способности. Этот пример wget установит ограничение на 500 КБ:

Использование команды Wget для установки повторных попыток

Проблемы с подключением к Интернету могут привести к прерыванию загрузки. Чтобы решить эту проблему, мы можем увеличить количество повторных попыток с помощью функции -tries:

Использование команды Wget для загрузки в фоновом режиме

Для очень больших файлов вы можете воспользоваться функцией -b. Он загрузит ваш контент в фоновом режиме.

В вашем рабочем каталоге появится журнал wget, который можно использовать для проверки хода загрузки и состояния. Эта команда также поможет:

Использование команды Wget для загрузки через FTP

Эту команду также можно использовать с FTP. Вам нужно будет только указать имя пользователя и пароль, как в этом примере wget:

Использование команды Wget для продолжения прерванных загрузок

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

Если вы продолжите без функции -c, новый файл будет иметь .1 в конце, так как он уже существует.

Использование команды Wget для получения целых веб-сайтов

Также можно использовать команду wget для загрузки содержимого всего сайта. Это позволит вам просматривать его локально без подключения к Интернету. Вот пример:

Давайте проанализируем состав этой команды wget:

< /таблица>

После завершения процесса вы сможете открыть загруженный веб-сайт локально и найти все файлы в папке документы/веб-сайты/.

Использование команды Wget для поиска неработающих ссылок

Давайте попробуем что-нибудь более сложное. Мы можем использовать команду wget, чтобы найти все неработающие URL-адреса, которые отображают ошибку 404 на определенном веб-сайте. Начните с выполнения следующего:

–зеркалоЭто делает вашу загрузку рекурсивной.
–конвертировать-ссылки td>Все ссылки будут преобразованы для правильного использования в автономном режиме.
–реквизиты страницыСледующее будет включать все необходимые файлы, такие как CSS , JS и изображения.
–no-parentЭто гарантирует, что каталоги выше иерархии не извлекаются.< /td>
-P документы/веб-сайты/Это гарантирует, что весь контент попадает в указанный нами каталог.
-oСобирает выходные данные в файл для последующего использования.
-l< /td>Указывает уровень рекурсии.
-rДелает загрузку рекурсивной.
–spiderПереключает wget в режим паука.

Теперь мы можем исследовать файл wget-log, чтобы найти список неработающих ссылок. Вот команда для этого:

Использование команды Wget для загрузки пронумерованных файлов

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

Заключение

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

Есть ли какие-нибудь скрытые советы или рекомендации, которыми вы хотели бы поделиться? Не стесняйтесь делать это в комментариях ниже!

Домантас руководит командой по контенту и поисковой оптимизации, предлагая свежие идеи и нестандартные подходы. Обладая обширными знаниями в области SEO и маркетинга, он стремится распространить информацию о Hostinger во всех уголках мира. В свободное время Домантас любит оттачивать навыки веб-разработки и путешествовать по экзотическим местам.

Читайте также: