Debian, Linux, Ubuntu
- 28.07.2022
- 382
- 0
- 1
- 1
- 0
- Содержание статьи
- Скачивание и запуск sh скриптов через wget
- Добавить комментарий
Скачивание и запуск sh скриптов через wget
В ряде определенных случаев, может потребоваться выполнить в bash скрипт, скачанный через wget. Данное действие можно выполнить всего одной строкой, но содержимое этой строки зависит от типа скрипта. Если скрипт не требует участия пользователя, то выглядеть такая строка будет следующим образом:
wget -O - http://127.0.0.1/example.sh | bash
Если же, скрипт является интерактивным, и требует каких-либо действий от пользователя, то команда будет выглядеть иначе:
bash <(wget -qO- http://127.0.0.1/example.sh)
В том случае, если нужно выполнить скачанный интерактивный скрипт с повышением прав до суперпользователя, то команда приобретет такой вид:
sudo su -c "bash <(wget -qO- http://127.0.0.1/example.sh)" root
wget http://sitehere.com/install.sh -v -O install.sh; rm -rf install.sh
That runs the script after download right and then removes it?
asked Oct 8, 2012 at 18:36
I like to pipe it into sh. No need to create and remove file locally.
wget http://sitehere.com/install.sh -O - | sh
answered Nov 30, 2013 at 20:48
2
I think you might need to actually execute it:
wget http://sitehere.com/install.sh -v -O install.sh; ./install.sh; rm -rf install.sh
Also, if you want a little more robustness, you can use &&
to separate commands, which will only attempt to execute the next command if the previous one succeeds:
wget http://sitehere.com/install.sh -v -O install.sh && ./install.sh; rm -rf install.sh
answered Oct 8, 2012 at 18:39
1
I think this is the best way to do it:
wget -Nnv http://sitehere.com/install.sh && bash install.sh; rm -f install.sh
Breakdown:
-N
or--timestamping
will only download the file if it is newer on the server-nv
or--no-verbose
minimizes output, or-q
/--quiet
for no «wget
» output at all&&
will only execute the second command if the first succeeds- use
bash
(orsh
) to execute the script assuming it is a script (or shell script); no need tochmod +x
rm -f
(or--force
) the file regardless of what happens (even if it’s not there)- It’s not necessary to use the
-O
option withwget
in this scenario. It is redundant unless you would like to use a different temporary file name thaninstall.sh
answered Oct 21, 2013 at 4:53
bnjmnbnjmn
4,4784 gold badges36 silver badges52 bronze badges
2
You are downloading in the first statement and removing in the last statement.
You need to add a line to excute the file by adding :
./install.sh
answered Oct 8, 2012 at 18:42
divanshudivanshu
3151 gold badge4 silver badges12 bronze badges
Careful
Before running the script, do you trust the person who wrote it?
For example, did you expect the script to contain this?
echo "brain1" > /etc/hostname
That will try to change your hostname.
For future reference, if, after verifying the script is correct and not malicious, you can run it in one line like this:
wget -O - http://dl.dropbox.com/u/11210438/flockonus-stack.sh | bash
But download it separately and read it before running it the first time.
Also note that interactive prompts inside the downloaded script may not work properly using this method.
answered Jan 24, 2011 at 22:03
6
Non-Interactive Scripts
wget -O - http://website.com/my-script.sh | bash
Note that when using this method, interactive scripts will not work.
Interactive Scripts
In order to get interactive scripts working, you can use this:
bash <(wget -qO- http://website.com/my-script.sh)
Interactive Scripts that need to be run as root
Warning: This is extremely dangerous. Not recommended.
sudo su -c "bash <(wget -qO- http://website.com/my-script.sh)" root
Note that you cannot simple use sudo bash
since using <(...)
will create a virtual file and it’s file descriptor will not be accessible from roots bash instance. It must be executed on the same user that needs to read the virtual file, so it has to be sent as it’s own command inside the root users shell.
answered Jan 2, 2018 at 22:17
Nathan F.Nathan F.
3202 silver badges5 bronze badges
1
That script is from me, it is safe.. Loved the one-liner, but, it has some interactive lines that didn’t run.. dunno why?
When dpkg runs, called by apt-get, it flushes stdin. If you are using a command like curl blah | bash
, then you are basically sending contents of the page to bash via STDIN. If one of your commands is apt-get, then runs, everything else will be flushed.
The trick is to use a command like this apt-get install --yes denyhosts </dev/null
. This gives apt-get a different input, and it simply flushes /dev/null instead of the rest of your script.
If you want to see a complete example of installing something via a remote script you may want to look at this script for setting up denyhosts
For the record, I prefer curl over wget for this, but wget should also be fine.
answered Jan 24, 2011 at 23:28
ZoredacheZoredache
130k40 gold badges271 silver badges414 bronze badges
1
#!/bin/sh
if [ ! -f "/tmp/flockonus-stack.sh" ]
then
wget -O /tmp/flockonus-stack.sh http://dl.dropbox.com/u/11210438/flockonus-stack.sh
fi
sh /tmp/flockonus-stack.sh
answered Jan 24, 2011 at 21:59
lynxmanlynxman
9,2573 gold badges25 silver badges28 bronze badges
All of these examples are missing a fairly important point. If you use the url http://dl.dropbox.com/u/11210438/flockonus-stack.sh
, you need to audit the script every time you download it, because it can be modified by anyone on the network path between you and dropbox. If you switch to https://dl.dropbox.com/u/11210438/flockonus-stack.sh, you won’t have that source of insecurity.
(Dropbox tries to redirect the http URL to https, but in the case of a network attack wget would never get to speak to the real dropbox, and would never see the redirect)
answered May 4, 2016 at 23:44
1
Try simply downloading it as you have specified with wget and then executing it directly. You can get fancy and use variables for the script you want to download etc, but this will do the trick
For example:
!#/bin/bash
#Change to temp directory
cd /tmp
#Download file using wget
wget http://dl.dropbox.com/u/11210438/flockonus-stack.sh
#Execute the file
sh flockonus-stack.sh
answered Jan 24, 2011 at 22:06
BrettBrett
461 bronze badge
1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
linesCount=«0« | |
loc=«$1« | |
DIR=«$( cd «$( dirname «${BASH_SOURCE[0]}« )« >/dev/null 2>&1 && pwd )« | |
selfLoc=«$DIR/« | |
moveTo() { | |
head -n $3 $selfLoc$1 >> $selfLoc$2 # Move to a new file | |
sed -i -e «1,$3 d« $selfLoc$1 # remove from the old file | |
} | |
count() { | |
linesCount=$(wc -l < $selfLoc$1) | |
} | |
download() { | |
url=$(head -1 $selfLoc«inQueue.txt« | tr -d ‘r‘) | |
echo «downloading: ${url##*/}« | |
wget -c $url —directory-prefix=$loc | |
if [ $? -ne 0 ] | |
then | |
moveTo «inQueue.txt« «failed.txt« 1 | |
else | |
mv «${url##*/}« $loc | |
moveTo «inQueue.txt« «downloaded.txt« 1 | |
fi | |
} | |
# check if script is already running | |
dupe_script=$(ps -ef | grep $selfLoc«script.sh« | grep -v grep | wc -l) | |
if [ $dupe_script -gt 3 ] | |
then | |
echo -e «The script was already running.« | |
exit 0 | |
fi | |
count «inQueue.txt« | |
if [ $linesCount -gt 0 ] | |
then | |
download | |
else | |
count «toDownload.txt« | |
if [ $linesCount -gt 0 ] | |
then | |
moveTo «toDownload.txt« «inQueue.txt« 1 | |
download | |
fi | |
fi | |
exit |
В следующей статье мы рассмотрим Simple SH. Это простой BASH скрипт для установки приложений что многие считают важным в Ubuntu и его вариантах, таких как Linux Mint. С Simple SH любой может легко и быстро выбрать и установить свои любимые приложения в системах на основе Ubuntu.
Как следует из названия, Simple SH очень прост в установке и использовании. Если вы ленивый администратор, который ищет простой способ установки некоторых приложений во многие Системы на основе Ubuntu, сценарий Simple SH — хороший выбор. Он предлагает большое количество необходимого программного обеспечения, необходимого для повседневной работы.
Далее мы увидим список включенных приложений в инструменте Simple SH. Они делятся на три категории:
Индекс
- 1 Простые приложения SH
- 1.1 Общие системные инструменты
- 1.2 Серверные приложения
- 1.3 Настольные приложения
- 2 Простая установка SH на Ubuntu
- 2.1 Использование Wget
- 2.2 Использование Curl
- 3 Устанавливайте приложения в Ubuntu с помощью Simple SH
Общие системные инструменты
- Update.sh → Обновить список источников.
- Upgrade.sh → Обновите все пакеты в системе.
- Indicator.sh → Установите индикатор загрузки системы.
- Ohmyzsh.sh → Установить oh-my-zsh.
- Phonegap.sh → Установить Phonegap, конструктор мобильных приложений.
- Prezto.sh → Установить Prezto (для Zsh).
- Vim.sh → Установите Редактор Vim.
Серверные приложения
- Ajenti.sh → Установить панель администрирования Ajenti.
- Lamp.sh → Установить ЛАМПУ.
- N98.sh → Установите инструменты n98 magerun cli для разработчиков Magento.
- Nginx.sh → Установить LEMP.
- Wpcli.sh → Установите WP CLI, интерфейс командной строки для WordPress.
Настольные приложения
- Atom.sh → Установите редактор Atom.
- Brackets.sh → Установите редактор Brackets.
- Chrome.sh → Установите веб-браузер Chrome.
- Composer.sh → Установить Composer.
- Digikam.sh → Установите Digikam.
- Dropbox.sh → Установить Dropbox.
- Firefoxdev.sh → Установите Firefox Developer Edition.
- Gimp.sh → Установить GIMP.
- Googledrive.sh → Установить Google Диск.
- Musique.sh → Установить Musique Player.
- Phpstorm-10.sh → Установить PHPStorm версии 10.xx
- Phpstorm-9.sh → Установить PHPStorm версии 9.xx
- Phpstorm.sh → Установить PHPStorm версии 8.xx
- Pycharm-pro.sh → Установить версию PyCharm Professional.
- Pycharm.sh → Установите версию сообщества PyCharm.
- Rubymine.sh → Установить RubyMine.
- Spotify.sh → Установить Spotify.
- Sublimetext.sh → Установите редактор Sublime Text 3.
- Terminator.sh → Установить Терминатор.
Я должен сказать, что я пробовал не все приложения, но те, которые я попробовал, после установки работают правильно. Если кто-то думает, что отсутствует важное приложение, вы можете отправить запрос разработчику через официальная страница GitHub.
Простая установка SH на Ubuntu
Мы сможем установить Simple SH с помощью Wget или Curl. Если у вас нет ни одного из этих инструментов, вы можете легко установить один или оба из них. Для этого вам просто нужно открыть терминал (Ctrl + Alt + T) и ввести следующую команду:
sudo apt-get install wget curl
Использование Wget
Выполните следующие команды одну за другой, чтобы получить Simple SH с помощью Wget:
wget -qO- -O simplesh.zip https://github.com/rafaelstz/simplesh/archive/master.zip unzip simplesh.zip && rm simplesh.zip
Использование Curl
Выполните следующие команды одну за другой, чтобы получить Simple SH с помощью Curl:
curl -L https://github.com/rafaelstz/simplesh/archive/master.zip -o simplesh.zip unzip simplesh.zip && rm simplesh.zip
Какой бы вариант вы ни использовали, для завершения мы перейдем в папку, в которую был извлечен файл, и у нас будет только запустить Simple SH как показано ниже:
cd simplesh-master/ bash simple.sh
Устанавливайте приложения в Ubuntu с помощью Simple SH
После того, как вы запустили сценарий Simple SH с помощью команды «баш простой.ш«, Отобразятся все доступные команды и приложения. Для его использования у нас будет только напишите название приложения который мы хотим установить, и нажмите клавишу Enter, чтобы начать его установку. Например, чтобы установить атом, нам нужно написать atom.sh.
Сценарий автоматически добавит источники ПО и установит выбранное приложение.
к обновить список шрифтов, напишем следующее и нажмем Enter:
update.sh
к обновить все системные пакеты, напишем:
upgrade.sh
Имейте в виду, что этот скрипт не полностью интерактивный. При необходимости нам нужно будет ввести пароль.
Например, предположим, что мы хотим настроить сервер LAMP. Для этого напишем:
lamp.sh
Эсто установит полную LAMP (Apache, MySQL, PHP и phpMyAdmin) в нашей системе Ubuntu.
В этом случае нам нужно будет ввести пароль для пользователя root MySQL и пароль для входа в phpmyadmin, а также выбрать веб-сервер для настройки phpMyAdmin и т. Д.
Таким же образом мы можем установить и другие приложения. После каждой установки нам придется повторно запускать скрипт для установки других приложений, так как он закроется сам. Если вы хотите выйти из системы перед установкой чего-либо, нам нужно будет только нажмите «e» для выхода из Simple SH.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Вы можете быть заинтересованы
wget — The non-interactive network downloader.
Contents
- 1 Usage
- 2 Download multiple files
- 2.1 Automating/scripting download process
- 3 See also
- 4 External links
Usage
- Simple download:
$ wget http://www.example.com/index.html
- Download a file and store it locally using a different file name:
$ wget -O example.html http://www.example.com/index.html
- Background download:
$ wget -b https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.4.tar.gz $ tail -f wget-log # <- monitor download
The above command is useful when you initiate a download via a remote machine. This will start downloading in background, so that you can disconnect the terminal once the command is issued.
- Mirror an entire web site:
$ wget -m http://www.example.com
- Mirror an entire subdirectory of a web site (with no parent option in case of backlinks):
$ wget -mk -w 20 -np http://example.com/foo/
- Download all pages from a site and the pages the site links to (one-level deep):
$ wget -H -r --level=1 -k -p http://www.example.com
- Resume large file download:
$ wget -c --output-document=MIT8.01F99-L01.mp4 "https://www.youtube.com/watch?v=X9c0MRooBzQ"
- Schedule hourly downloads of a file
$ wget --output-document=traffic_$(date +%Y%m%d%H).gif "http://sm3.sitemeter.com/YOUR_CODE"
- Automatically download music (by Jeff Veen):
$ wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i mp3_sites.txt
where mp3_sites.txt
lists your favourite (legal) download sites.
#~OR~ $ wget -r --level=1 -H --timeout=1 -nd -N -np --accept=mp3 -e robots=off -i musicblogs.txt
- Download all mp3’s listed in an html page (source):
$ wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website] #-r: recursive #-l1: depth = 1 #-H: span hosts #-t1: try once #-nd: no heirarchy of directories #-N: turn on time-stamping #-np: do not ascend to parents #-A.mp3: accept only mp3 files #-erobots=off: ignore robots.txt
- Crawl a website and generate a log file of any broken links:
$ wget --spider -o wget.log -e robots=off --wait 1 -r -p http://www.example.com/
- Force wget to mimic a browser’s user-agent (e.g., http://whatsmyuseragent.com/):
$ wget --user-agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.4.tar.gz
- Limit download speed/rate:
$ wget --limit-rate=300k https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.4.tar.gz
- Get headers:
$ wget -SO /dev/null xtof.ch --2021-09-13 00:14:04-- http://xtof.ch/ Resolving xtof.ch (xtof.ch)... 1.2.3.4 Connecting to xtof.ch (xtof.ch)|1.2.3.4|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Date: Mon, 13 Sep 2021 07:14:04 GMT Server: Apache/2.4.37 (centos) Last-Modified: Tue, 28 Jul 2020 23:13:16 GMT ETag: "d2-5ab88958ae676" Accept-Ranges: bytes Content-Length: 210 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8 Length: 210 [text/html] Saving to: ‘/dev/null’
Download multiple files
- Create variable that holds all URLs and then using «BASH for loop» to download all files:
$ URLS="http://www.example.com/foo.tar.gz ftp://ftp.example.org/pub/bar.tar.gz"
- Use for loop as follows:
$ for u in $URLS; do wget $u; done
- You can also put a list of the URLs in a file and download using the
-i
option:
$ wget -i download.txt
Automating/scripting download process
#!/bin/sh # wget-list: manage the list of downloaded files # invoke wget-list without arguments while [ $(find .wget-list -size +0) ]; do url=$(head -n1 .wget-list) wget -c ${url} sed -si 1d .wget-list done
#!/bin/sh # wget-all: process .wget-list in every subdirectory # invoke wget-all without arguments find -name .wget-list -execdir wget-list ';'
#!/bin/sh # wget-dirs: run wget-all in specified directories # invoking: wget-dirs <path-to-directory> ... for dir in $*; do pushd ${dir} wget-all popd done wget-all
See also
- curl
- wput — tiny wget-like ftp-client for uploading files
- rsync
- axel
- prozilla
External links
- GNU Wget Manual — last update: 15-Jun-2005
- Geek to Live: Mastering Wget — via lifehacker.com
- wget: your ultimate command line downloader
Работая в консоли, нам достаточно часто приходится взаимодействовать с сетью, например скачивать файлы или целые интернет страницы. Если интернет страницы мы скачиваем довольно редко, то с файлами дело обстоит совсем по другому. Это могут быть различные скрипты, установочные пакеты, программы, ключи, списки пакетов и многое другое. Скачать файл в консоли Linux можно с помощью утилиты wget. Ее мы и рассмотрим в этой статье.
Это очень мощная утилита, способная работать по протоколам HTTP, HTTPS и FTP. Кроме того поддерживается работа через прокси. Команда wget linux, может выполнять загрузку файлов даже в фоновом режиме — без участия пользователя, в отличии от большинства веб браузеров.
Кроме скачивания файлов, есть возможность сохранять веб страницы или даже целые веб-сайты, благодаря функции открытия ссылок на страницах. Такую возможность еще называют рекурсивной загрузкой. Это все мы и рассмотрим в сегодняшней статье, но начнем, как всегда, с синтаксиса и основных опций утилиты.
Команда wget linux имеет очень простой синтаксис:
$ wget опции аддресс_ссылки
Можно указать не один URL для загрузки, а сразу несколько. Опции указывать не обязательно, но в большинстве случаев они используются для настройки параметров загрузки.
Опции
Синтаксис опций очень свободный. У каждой опции, как правило есть как длинное, так и короткое имя. Их можно записывать как до URL, так и после. Между опцией и ее значением не обязательно ставить пробел, например вы можете написать -o log или -olog. Эти значения эквивалентны. Также если у опций нет параметров, не обязательно начинать каждую с дефиса, можно записать их все вместе: -drc и -d -r -c. Эти параметры wget тоже эквивалентны.
А теперь давайте перейдем к списку опций. У wget слишком много опций, мы разберем только основные.
- -V (—version) — вывести версию программы
- -h (—help) — вывести справку
- -b (—background) — работать в фоновом режиме
- -o файл (—out-file) — указать лог файл
- -d (—debug) — включить режим отладки
- -v (—verbose) — выводить максимум информации о работе утилиты
- -q (—quiet) — выводить минимум информации о работе
- -i файл (—input-file) — прочитать URL из файла
- —force-html — читать файл указанный в предыдущем параметре как html
- -t (—tries) — количество попыток подключения к серверу
- -O файл (—output-document) — файл в который будут сохранены полученные данные
- -с (—continue) — продолжить ранее прерванную загрузку
- -S (—server-response) — вывести ответ сервера
- —spider — проверить работоспособность URL
- -T время (—timeout) — таймаут подключения к серверу
- —limit-rate — ограничить скорость загрузки
- -w (—wait) — интервал между запросами
- -Q (—quota) — максимальный размер загрузки
- -4 (—inet4only) — использовать протокол ipv4
- -6 (—inet6only) — использовать протокол ipv6
- -U (—user-agent)— строка USER AGENT отправляемая серверу
- -r (—recursive)- рекурсивная работа утилиты
- -l (—level) — глубина при рекурсивном сканировании
- -k (—convert-links) — конвертировать ссылки в локальные при загрузке страниц
- -P (—directory-prefix) — каталог, в который будут загружаться файлы
- -m (—mirror) — скачать сайт на локальную машину
- -p (—page-requisites) — во время загрузки сайта скачивать все необходимые ресурсы
Кончено это не все ключи wget, но здесь и так слишком много теории, теперь давайте перейдем к практике. Примеры wget намного интереснее.
Использование wget Linux
Команда wget linux, обычно поставляется по умолчанию в большинстве дистрибутивов, но если нет, ее можно очень просто установить. Например установка с помощью yum будет выглядеть следующим образом:
yum -y install wget
А в дистрибутивах основанных на Debian:
sudo apt install wget
Теперь перейдем непосредственно к примерам:
1. Загрузка файла
Команда wget linux скачает один файл и сохранит его в текущей директории. Во время загрузки мы увидим прогресс, размер файла, дату его последнего изменения, а также скорость загрузки:
wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
2. Сохранить файл с другим именем
Опция -О позволяет задать имя сохраняемому файлу, например, скачать файл wget с именем wget.zip:
wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
3. Скачать несколько файлов
Вы можете скачать несколько файлов одной командой даже по разным протоколам, просто указав их URL:
wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig
4. Взять URL из файла
Вы можете сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i. Например создадим файл tmp.txt, со ссылками для загрузки wget, а затем скачаем его:
wget -i /wget/tmp.txt
5. Продолжить загрузку
Утилита wget linux рассчитана на работу в медленных и нестабильных сетях. Поэтому если вы загружали большой файл, и во время загрузки было потеряно соединение, то вы можете скачать файл wget с помощью опции -c.
wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
6. Загрузка файлов в фоне
Опция -b заставляет программу работать в фоновом режиме, весь вывод будет записан в лог файл, для настройки лог файла используются специальные ключи wget:
wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
7. Ограничение скорости загрузки
Команда wget linux позволяет не только продолжать загрузку файлов, но и ограничивать скорость загрузки. Для этого есть опция —limit-rate. Например ограничим скорость до 100 килобит:
wget --limit-rate=100k ftp://ftp.iinet.net.au/debian/debian-cd/8.4.0/amd64/iso-dvd/debian-8.4.0-amd64-DVD-1.iso
Здесь доступны, как и в других подобных командах индексы для указания скорости — k — килобит, m — мегабит, g — гигабит, и так далее.
8. Подключение по логину и паролю
Некоторые ресурсы требуют аутентификации, для загрузки их файлов. С помощью опций —http-user=username, –http-password=password и —ftp-user=username, —ftp-password=password вы можете задать имя пользователя и пароль для HTTP или FTP ресурсов.
wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
Или:
wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso
9. Загрузить и выполнить
Вы, наверное, уже видели такие команды. wget позволяет сразу же выполнять скачанные скрипты:
wget -O - http://сайт/скрипт.sh | bash
Если опции -O не передать аргументов, то скачанный файл будет выведен в стандартный вывод, затем мы его можем перенаправить с интерпретатор bash, как показано выше.
10. Сохранить файл в папке
По умолчанию wget сохраняет файл в текущую папку, но это поведение очень легко изменить с помощью опции -P:
wget -P ~/Downloads/ http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
11. Передать информацию о браузере
Некоторые сайты фильтруют ботов, но мы можем передать фальшивую информацию о нашем браузере (user-agent) и страницу с которой мы пришли (http-referer).
wget ‐‐refer=http://google.com ‐‐user-agent=”Mozilla/5.0 Firefox/4.0.1″ //losst.pro
12. Количество попыток загрузки
По умолчанию wget пытается повторить загрузку 20 раз, перед тем как завершить работу с ошибкой. Количество раз можно изменить с помощью опции —tries:
wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
13. Квота загрузки
Если вам доступно только ограниченное количество трафика, вы можете указать утилите, какое количество информации можно скачивать, например разрешим скачать файлов из списка только на десять мегабайт:
wget -Q10m -i download-list.txt
Здесь работают те же индексы для указания размера — k, m, g, и т д.
14. Скачать сайт
Wget позволяет не только скачивать одиночные файлы, но и целые сайты, чтобы вы могли их потом просматривать в офлайне. Использование wget, чтобы скачать сайт в linux выглядит вот так:
wget --mirror -p --convert-links -P ./<Local-Folder> аддресс_сайт
Выводы
Вот и все, теперь использование wget не будет для вас таким непонятным. Если я упустил что-то важное о команде или у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .