Сценарий sh wget

В ряде определенных случаев, может потребоваться выполнить в bash скрипт ...


Debian, Linux, Ubuntu

  • 28.07.2022
  • 382
  • 0
  • 1
  • 1
  • 0

Скачивание и запуск скрипта bash через wget

  • Содержание статьи
    • Скачивание и запуск 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

amanada.williams's user avatar

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

helderco's user avatar

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

Janito Vaqueiro Ferreira Filho's user avatar

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 (or sh) to execute the script assuming it is a script (or shell script); no need to chmod +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 with wget in this scenario. It is redundant unless you would like to use a different temporary file name than install.sh

answered Oct 21, 2013 at 4:53

bnjmn's user avatar

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

divanshu's user avatar

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

Mikel's user avatar

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.'s user avatar

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

Zoredache's user avatar

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

lynxman's user avatar

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

pde's user avatar

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

Brett's user avatar

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

Show hidden 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

About simple SH

В следующей статье мы рассмотрим 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

Simple SH programas

Общие системные инструменты

  • 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. Для этого напишем:

Instalación lamp simple sh

lamp.sh

Эсто установит полную LAMP (Apache, MySQL, PHP и phpMyAdmin) в нашей системе Ubuntu.

Configuración mysql server

В этом случае нам нужно будет ввести пароль для пользователя root MySQL и пароль для входа в phpmyadmin, а также выбрать веб-сервер для настройки phpMyAdmin и т. Д.

Configuración 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

wget1

2. Сохранить файл с другим именем

Опция -О позволяет задать имя сохраняемому файлу, например, скачать файл wget с именем wget.zip:

wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

wget2

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

wget3

4. Взять URL из файла

Вы можете сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i. Например создадим файл tmp.txt, со ссылками для загрузки wget, а затем скачаем его:

wget -i /wget/tmp.txt

wget4

5. Продолжить загрузку

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

wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

wget5

6. Загрузка файлов в фоне

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

wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

wget6

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

wget7

Здесь доступны, как и в других подобных командах индексы для указания скорости — 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

wget8

11. Передать информацию о браузере

Некоторые сайты фильтруют ботов, но мы можем передать фальшивую информацию о нашем браузере (user-agent) и страницу с которой мы пришли (http-referer).

wget ‐‐refer=http://google.com ‐‐user-agent=”Mozilla/5.0 Firefox/4.0.1″ //losst.pro

wget7

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 License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Понравилась статья? Поделить с друзьями:
  • Сценарий агитбригады на противопожарную тематику
  • Сценарий science slam
  • Сценарий агитбригады на полях
  • Сценарий python что такое
  • Сценарий агитбригады на день матери