Работа в Linux при помощи командной строки напоминает диалог с системой: пользователь вводит команды (реплики), получая от системы ответные реплики, содержащие сведения о произведенных операциях, дополнительные вопросы к пользователю, сообщения об ошибках или просто согласие выполнить следующую команду.
Простейшая команда в Linux состоит из одного ”слова” — названия программы, которую необходимо выполнить. Одну такую команду (passwd) Иван уже использовал для того, чтобы изменить свой пароль. Теперь Иван решил вернуться на одну из виртуальных консолей, на которой он зарегистрировался, и попробовать выполнить несколько простых команд:
[ivan@localhost ivan]$ whoami
ivan
[ivan@localhost ivan]$
Название этой команды происходит от английского выражения ”Who am I?” (”Кто я?”). В ответ на эту команду система вывела только одно слово: ”ivan” и завершила свою работу, о чем свидетельствует вновь появившееся приглашение командной строки. Программа whoami возвращает название учетной записи того пользователя, от имени которого она была выполнена. Эта команда полезна в системах, в которых работает много разных пользователей, чтобы никто из них не мог по ошибке воспользоваться чужой учетной записью. Однако в приглашении командной строки зачастую указывается имя пользователя (как и в наших примерах), поэтому без команды whoami можно обойтись. Следующий пример демонстрирует программу, которая выдаст Ивану уже больше полезной информации: who (”Кто”):
[ivan@localhost ivan]$ who
ivan tty1 Sep 23 16:31 (localhost)
ivan tty2 Sep 23 17:12 (localhost)
[ivan@localhost ivan]$
[ivan@localhost ivan]$ who am i
ivan tty2 Sep 23 17:12 (localhost)
[ivan@localhost ivan]$
Команда who выводит список пользователей, которые в настоящий момент зарегистрированы в системе (вошли в систему). Данная программа выводит по одной строке на каждого зарегистрированного пользователя: в первой колонке указывается имя пользователя, во второй - ”точка входа” в систему, далее следует дата и время регистрации и имя хоста. Из выведенной who информации можно заключить, что в системе дважды зарегистрирован пользователь ivan, который сначала зарегистрировался на первой виртуальной консоли (tty1), а примерно через сорок минут - на второй (tty2). Конечно, Иван и так это знает, однако администратору больших систем, когда пользователи могут зарегистрироваться со многих компьютеров и даже по сети, программа who может быть очень полезна. Могло создаться впечатление, что who - очень интеллектуальная программа, понимающая английский, но это не так. Из всех английских слов она понимает только сочетание ”am i” - таким способом Иван узнал, за какой консолью он сейчас работает.
Еще одна программа, выдающая информацию о пользователях, работавших в системе в последнее время - last. Выводимые этой программой строки напоминают вывод программы who, с той разницей, что здесь перечислены и те пользователи, которые уже завершили работу:
[ivan@localhost ivan]$ last
ivan tty2 localhost Thu Sep 23 17:12 still logged in
ivan tty1 localhost Thu Sep 23 16:31 still logged in
cacheman ??? localhost Thu Sep 23 16:15 - 16:17 (00:01)
cacheman ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)
cyrus ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)
cyrus ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)
reboot system boot 2.4.26-std-up-al Thu Sep 23 16:03 (04:13)
reboot system boot 2.4.26-std-up-al Thu Sep 23 16:03 (04:13)
В этом примере Иван неожиданно обнаружил, кроме себя самого, неизвестных ему пользователей cacheman и cyrus - он точно знает, что не создавал учетных записей с такими именами. Это псевдопользователи (или системные пользователи) - специальные учетные записи, которые используются некоторыми программами. Поскольку эти ”пользователи” регистрируются в системе без помощи монитора и клавиатуры, их ”точка входа” в систему не определена (во второй колонке записано “???”). В выводе программы last появляется даже пользователь reboot (перезагрузка). В действительности такой учетной записи нет, программа last таким способом выводит информацию о том, когда была загружена система.
Графические консоли | Выход из системы |