Глава 7. Обзор прикладных программ

Содержание

Программы сетевого обмена
sendmail: программа отправления почты
wget: консольный загрузчик файлов

UNIX-подобные операционные системы содержат огромное количество программ для пользователей и администрторов системы. Часть из них запускается с графическом пользовательским интерфейсом (см. Глава 9, Графическая подсистема UNIX), однако администратору чаще приходится работать со средствами командной строки через сетевой терминал ssh.

Другие полезные программы администратора – программы для отправления почты, загрузки файлов по протоколам HTTP и FTP, среди которых здесь рассматриваются sendmail и wget.

Программы сетевого обмена

sendmail: программа отправления почты

Программа sendmail является частью одноимённого SMTP-сервера и позволяет отправлять письма электронной почты. Однако, многие другие распространённые почтовые серверы или (например, Postfix или ssmtp) программы предоставляют совместимый с sendmail интерфейс.

По умолчанию sendmail принимает на стандартный ввод тело письма вплоть до получения EOF. Таким образом, при работе в командной строке для завершения ввода текста необходимо нажать Ctrl-D.

Для простейшего использования программы достаточно ключа -t. При этом программа sendmail проанализирует заголовок письма и выберет из него имена и адреса отправителя и получателя письма.

Пример отправления простого письма:

Пример 7.1. Отправление письма с помощью sendmail

user@desktop ~ $ sendmail -t
From: Vasily Poopkin <vas@pupkin.ru>
To: Aleksey Fedoseev <aleksey@fedoseev.net>
Subject: Idea

Hi there!

I'm Vasily, and you're Aleksey.
Super-puper email body.
^D
user@desktop ~ $


Заголовки отделаются от тела письма пустой строкой в соответствии в RFC протокола SMTP.

Параметры команды

Также распространены следующие параметры:

-F строка
задать полное имя отправителя, этот параметр игнорируется, если в письме был указан заголовок «From:»;
-f адрес или -r адрес
использовать параметр в качестве адреса отправителя, используемого в обмене с SMTP-сервером (иногда его называют «envelope from»);

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

user@desktop ~ $ sendmail -f user@desktop.localnet alice@mails.org bob@mails.org test@fedoseev.net
From: User <user@desktop.localnet>

hello!

This is broadcats message.
^D

Команду sendmail можно с успехом использовать при автоматической генерации почтовых сообщений администратору, если на стандартный ввод команды sendmail подать вывод команды cat или echo:

user@desktop ~ $ cat warning.txt | sendmail admin@localhost

wget: консольный загрузчик файлов

wget – универсальная программа закачки файлов по протоколам HTTP, HTTPS и FTP. При работе с HTML/XML-файлами программа может находить ссылки и переходить по ним, получая полноценную локальную версию сайта.

Команда имеет простой формат:

wget [опции] URL

Например, для загрузки файла достаточно выполнить команду:

user@desktop ~ $ wget ftp://mirror.aiya.ru/pub/ALTLinux/ISO/MD5SUM
--12:27:19--  ftp://mirror.aiya.ru/pub/ALTLinux/ISO/MD5SUM
           => `MD5SUM'
Распознаётся mirror.aiya.ru... 85.142.20.147
Устанавливается соединение с mirror.aiya.ru|85.142.20.147|:21... соединение установлено.
Выполняется вход под именем anonymous ... Выполнен вход в систему!
==> SYST ... готово.  ==> PWD ... готово.
==> TYPE I ... готово.   ==> CWD /pub/ALTLinux/ISO ... готово.
==> PASV ... готово.  ==> RETR MD5SUM ... готово.
Длина: 393 (не достоверно)

100%[=======================================================================>] 393 --.--K/s

12:27:29 (429.29 KB/s) - `MD5SUM' сохранён [393]

Загруженный файл сохраняется в локальной директории.

Параметры команды

Команда wget имеет набор параметров:

-b
запустить программу на заднем фоне, вывод при этом перенаправляется в журнал wget;
-q
не выводить информацию на стандартный вывод, удобно для применения в скриптах;
-t число
число попыток загрузки файла;
-c
продолжить закачку для файлов, загруженных частично;
-r
загружать рекурсивно – удобно применять к директориям или к сайтам, которые необходимо загрузить целиком.

Команда обладает множеством параметров, связанными как с процессом закачки, так и со спецификой протоколов. Все они подробно описаны в man 1 wget.

Настройка

Команда wget имеет немало настроек, касающихся параметров доступа к хостам, использование проски-серверов и т.п.. Все они находятся в файле /etc/wget/wgetrc или в файле .wgetrc в домашней директории пользователя.