- Регистрация
- 04.09.14
- Сообщения
- 2.952
- Реакции
- 2.028
- Баллы
- 113
Одна из самых частых задач при работе с любой операционной системой – это скачивание файлов. Существует несколько способов получения файлов с удаленного компьютера. В этой статье я расскажу, как решить задачу скачивания файлов в Debian с помощью wget - программы, работающей из командной строки. По большому счету неважно работаете ли вы в Debian или нет т. к. wget входит в состав практически любого дистрибутива Linux. Wget поддерживает работу по протоколам: FTP, HTTP, HTTPS, может работать через HTTP прокси-сервер и поддерживает докачку файлов. Это не все, что может программа, с некоторыми возможностями мы познакомимся ниже, в примерах. Будем двигаться от простого к сложному.
Синтаксис команды следующий:
Просто скачиваем файл по протоколу HTTP или FTP. По умолчанию файл сохраняется в текущий каталог пользователя
Скачиваем файл в фоновом режиме, например, если файл большой или некогда следить за процессом загрузки. Для этого: или в конце строки через пробел добавляем амперсанд, или используем параметр -b
Изменим каталог назначения с текущего на тот, который нужен нам. Используем параметр -P. Путь /path/for/save - это путь к каталогу назначения.
Скачиваем несколько файлов. Для этого пишем их URL-адреса через пробел
Таким способом можно скачать пару-тройку файлов, но при большем их количестве это неудобно. Лучше организовать скачивание файлов списком. Для этого создаем файл list_downloads и вносим в него нужные URL-адреса. Каждый адрес вносим с новой строки. Ниже приведен пример содержания такого файла.
Запускаем скачивание списка файлов, используя параметр -i.
Если скачивание файла было прервано, то его можно докачать. Используем параметр -c.
Все вышеприведенные примеры справедливы для открытых серверов. Если нужно скачать файл с сервера, требующего учётные данные, то делаем это следующим образом. Для скачивания по протоколу HTTP выбираем одну из двух видов записи. Здесь youlogin и youpassword соответственно логин и пароль.
То же самое для протокола FTP
Скачивание файлов только определенного формата. В параметре --accept через запятую перечисляются разрешенные для скачивания форматы. В примере так же используется параметр --reject, в котором тоже через запятую перечисляются уже запрещенные для скачивания форматы файлов
При скачивании файлов иногда требуется ограничить скорость загрузки. Для этого в параметре limit-rate указываем ограничение в байтах в секунду. Для удобства можно указывать приставки: k – килобайт в секунду, m – мегабайт в секунду.
Синтаксис команды следующий:
Код:
wget параметры... URL...
Код:
$ wget http://debian.nsu.ru/debian-cd/current/amd64/bt-cd/debian-7.3.0-amd64-CD-1.iso.torrent
$ wget ftp://debian.nsu.ru/debian-cd/current/amd64/bt-cd/debian-7.3.0-amd64-CD-1.iso.torrent
Код:
$ wget http://debian.nsu.ru/debian-cd/current/amd64/iso-dvd/debian-7.3.0-amd64-DVD-1.iso &
$ wget -b http://debian.nsu.ru/debian-cd/current/amd64/iso-dvd/debian-7.3.0-amd64-DVD-1.iso
Код:
$ wget -P /path/for/save ftp://debian.nsu.ru/debian-cd/current/amd64/iso-cd/debian-7.3.0-amd64-netinst.iso
Код:
$ wget ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz ftp://ftp.gimp.org/pub/gimp/fonts/sharefonts-0.10.tar.gz
Код:
ftp://ftp.gimp.org/pub/gimp/contrib/gimp-nevit-airplanebrush01-20010210-1.gih.gz
http://debian.nsu.ru/debian-cd/current/amd64/bt-dvd/debian-update-7.3.0-amd64-DVD-1.iso.torrent
ftp://ftp.isc.org/lynx/lynx2.8.7/lynx2-8-7-tar.bz2
ftp://ftp.linux.org.uk/pub/linux/libc/libc-5.4.7.tar.gz
Код:
$ wget -i list_downloads
Код:
$ wget -c http://debian.nsu.ru/debian-cd/current/amd64/iso-dvd/debian-7.3.0-amd64-DVD-1.iso
Код:
$ wget --http-user=youlogin --http-password=youpassword http://ftp.yousite/foo_file.tar.gz
$ wget http://youlogin:youpassword@http://ftp.yousite/foo_file.tar.gz
Код:
$ wget --user= youlogin --youpassword=password ftp://ftp.yousite/foo_file.tar.gz
$ wget ftp://youlogin:youpassword@ftp.yousite/foo_file.tar.gz
Код:
$ wget --accept=doc,pdf,djvu --reject=html,htm,php,zip -rl1 ftp://ftp.tomsknet.ru/pub/docs/books/
Код:
$ wget --limit-rate=60k -c http://debian.nsu.ru/debian-cd/current/amd64/iso-dvd/debian-7.3.0-amd64-DVD-1.iso
$ wget --limit-rate=1m -c http://debian.nsu.ru/debian-cd/current/amd64/iso-dvd/debian-7.3.0-amd64-DVD-1.iso