Как скачать файл в Linux с помощью wget

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Утилита 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-директорий. Этот параметр эквивалентен следующей записи: «-Nrl 0 -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 — разделённый запятыми перечень имён доменов. Этот параметр имеет смысл только в сочетании с «-H». Может употребляться вместе с обратным по действию параметром «—exclude-domains list», который действует совершенно аналогично, но наоборот:
wget -rH -D foo.edu —exclude-domains sunsite.foo.edu  http://www.foo.edu/ приведёт к загрузке содержимого всех серверов в домене foo.edu, за исключением сайта sunsite.foo.edu и сайтов в поддомене sunsite.foo.edu.

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

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

wget адрес_файла

Пример:

wget https://pro-gram.ru/wp-content/Install/Arhivators/7zip1805.exe

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

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

wget -O - http://www.tecmint.com/wp-content/scripts/Colorfull.sh | bash

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

wget -O script.sh http://www.tecmint.com/wp-content/scripts/Colorfull.sh

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

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

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

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Отправить ответ

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Подписаться  
Уведомление о
Меню

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

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