Как скачать файл из командной строки

В этом руководстве вы узнаете, как загрузить файл с помощью командной строки Linux.

Зачем тебе это делать? Почему бы вам не использовать веб-браузер в графической среде?

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

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

Инструмент, который будет выделен для этой задачи, называется Wget.

Установка wget

Многие дистрибутивы Linux уже имеют Wget установлен по умолчанию.

Если он еще не установлен, попробуйте одну из следующих команд:

  • Ubuntu, Debian, Mint и т. Д.: sudo apt-get установить wget
  • Fedora, CentOS и т. Д.:— ням установить wget
  • OpenSUSE: Zypper установить Wget

Как скачать файл из командной строки

Чтобы загружать файлы, вам нужно знать как минимум URL файла, который вы хотите загрузить. 

Например, представьте, что вы хотите загрузить последнюю версию Ubuntu с помощью командной строки. Вы также можете скачать его прямо с сайта Ubuntu. Щелкните правой кнопкой мыши эта ссылка для получения URL-адреса Ubuntu ISO, который вы хотите загрузить.

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

Wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-desktop-amd64.iso?_ga=1.79650708.1078907269.1453803890

Это все хорошо, но вам нужно было знать полный путь к файлу, который вы хотели загрузить.

Можно загрузить весь сайт с помощью следующей команды:

wget -r http://www.ubuntu.com

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

Однако вы можете загрузить все файлы с расширением ISO с веб-сайта Ubuntu, используя следующую команду:

wget -r -A "iso" http://www.ubuntu.com

Это все еще не совсем понятный подход к загрузке необходимых вам файлов с веб-сайта. Намного лучше знать URL или URL файлов, которые вы хотите загрузить.

Вы можете указать список файлов для загрузки, используя переключатель. Вы можете создать список URL-адресов с помощью текстового редактора следующим образом:

nano filestodownload.txt

В файле введите список URL-адресов, по одному на строку:

http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-1.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-2.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-3.jpg

Сохраните файл, используя Ctrl + O и затем выйдите из нано, используя Ctrl + X.

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

wget -i filestodownload.txt

Проблема с загрузкой файлов из Интернета заключается в том, что иногда файл или URL-адрес недоступны. Тайм-аут для соединения может занять некоторое время, и если вы пытаетесь загрузить много файлов, нецелесообразно ждать тайм-аут по умолчанию.

Вы можете указать свой тайм-аут, используя следующий синтаксис:

wget -T 5 -i filestodownload.txt

Если у вас есть ограничение на скачивание как часть вашей сделки широкополосного доступа, то вы можете ограничить объем данных, которые Wget можно получить.

Используйте следующий синтаксис, чтобы применить лимит загрузки:

wget --quota = 100 м -i filestodownload.txt

Приведенная выше команда остановит загрузку файлов после достижения 100 мегабайт. Вы также можете указать квоту в байтах (используйте b вместо m) или килобайтах (используйте k вместо m).

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

Например:

wget --limit-rate = 20k -i filestodownload.txt

Приведенная выше команда ограничит скорость загрузки до 20 килобайт в секунду. Вы можете указать количество в байтах, килобайтах или мегабайтах.

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

wget -nc -i filestodownload.txt

Если файл в списке закладок уже существует в месте загрузки, он не будет перезаписан. 

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

Разве не было бы хорошо, если бы вы могли просто продолжить с того места, где остановились? Вы можете продолжить загрузку, используя следующий синтаксис:

wget -c

Резюме

Wget Команда имеет десятки переключателей, которые могут быть применены. Используйте команду человек Wget чтобы получить полный список из них из окна терминала.

Ссылка на основную публикацию