Содержание
UNIX-подобные операционные системы содержат огромное количество программ для пользователей и администрторов системы. Часть из них запускается с графическом пользовательским интерфейсом (см. Глава 9, Графическая подсистема UNIX), однако администратору чаще приходится работать со средствами командной строки через сетевой терминал ssh.
Другие полезные программы администратора – программы для отправления почты, загрузки файлов по протоколам HTTP и FTP, среди которых здесь рассматриваются sendmail и wget.
Программа 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 строка
-f адрес
или
-r адрес
После этих флагов можно указать список адресов получателей, на которые будут отправлено данное письмо, например, следующая команда отправит письмо сразу нескольким получателям:
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 – универсальная программа закачки файлов по протоколам 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
-q
-t число
-c
-r
Команда обладает множеством параметров, связанными как с процессом закачки, так и со спецификой протоколов. Все они подробно описаны в man 1 wget.