🥢 Утилита who. Информации о пользователях, которые подключены к системе.
Описание.
Утилита who служит для получения информации о пользователях, которые подключены к системе, в том числе и об терминальных сессиях, через которые происходит подключение.
Синтаксис.
Синтаксис этой утилиты достаточно прост и выглядит так:
$ who опции имя_файла аргументы
Вообще, можно использовать who без каких-либо опций или аргументов. В таком случае отобразится набор данных по умолчанию об учетных записях подключенных пользователей — имя пользователя, название пользовательского терминала, время подключения.
$ who
Ответ:
Информация о пользователе, который работает сейчас в терминале:
$ who -a
Ответ:
Также можно прописывать команду who в виде who am i
. Она будет идентифицировать конкретно того пользователя, который работает сейчас в терминале (аналогично опции -m
).
$ whoami
Ответ:
Опции.
Используя различные опции, можно получать информацию:
$ who --help
Ответ:
-a
(--all
) — включает в себя все основные опции;-b
(--boot
) — показывает время загрузки операционной системы;-d
(--dead
) — выводит перечень зомби-процессов;-H
(--heading
) — никак не влияет на получаемую информацию, зато добавляет колонкам заголовки и помогает понять что где находится;-m
— показать пользователя, который сейчас работает в терминале;-r
— вывести текущий уровень запуска (runinit
);-t
— показать последнее изменение системных часов;-s
— вывести только имя, терминальную сессию и время;-T
— данные о терминальной сессии;-q
— вывести количество авторизованных пользователей;-u
— показать активных пользователей;--ips
— вместо названия хостов показывает ips;--lookup
— используется в сочетании с--ips
, выводит данные, которые основываются на сохраненном IP, если он доступен, а не на названии хоста.
Примеры использования.
Используя опцию -a
, утилита отдаёт максимум данных.
В состав этой опции входят опции -b
, -d
, --login
, -p
, -r
, -t
, -T
, -u
:
$ who -a
Ответ:
Этих данных больше, чем при простом использовании who:
$ who
Ответ:
Чтобы узнать только время загрузки системы, достаточно написать в терминале:
$ who --login
Ответ:
Чтобы узнать текущий уровень запуска (runinit
) используется команда who в сочетании с опцией -r
:
$ who -r
Ответ:
При использовании опции -s
выводятся значения NAME, LINE и TIME — информация, идентичная той, что будет получена без использования каких-либо опций. Все то же самое, но уже с добавлением данных о состоянии терминальной сессии, показывает опция -T
.
Состояние — это возможность принимать сообщения от других терминалов. Если рядом с названием терминальной линии стоит +
, как на ответе ниже по тексту, значит, сообщения могут быть приняты от любого стороннего терминала, в противном случае значение примет вид -
. Если вместо плюса или минуса там находится вопросительный знак, то линия неисправна.
$ who -T
Ответ:
Опция -q
выводит информацию о количестве пользователей в системе:
$ who -q
Ответ:
С помощью -u
можно узнать информацию о тех пользователях, которые активны в данный момент:
$ who -u -H
Ответ:
В этом ответе видны изменения, которые происходят при использовании опции -H
— у колонок с данными появились заголовки.
Зомби-процессы, которые показывает опция -d
:
$ who -d
Ответ (не содержит примеров с зомби-процессом):
Проверим:
$ top
Ответ:
Кстати, поле EXIT при использовании этой опции не выводится.
Чтобы увидеть его, следует использовать -a
:
$ who -a
Ответ:
Чтобы увидеть заголовки, следует использовать -a -H
:
$ who -a -H
Ответ:
Оригиналы источников информации.
- losst.pro «Команда who Linux».