Как закачать файл (архив) на сервер Linux с помощью команды wget

Для того, чтобы закачать файл на удалённый сервер есть масса способов. Пожалуй, самый безумный, который можно придумать, это вбить его ручками с клавиатуры, но это долго и мучительно. Самый распространённый способ — это залить файл на сервер с помошью ftp-клиента на удалённом компьютере. В этой статье рассмотрим утилиту wget, которая позволяет скачивать файлы (и даже целые сайты) к себе на удалённый сервер. wget чаще всего используется для закачки дистрибутивов или ключей из репозиториев на сервер с оперционкой семейства *nix.



Синтаксис и опции wget

Для детального ознакомления с утилитой wget нужно потратить массу времени. Поэтому проще всего вызвать помощь по ней непосредственно в консоли сервера и начать именно с этого:

root@server:~# wget -h

Если этого окажется мало, то можно почитать более подробный мануал:

root@server:~# man wget

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

wget [option]... [URL]...

Загрузка файла на сервер linux командой wget

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

  1. Заходим в нужную директорию у себя на сервере, куда нужно скачать этот дистрибутив
  2. Набираем команду: wget https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
  3. Архив скачивается в ту папку, из которой произошёл вызов.
  4. Если файл по указанному адресу, то скачивание сопровождается подробной информацией (вплоть до статус-бара, показывающего в режиме реального времени того, сколько процентов скачено):
    root@amorale:~# wget https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
    --2019-05-17 23:46:28--  https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
    Resolving downloads.joomla.org (downloads.joomla.org)... 72.29.124.146
    Connecting to downloads.joomla.org (downloads.joomla.org)|72.29.124.146|:443... connected.
    HTTP request sent, awaiting response... 303 See Other
    Location: https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.6-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190517%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190517T204621Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=6a16c05547e770b6665bb7f5670f60acccc113712478c45fb05b23890b1cb958 [following]
    --2019-05-17 23:46:30--  https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.6-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190517%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190517T204621Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=6a16c05547e770b6665bb7f5670f60acccc113712478c45fb05b23890b1cb958
    Resolving s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)... 52.218.248.8
    Connecting to s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)|52.218.248.8|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 13931139 (13M) [application/zip]
    Saving to: ‘Joomla_3-9-6-Stable-Full_Package.zip’
    
    Joomla_3-9-6-Stable-Full_Package.zip      100%[====================================================================================>]  13.29M  4.06MB/s    in 3.3s
    
    2019-05-17 23:46:34 (4.06 MB/s) - ‘Joomla_3-9-6-Stable-Full_Package.zip’ saved [13931139/13931139]​

Как загрузить файл на сервер linux с другим именем с помощью утилиты wget с опцией -O

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

wget -O joomla.zip https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
  • Где:
    • wget –  вызов утилиты wget
    • -O — опция, которая служит указанием того, что скачиваемому файлу требуется задать другое имя
    • joomla.zip — имя файла, под которым он будет сохранён после скачивания
    • Joomla_3-9-6-Stable-Full_Package.zip — изначальное имя файла, которое было бы использовано, не примени мы опцию -O утилиты wget

Указание пути сохранения скачиваемого утилитой wget файла с помощью опции -P

Ну и последнее, что рассмотрим в этой статье, это то, как сохранить файл с помощью утилиты wget с удалённого места на сервер с указанием пути, по которому его нужно сохранить. Этого можно достичь, применив опцию -P в следующем формате:

wget -P ~/Downloads/ https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
  • Где
    • -P –  опция, которая служит для указания того, что будет указан путь, по которому должно произойти сохранение скачиваемого файла
      • примечательным служит то, что если указанных папок на сервере на момент сохранения нет, то они будут созданы
    • ~/Downloads/ –  путь для сохранения скачиваемого файла (он может быть как абсолютным так и относительным)
    • ну и через пробел –  указание того, откуда качаем файл

Резюме

Таким образом утилитой wget можно скачать и сохранить файл в нужном месте на сервере с нужным именем. Остальные опции мне пока не нужны. =)

Пример использования в видео-инструкции:

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню