Наигравшись GUI приложениями, все больше обращаю свое внимание на консольные программы и на возможности консоли в целом.
В предыдущих постах я рассказывал о некоторых консольных программах, которые я начал успешно использовать.
Теперь пришло время освоить закачку файлов из командной строки.
О том как и чем это сделать, прочитал в ЭТОМ ПОСТЕ
Вот фрагмент статьи, который касается консоли:
Самым популярным инструментом для закачки файлов и целых сайтов является утилита GNU Wget, которая, как правило, устанавливается по умолчанию. Поддерживает все популярные протоколы HTTP/HTTPS и FTP, умеет работать через HTTP прокси-сервер. Чем так удобен wget? Самое главное, что wget является не-интерактивной программой, поэтому натравив программу на сайт вообще можно о ней забыть. Повлиять на ее работу можно только убив процесс (например, нажатием Ctrl+D в той консоли в которой запущена программа). При использовании веб-браузера, пользователь должен постоянно отвечать на какие то вопросы и скачивание больших объемов информации может быть утомительно. Чтобы скопировать весь сайт целиком достаточно ввести команду:
$ wget http://server.org/
И через некоторое время в текущем каталоге появится полная копия сайта.
Чтобы при обрыве соединения закачка возобновлялась добавляем параметр -с. Так можно скачать отдельный файл.
$ wget -c http://server.org/file.rar
Параметр -r указывает на рекурсивный обход, а -l на его глубину. Обойдем рекурсивно все каталоги сайта, на глубину не более 10:
$ wget -r -l10 http://server.org/
Наиболее часто используемые параметры можно указать в конфигурационном файле .wgetrc, который создается в домашнем каталоге пользователя. Очень удобно скачивать файлы по расписанию. Например, создадим задачу для закачки файла в 02.00 (необходимо чтобы работал демон atd).
$ at 0200
warning: commands will be executed using /bin/sh
at> wget -c http://server.org/file.rar
at> Нажимаем Ctrl+D
Wget удобная и популярная программа, но к сожалению развивающаяся очень вяло.
Поэтому стоит обратить свое внимание на сURL (http://curl.haxx.se/), которая поддерживает на порядок большее количество протоколов: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE и LDAP. Знает об сертификатах SSL, прокси, cookies, возможна аутендификация пользователей по имени и паролю.
Например, чтобы скачать заглавную страницу сайта, вводим:
$ curl http://www.linux.org/ -o linux.html
Параметров у нее довольно много, расскажу только о самом интересном, который привлек в свое время мое внимание именно к этой утилите. Называется он -r/–range. С его помощью можно указать только на часть файла. Что это нам дает? Находим несколько зеркал и загружаем файл частями с каждого зеркала, а затем собираем.
$ curl -r 0-350000000 http://releases.ubuntu.com/kubuntu/7.10/kubuntu-7.10-desktop-i386.iso -o kubuntu_7_10_1 &
$ curl -r 350000001- http://de.releases.ubuntu.com/kubuntu/7.10/kubuntu-7.10-desktop-i386.iso-o kubuntu_7_10_2 &
После того как обе части будут скачаны, соединяем их, командой cat kubuntu_7_10_* > kubuntu-7.10-desktop-i386.iso. Проверяем контрольную сумму при помощи md5sum и если все нормально записываем дистрибутив на диск.
Aria
Aria (aria.rednoah.com) В свое время это была весьма удобная утилита для скачивания файлов по протоколам FTP и HTTP имеющая множество функций и настроек. Программе можно было вскормить заготовленный список файлов, дальше она все делала сама. Кроме этого параллельно проверялась целостность закачанных файлов и при необходимости закачка повторялась. На сегодня интерфейс, основанный еще на первой версии библиотек GTK, уже вряд ли кого может удовлетворить. Хотя, повозившись с установками шрифтов в файле ~/.aria/rc.aria можно попробовать придать этому менеджеру вполне нормальный внешний вид. На замену первой версии уже продвигается Aria2 (aria2.sourceforge.net), в которой Татсухиро Тзукаява (Tatsuhiro Tsujikawa) отказался от графического интерфейса и вся работа происходит исключительно в командной строке. Поясняется это малой нагрузкой на систему и большими возможностями командной строки. Возможно, в 21 веке такая позиция будет оценена не многими, но та часть, которая понимает все удобства такого подхода только за. Поддерживаются протоколы HTTP/HTTPS/FTP/BitTorrent и Metalink. Изначально поддерживается сегментирование файла, поэтому в одной строке можно указать сразу несколько зеркал указывающих на один файл. Утилита сама разобьет файл на части, скачает, соберет и проверит.
Например, так можно качать файл с помощью одного соединения:
$ aria2c http://server.com/file.zip
А так будет задействовано 2 подключения к одному серверу:
$ aria2c -s 2 http://server.com/file.zip
А теперь заберем файл с двух разных серверов:
Причем в одной команде можно смешивать разные протоколы, скачивая файл, с http и с ftp серверов. С torrent aria2 работает аналогично. Просто указываем .torrent файл с помощью параметра -T:
$ aria2c -T test.torrent
А такой командой можно просмотреть список файлов:
$ aria2c -T test.torrent -S
С metalink работаем аналогично:
aria2c -M test.metalink
Если указывается гипер-ссылка на torrent или metalink файлы, то дополнительных опций прописывать не нужно программа сама разберется, что нужно делать.
Вывод: я остановился на утилите aria2.
Зачем нагружать систему всяким там ГЮИ, когда так много можно сделать из консоли
___________
Буду благодарен за комментарии.
Если понравился блог - разместите у себя на сайте ссылку на мой блог . Спасибо
Advego — уникальный контент для вебмастера!
Advego — общайся и зарабатывай деньги!
Буду благодарен за комментарии.
Если понравился блог - разместите у себя на сайте ссылку на мой блог . Спасибо
Advego — уникальный контент для вебмастера!
Advego — общайся и зарабатывай деньги!
Комментариев нет:
Отправить комментарий