Ubuntu 10. Краткое руководство пользователя — страница 15 из 21

Служебные программы

20.1. Анализатор использования диска

Вместо консольной (текстовой) утилиты df (см. разд. 21.6.1) для анализа использования диска можно использовать графическую программу Приложения | Стандартные, Анализатор использования дисков (рис. 20.1). Программа эта удобнее не только тем, что показывает графическую диаграмму, она может просканировать всю файловую систему и показать, сколько места на диске занимает та или иная папка. Для этого нажмите кнопку с изображением жесткого диска на панели инструментов, и вы увидите объем каждой папки файловой системы (рис. 20.2).

Самая первая кнопка на панели инструментов — Сканировать домашнюю папку — позволяет просканировать ваш домашний каталог, а правее кнопки с изображением жесткого диска находятся две кнопки, позволяющие просканировать произвольную папку и удаленную папку.

Используя информацию анализатора дисков, вы можете определить, в какой папке имеются лишние файлы. Из рис. 20.2 видно, что каталог /var/cache занимает 453 Мбайт — это многовато для домашнего компьютера. Оказывается, 387 Мбайт из них занимает каталог /var/cache/apt/archives/archives (рис. 20.3).

В нем содержатся все DEB-пакеты, которые вы когда-либо устанавливали. Для экономии места на диске его можно очистить командой:

sudo rm /var/cache/apt/archives/*.deb

20.2. Системный монитор

Аналогично, для команды top в GNOME также есть графический аналог. Правда, возможности системного монитора (Система | Администрирование) значительно шире, чем у консольной команды top.

На вкладке Система (рис. 20.4) выводится общая информация о системе: версия дистрибутива, имя компьютера, тип процессора, объем оперативной памяти и т. д.

Вкладка Процессы (рис. 20.5) как раз и является аналогом top — она выводит запущенные процессы. Чтобы завершить тот или иной процесс (например, если он завис), нужно его выделить и нажать кнопку Завершить процесс.

На вкладке Ресурсы (рис. 20.6) выводится информация об использовании процессора, оперативной памяти и сети. Ubuntu довольно экономно использует системные ресурсы, посмотрите — использовано всего 219 Мбайт оперативной памяти.

Вкладка Файловые системы содержит информацию о смонтированных файловых системах. Из рис. 20.7 видно, что смонтирована корневая файловая система (/dev/sda1), флешка (/dev/sdb 1) и компакт-диск с дистрибутивом Ubuntu (Zdev/srQ).

20.3. Программа bum

Ранее в Ubuntu имелась программа Службы (в программной группе Система | Администрирование), позволяющая включать/отключать системные сервисы. В современных версиях Ubuntu такой программы нет. Зато можно установить программу Boot-Up Manager, которая даже лучше, чем имевшаяся программа Службы. Для установки программы откройте терминал и введите команду:

sudo apt-get install bum

Нужно отметить, что в отличие от других дистрибутивов, где по умолчанию включаются практически все установленные сервисы, в Ubuntu включаются лишь самые необходимые, поэтому вы не будете часто запускать bum (рис. 20.8), но знать о его существовании полезно.

Глава 21Работа с консолью Linux

21.1. Консоль

Настоящий линуксоид должен уметь работать в консоли. Когда система Linux появилась, для диалога с ней существовала только консоль — командная строка, о графическом интерфейсе не было и речи. Знаете, почему UNIX и Linux отталкивали обычных пользователей? Потому что не было хорошего графического интерфейса. Поэтому в Linux работали одни профессионалы. Сейчас все изменилось — в Linux очень удобный графический интерфейс, который с удовольствием используют и профессионалы (дождались наконец-то!), забывая о командной строке. Наш дистрибутив вообще ориентирован на работу в графическом режиме, а в официальных руководствах, которые можно найти в Интернете, о консоли вообще не упоминается. А ведь она есть! В этой главе мы поговорим о том, как правильно работать в консоли. Совсем необязательно работать полностью в текстовом режиме, вы можете использовать материал данной главы для эффективной работы с терминалом — эмулятором консоли.

Обычные пользователи в консоль ни ногой — даже принципиально, мол, зачем в DOS возвращаться? Под «DOS» имеется в виду командная строка Linux. Да, ее вид не очень дружелюбен, но стоит вам поработать в консоли, и вы поймете все ее преимущества. Начнем с того, что командная строка Linux намного удобнее командной строки DOS — об этом мы еще поговорим. В консоли можно выполнять те же операции, что и в графическом режиме, причем все намного быстрее. Хотите бороздить просторы Интернета? Пожалуйста, но без картинок. Не так красиво, но зато сэкономите трафик. А на обмен электронными сообщениями это никак не влияет. В консоли также можно работать и с документами, правда, о графике тоже можно забыть. На старых компьютерах консоль позволяет эффективно использовать их ресурсы. Да, в графическом режиме на стареньком «Пентиуме» не поработаешь, зато в текстовом режиме его можно быстро превратить в очень полезный для всей сети компьютер — шлюз, через который его более мощные собратья будут получать доступ к Интернету.

Для переключения между консолями используются комбинации клавиш +, где n — от 1 до 6. Для переключения в графический режим служит комбинация клавиш +. Чтобы вернуться из графического режима в консоль используется комбинация клавиш ++, где n — номер нужной вам консоли.

Работа в консоли заключается во вводе нужной команды. Вы вводите команду (например, создания каталога, просмотра файла, вызова редактора и т. д.) и нажимаете клавишу . Команда содержит, как минимум, имя запускаемой программы. Кроме имени программы команда может содержать параметры, которые будут переданы программе, а также символы перенаправления ввода/вывода (об этом чуть позже). Естественно, вам нужно знать имя программы, а также параметры, которые нужно ей передать. Если вы помните название программы, а назначение параметров забыли, вспомнить поможет команда man. Man — это справочная система Linux. В ней есть информация о каждой программе, которая установлена в системе. Откуда система знает все обо всех программах? Разработчики программ под Linux договорились, что вместе с программой будет поставляться специальный man-файл — файл справочной системы. Понятно, если разработчик не добросовестный, он может и не создать файл справочной системы, но это случается очень редко. Чтобы получить справку по какой-нибудь программе, нужно ввести команду:

man имя_программы

Никак не можете вспомнить, как пишется та или иная команда? Если вы помните, хотя бы на какую букву она начинается, воспользуйтесь функцией автодополнения командной строки — введите первые буквы команды и нажмите клавишу . При первом нажатии система попытается дополнить команду, если это возможно. Иногда дополнить команду невозможно, если вы, например, ввели одну букву а и нажали клавишу . Ясное дело, в системе есть несколько команд, которые начинаются на букву a, и система не дополнит командную строку. Если вы хотите просмотреть все команды на букву a, нажмите клавишу еще раз.

Вам не хочется писать (даже с автодополнением) длинные команды? Тогда можно создать псевдонимы команд. Для этого в файл. bash_profile добавьте строки вида:

alias псевдоним= 'команда'

Например,

alias cfg-net='system-config-network'

Для того чтобы изменения вступили в силу, выйдите из консоли (команда logout) и заново зарегистрируйтесь.

Пожалуй, для полноценной работы с консолью вам нужно знать еще одну команду — clear. Данная команда очищает консоль (терминал). Очень полезная команда, особенно, когда вы хотите все начать с «чистого листа».

Иногда бывает полезно результаты одной программы перенаправить другой программе или записать в файл. Предположим, что есть команда cmd, которая выводит очень много информации, — вы ее просто не успеваете прочитать. Тогда вывод этой программы можно перенаправить программе-просмотрщику, например, программе less, которая с помощью клавиш и позволяет организовать просмотр длинного, как лимузин, фрагмента текста. На практике в роли команды cmd может выступить программа cat, которая используется для просмотра текстовых файлов. Если файл содержит текст, не умещающийся на одном экране, целесообразно перенаправить его программе less для комфортного просмотра. Делается это так:

cat big_file.txt | less

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

команда>файл

Например,

dmesg > kernel.txt

Данная команда перенаправляет результаты работы программы dmesg, выводящей загрузочные сообщения ядра, в файл kemel.txt. При отсутствии файла kemel.txt он будет создан, при наличии — перезаписан. Если вы не хотите, чтобы kemel.txt был перезаписан, нужно использовать два символа >>:

dmesg >> kernel.txt

В этом случае вывод программы dmesg будет дописан в конец файла kemel.txt.

21.2. Команды poweroff, halt, reboot, shutdown

С помощью меню GNOME можно легко завершить работу системы. Спрашивается, зачем нужно знать дополнительные команды для завершения работы системы? Хотя бы для того, чтобы настроить вашу систему на автоматическое выключение. Скажем, в 23:00. С помощью меню GNOME это сделать невозможно — кому-то ведь нужно будет вызвать команду меню. А вот с помощью упомянутых в этом разделе консольных команд задуманное воплотимо.

Команда reboot используется для перезагрузки системы. Для завершения работы системы служат команды halt и poweroff. Первая команда завершает работу системы, но не выключает ее питание. Вы увидите сообщение System is halted, свидетельствующее о возможности выключения питания. Данная команда предназначена для старых компьютеров, не поддерживающих расширенное управление питанием. Вторая (poweroff) завершает работу системы и выключает ее питание.

Самой «продвинутой» командой является команда shutdown — она позволяет завершить работу системы, перезагрузить систему, указать время завершения работы. Предположим, вы хотите уйти пораньше, но компьютер нужно выключить в 19:30 — вдруг некоторые пользователи задержались на работе, а вы выключите сервер — получится некрасиво. Вам поможет команда shutdown:

# shutdown — h 19:30 [сообщение]

Сообщение можно и не указывать — все равно Windows-пользователи его не увидят.

Если нужно завершить работу системы прямо сейчас, вместо времени укажите now:

# shutdown — h now

Для перезагрузки системы используется опция — r:

# shutdown — r now

Далее мы рассмотрим полезные команды Linux, которые пригодятся каждому пользователю.

21.3. Общие команды

21.3.1. Команда arch — вывод архитектуры компьютера

Команда arch поможет узнать тип аппаратной платформы, например: i386, i586, i686 и др.

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

$ arch

i686

21.3.2. Команда clear — очистка экрана

Команда clear очищает экран при работе в консоли (терминале).

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

$ clear

21.3.3. Команда date

Команда date используется для вывода текущей даты. Эта команда может применяться также для установки даты, если запущена от имени администратора.

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

$ date

# date 1705101707

Первая команда выводит дату, а вторая — устанавливает дату (при условии, что команда запущена от имени root) 17 мая (1705) 2010 года (10) и время 17:07. Как видите, установка даты осуществляется в формате ddMMyyhhmm (dd — число, MM — месяц, yy — год, hh — часы, mm — минуты).

Команда date может вывести дату в указанном вами формате. Для изучения форматов даты введите команду man date.

21.3.4. Команда echo

Команда echo выводит текстовую строку, указанную в качестве аргумента, например:

$ echo "Hello world!"

Hello world!

Обычно данная команда используется в сценариях командного интерпретатора для вывода сообщений на экран.

21.3.5. Команда exit — выход из системы

Для завершения сеанса работы в системе (при условии, что вы работаете в консоли) нужно использовать команду exit. Если не завершить сеанс работы, кто угодно сможет работать в системе под вашим именем (понятно, что во время вашего отсутствия за компьютером).

21.3.6. Команда man — вывод справки

Команда man используется для получения справки о любой команде системы. Например, команда man ls выведет справку об использовании команды ls, которая выводит содержимое каталога. О том, как правильно использовать саму справочную систему, вам расскажет команда man man.

21.3.7. Команда passwd — изменение пароля

С этой командой мы уже знакомы. Она обеспечивает изменение пароля пользователя, который ее запустил. Суперпользователь root имеет право изменить пароль любого пользователя:

# passwd имя_пользователя

21.3.8. Команда uptime — информация о работе системы

Команда uptime (рис. 21.1) выводит статистическую информацию о работе системы: сколько времени прошло с момента последней перезагрузки (собственно, это и есть время «uptime»), сколько пользователей в данный момент подключено к системе и среднюю загрузку системы за последние 1, 5 и 15 минут.

21.3.9. Команда users — информация о пользователях

Команда выводит информацию о пользователях, подключенных к системе в данный момент. Из рис. 21.2 видно, что пользователь denis подключился к системе двумя способами: вошел и в консоли, и в графическом режиме (или по FTP, ssh, telnet — способы подключения к системе могут быть разные).

21.3.10. Команды w, who и whoami — информация о пользователях


Эти три родственные команды выводят следующую информацию (рис. 21.3):

□ команда w — список пользователей, подключенных к системе; виртуальный терминал, с которого работает пользователь; время входа в систему для каждого пользователя, статистику использования системы (IDLE — время простоя, JCPU — использование процессора), выполняемые каждым пользователем задачи;

□ команда who — список пользователей, подключенных к системе; время и дату входа каждого пользователя;

□ команда whoami — имя пользователя, который ввел команду.

21.4. Команды для работы с текстом

21.4.1. Команда diff — сравнение файлов

Команда используется для сравнения двух файлов. Формат вызова программы diff:

diff параметры файл1 файл2

В выводе программы отличающиеся строки помечаются символами > и <:

□ строка из первого файла помечается символом <;

□ строка из второго файла — символом >.

Самые полезные параметры программы diff приведены в табл. 21.1.

21.4.2. Команда grep — текстовый фильтр

Предположим, что у нас есть файл протокола /var/log/messages, и вы хотите вывести все сообщения, связанные с демоном pppd. Понятно, что вручную выделить все нужные сообщения будет довольно трудно. Но с помощью grep можно автоматизировать данную задачу:

cat /var/log/messages | grep ppp

Команда cat /var/log/messages передаст содержимое файла /var/log/messages на стандартный ввод команды grep, которая, в свою очередь, выделит строки, содержащие строку ppp.

Совет

Вообще-то, просматривать журналы удобнее с помощью команды tac, которая выводит строки файла в обратном порядке — ведь сообщения дописываются в конец журнала, следовательно, если выводить строки в обратном порядке, то сначала получим самые новые сообщения, а потом уже все остальные:

tac /var/log/messages | grep ppp

21.4.3. Команды more и less — постраничный вывод

Большой текстовый файл намного удобнее просматривать с помощью команд less или more. Программа less удобнее, чем more, если она есть в вашей системе:

tac /var/log/messages | grep ppp | less

21.4.4. Команды head и tail — вывод начала и хвоста файла

Команда head выводит первые десять строк файла, а tail — последние десять. Количество строк может регулироваться с помощью параметра — n.

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

head — n 10 /var/log/messages tail — n 15 /var/log/messages

21.4.5. Команда wc — подсчет слов в файле

Команда wc используется:

□ для подсчета слов в текстовом файле:

wc /var/log/messages

□ для подсчета количества строк (если задан параметр -1):

wc — l /var/log/messages

□ для подсчета количества символов (параметр — c):

wc — c /var/log/messages

21.5. Команды для работы с Интернетом

21.5.1. Команда ftp — стандартный FTP-клиент

Для открытия соединения с любым FTP-сервером введите команду:

ftp <имя или адрес FTP-сервера>

Можно просто ввести команду ftp, а в ответ на приглашение ftp> ввести команду:

open <имя или адрес FTP-сервера>

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

[den@dhsilabs ~]$ ftp

ftp> open ftp.narod.ru

Connected to ftp.narod.ru.

220 ftp.narod.ru (Libra FTP daemon 0.17 20050906)

500 Unrecognized command AUTH

Name (ftp.narod.ru: den): den

331 Password required

Password:

230 Logged in, proceed

Remote system type is UNIX.

ftp>

Подключившись к серверу, вы можете ввести команду help, чтобы просмотреть список доступных команд. Для получения справки по той или иной команде введите help <имя_команды> (рис. 21.4).

Наиболее популярные команды приведены в табл. 21.2.

Кроме команды ftp, в Linux есть и другие текстовые FTP-клиенты, например, NcFTP (http://www.ncftp.com), lukemftp (ftp://ftp.netbsd.org/pub/NetBSD/ misc/lukemftp/), lftp (http://ftp.yars.free.net/projects/lftp/) и др. Все эти FTP-клиенты не входят в состав дистрибутивов, их нужно устанавливать самостоятельно. Но стоит ли это делать — решать вам. Ведь все они подобны стандартному клиенту ftp и обладают двумя-тремя дополнительными функциями, которые, возможно, вам и не понадобятся. Например, NcFTP умеет докачивать файлы, а lftp — загружать одновременно несколько файлов. В любом случае вы можете изучить документацию по тому или иному FTP-клиенту (ее легко найти в Интернете), а потом решить, стоит его использовать или нет.

21.5.2. Команда lynx — текстовый браузер

Если графический режим недоступен (например, на сервере), а по сети побродить хочется, командой lynx можно вызвать текстовый браузер lynx. В Ubuntu программа lynx не устанавливается по умолчанию. Для ее установки нужно ввести команду:

sudo apt-get install lynx

В некоторых дистрибутивах вместо lynx используются браузеры links и elinks, но суть остается та же — просмотр страниц Интернета в текстовом режиме.

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