Материал предоставлен https://it.rfei.ru

Простейшие команды

Работа в Linux при помощи командной строки напоминает диалог с системой: пользователь вводит команды (реплики), получая от системы ответные реплики, содержащие сведения о произведенных операциях, дополнительные вопросы к пользователю, сообщения об ошибках или просто согласие выполнить следующую команду.

Простейшая команда в Linux состоит из одного ”слова” — названия программы, которую необходимо выполнить. Одну такую команду (passwd) Иван уже использовал для того, чтобы изменить свой пароль. Теперь Иван решил вернуться на одну из виртуальных консолей, на которой он зарегистрировался, и попробовать выполнить несколько простых команд:

[ivan@localhost ivan]$ whoami
ivan
[ivan@localhost ivan]$

Пример 1.8. Команда whoami

Название этой команды происходит от английского выражения ”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]$

Пример 1.9. Команда who

Команда 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)

Пример 1.10. Команда last

В этом примере Иван неожиданно обнаружил, кроме себя самого, неизвестных ему пользователей cacheman и cyrus - он точно знает, что не создавал учетных записей с такими именами. Это псевдопользователи (или системные пользователи) - специальные учетные записи, которые используются некоторыми программами. Поскольку эти ”пользователи” регистрируются в системе без помощи монитора и клавиатуры, их ”точка входа” в систему не определена (во второй колонке записано “???”). В выводе программы last появляется даже пользователь reboot (перезагрузка). В действительности такой учетной записи нет, программа last таким способом выводит информацию о том, когда была загружена система.

Графические консолиВыход из системы