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

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

Но сегодня нас будет интересовать только самая простая функция.

Важные Опции wget

  • -nc – не загружать существующие файлы. Удобна для продолжения закачки сайта, прерванной посередине.
  • -nd – не создавать никаких директорий, загружать все файлы в текущую директорию (если директория не задана отдельно).
  • -k – после окончания закачки всех файлов конвертировать все ссылки в них для локального просмотра. При этом ссылки на те файлы, которые не были загружены, будут вести в Интернет.
  • -E – сохранять все HTML-файлы, имеющие неправильное расширение, с расширением .html (очень ценная опция при загрузке сайтов на ASP, CGI или PHP).
  • -r – рекурсивная выгрузка всех файлов в вышележащих и нижележащих папках на сервере.
  • -p – загружать все файлы, необходимые для корректного отображения вэб-страницы. Благодаря этому параметру можно загружать с помощью wget отдельные вэб-страницы целиком, включая звуковые файлы, автоматически проигрываемые при открытии вэб-страницы и фреймы.
  • -N – загружать с сервера только более новые файлы, чем уже существующие.
  • -np – при рекурсивной выгрузке закачивать файлы только из нижележащих директорий по отношению к указанной в URL.
  • -R list – не загружать файлы со следующими расширениями: list.
  • -A list – загружать только файлы со следующими расширениями: list. Параметр полностью аналогичен -R list, но действует наоборот.
  • -l level – при рекурсивной выгрузке сайта загружать на глубину level. Если указано -l 0 или -l inf, то будут загружены все уровни (без ограничений). По умолчанию level=5.
  • -m – создать локальную копию сайта или обновить уже существующую локальную копию сайта, загружая только обновлённые файлы, сохранять листинги FTP-директорий. Этот параметр эквивалентен следующей записи: “-Nrl0 -nr“.
  • -o logfile – записывать все выводимые сообщения в logfile, не выводя их на экран. logfile – имя файла или путь к нему.
  • -a logfile – то же, что -o logfile, но сообщения будут дописываться в конец этого файла вместо его перезаписи.
  • -i URLs.txt – загрузить все файлы с адресами, указанными в файле URLs.txt. Если в качестве файла со списком URL’ов нужно использовать вэб-страницу, этот параметр следует использовать в сочетании с опциями ‘--force-html‘ и ‘--base=URL‘.
  • -X list – не загружать файлы из следующих директорий: list , где list – разделённый запятыми список путей к директории относительно корневого каталога сервера, где каждый путь начинается с косой черты. Например, команда -X /cgi-bin/people/~somebody приведёт к тому, что каталог верхнего уровня “cgi-bin” и директория ~somebody каталога верхнего уровня /people не будут загружены. Если путь к папке содержит пробелы, его можно заключить в кавычки, а всю последовательность аргументов – в апострофы. Этот параметр можно комбинировать с параметром “-I“. Например, чтобы загрузить все файлы из иерархии директорий /pub, исключая /pub/worthless, нужно указать: -I/pub -X/pub/worthless
  • -c – продолжить загрузку файла, который остался недокачанным в предыдущей сессии wget или другой программы. Это будет выполнено, только если сервер поддерживает докачку и размер файла на сервере больше, чем сохранённого на диске. Иначе, при наличии на диске данного файла, закачка произведена не будет. Этот параметр нет необходимости указывать для того, чтобы wget при внезапном обрыве соединения продолжил закачку вместо повторной загрузки с самого начала – в такой ситуации докачка, если её поддерживает сервер, является поведением по умолчанию, а параметр ‘-c‘ не оказывает никакого воздействия на поведение wget. Кроме того, следует быть осторожным, сочетая параметры “-c” и “-r“, т.к. тогда каждый уже существующий файл будет рассматриваться как потенциально недокачанный, и в случае модификации документа на сервере, приведшей к увеличению его размера вместо закачки новой копии он будет “докачан” т.е. будет загружена конечная часть нового файла, и дописана в конец существующего. При рекурсивной выгрузке этот параметр вступает в противоречие с параметром “-N“, что приводит к остановке загрузки или не обработке некоторых HTML-файлов (этого не происходит, только если “-N” оказывается отключенным ввиду отсутствия в информации о дате модификации файла на сервере). Кроме того, такая простая докачка без отката может иногда давать повреждённый файл, если производится через “хромой” прокси-сервер, добавляющий в конец файла строку “transfer interrupted“. В будущем автор планирует добавить возможность “отката” для решения этой проблемы (такая опция уже есть во FlashGet).
  • -D list – ограничить рекурсивную выгрузку следующими доменами: list. list– разделённый запятыми перечень имён доменов. Этот параметр имеет смысл только в сочетании с “-H“. Может употребляться вместе с обратным по действию параметром “--exclude-domains list“, который действует совершенно аналогично, но наоборот: wget -rH -Dfoo.edu --exclude-domains sunsite.foo.edu http://www.foo.edu/ – приведёт к загрузке содержимого всех серверов в домене foo.edu, за исключением сайта sunsite.foo.edu и сайтов в поддомене sunsite.foo.edu.

Как скачать файл из консоли в Linux

Чтобы скачать файл из консоли в Linux выполните следующую команду:

wget https://obu4alka.ru/index.php

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

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

wget -O - http://www.obu4alka.ru/scripts/myscript.sh | bash

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

wget -O script.sh https//:obu4alka.ru/scripts/myscript.sh

Из особенностей wget можно отметить, что утилита поддерживает протоколы HTTP, HTTPS и FTP, а для шифрования может использоваться только GnuTLS или OpenSSL.

[endtxt]

. . . .

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять