Ubuntu 10. Краткое руководство пользователя
Шрифт:
21.5.3. Команда mutt — чтение почты и отправка сообщений
Программа, вызываемая командой mutt, — это текстовый клиент для чтения и отправки почты. В отличие от стандартной команды mail, программа mutt — это полноценный почтовый клиент, поддерживающий MIME-кодирование, протоколы POP и ESMTP, SASL-аутентификацию, то есть все, что поддерживают современные графические клиенты. Программу mutt удобно использовать на серверах без графического интерфейса или когда вы удаленно подключаетесь к своей системе по ssh.
21.6. Команды системного
21.6.1. Команды free и df— информация о системных ресурсах
Команда free выводит информацию об использовании оперативной и виртуальной памяти, а df — об использовании дискового пространства.
Из рис. 21.5 видно, что в системе установлено всего 512 Мбайт ОЗУ, из них почти все занято. На жестком диске /dev/sda1 11 Гбайт дискового пространства, из них свободно — 7 Гбайт. По умолчанию df выводит информацию об использовании дискового пространства в байтах. Это несколько неудобно, поэтому рекомендуется использовать ключ — h (рис. 21.6).
21.6.2. Команда md5sum — вычисление контрольного кода MD5
Для проверки подлинности некоторых файлов, передаваемых через Интернет, используется алгоритм MD5 (точнее, контрольный код, вычисленный с использованием этого алгоритма). Разработчик программы выкладывает в Интернете пакет с этой программой и на своем сайте публикует контрольный код. Вы скачиваете пакет и вычисляете его контрольный код. Если коды отличаются, то файл при передаче был поврежден (или это другая версия пакета, которая, возможно, была подложена злоумышленником с целью ввода вражеского кода в вашу систему).
Использовать программу нужно так:
md5sum файл
Глава 22
Командный интерпретатор bash
22.1. Что нужно знать о bash
bash — это наиболее часто использующаяся командная оболочка (командный интерпретатор) Linux. Основное предназначение bash — выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу, соответствующую команде, в каталогах, указанных в переменной окружения PATH. Если такая программа найдена, то bash запускает ее и передает ей введенные пользователем параметры. В противном случае выводится сообщение о невозможности выполнения команды.
Кроме bash существуют и другие оболочки: sh, csh, ksh, zsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells. Список оболочек может быть довольно длинным. В листинге 22.1 представлен файл /etc/shells дистрибутива Ubuntu 10.04 (установка по умолчанию).
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
С
При запуске оболочка bash выполняет сценарий. bashrc, находящийся в домашнем каталоге пользователя. В этом файле можно указать команды, которые нужно выполнить сразу после входа пользователя в систему. Данный файл не обязателен и может отсутствовать.
В файле. bash_history (тоже находится в домашнем каталоге) хранится история команд, введенных пользователем. Так что вы можете просмотреть свои же команды, которые вы накануне вводили.
22.2. Автоматизация задач с помощью bash
Представим, что нам нужно выполнить резервное копирование всех важных файлов, для чего создать архивы каталогов /etc, /home и /usr. Понятно, что понадобятся три команды вида:
tar — cvjf имя_архива. tar.bz2 каталог
Затем требуется записать все эти три файла на DVD с помощью любой программы для прожига DVD.
Если выполнять данную операцию раз в месяц (или хотя бы раз в неделю), то особого труда это не составит. Но представьте, что вам нужно делать это каждый день или даже несколько раз в день? Думаю, такая рутинная работа вам быстро надоест. А ведь можно написать сценарий, который сам будет создавать резервные копии и записывать их на DVD! Все, что от вас потребуется, — это вставить чистый DVD перед запуском сценария.
Можно пойти и иным путем. Написать сценарий, который будет делать резервные копии системных каталогов и записывать их на другой раздел жесткого диска. Ведь не секрет, что резервные копии делаются не только на случай сбоя системы, но и для защиты от некорректного изменения данных пользователем. Помню, как-то я удалил важную тему форума и попросил своего хостинг-провайдера сделать откат. Я был приятно удивлен, когда мне предоставили на выбор три резервные копии — осталось лишь выбрать наиболее подходящую. Не думаете же вы, что администраторы провайдера только и занимались тем, что три раза в день копировали домашние каталоги пользователей? Поэтому автоматизация — штука полезная, и любому администратору нужно знать, как автоматизировать свою рутинную работу.
22.3. Привет, мир!
По традиции напишем первый сценарий, выводящий всем известную фразу: «Привет, мир!» (Hello world!). Вся работа со сценариями выполняется обычно в консоли (или в терминале), но для редактирования сценариев вы можете использовать любимый графический редактор, например, kedit (листинг 22.2).
#!/bin/bash
echo "Привет, мир!"
Первая строка нашего сценария — это указание, что он должен быть обработан программой /bin/bash. Обратите внимание — если между # и ! окажется пробел, то данная директива не сработает, поскольку будет воспринята как обычный комментарий. Комментарии начинаются, как вы уже догадались, с решетки: