
В этой статье мы расскажем о команде who , входящей в пакет GNU coreutils.
who — это утилита командной строки, которая выводит список текущих пользователей, вошедших в систему. Она также может показывать текущий уровень выполнения, время последней загрузки системы и многое другое.
Как использовать команду who
Основной синтаксис команды who следующий:
who [ OPTION ] ... [ FILE | ARG1 ARG2 ]
При вызове без каких-либо опций или аргументов вывод выглядит примерно так:
who
root pts/0 2020-11-17 20:10 (10.10.0.2) linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
who выведет форматированный список всех пользователей, которые в данный момент вошли в систему.
Каждая строка содержит четыре поля, разделенных одним или несколькими пробелами:
- Имя зарегистрированного пользователя.
- Терминал пользователя.
- Время входа пользователя в систему.
- Имя хоста или IP-адрес, с которого пользователь вошел в систему. Чтобы принудительно использовать Ips, используйте опцию
--ips.
Если вы хотите напечатать заголовки столбцов, добавьте опцию -H ( --heading ):
who -H
NAME LINE TIME COMMENT root pts/0 2020-11-17 20:10 (10.10.0.2) linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
Команда извлекает информацию о системе и пользователях, вошедших в систему, из файла /var/run/utmp . Если вы хотите использовать другой файл, передайте команде путь к нему.
who принимает два аргумента без опций. При вызове с двумя аргументами команда выводит информацию только о терминале, связанном с текущим пользователем. Тот же вывод отображается при использовании опции -m .
Вы можете использовать любые два аргумента:
who am iwho mom lovewho foo barwho -m
Каждая из приведенных выше команд выведет одну и ту же информацию:
linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
who Параметры команды
who принимает несколько вариантов, которые обычно редко используются.
Параметр -b , --boot указывает who выводить время последней загрузки системы:
who -b
system boot 2020-07-20 19:02
Чтобы получить список всех мертвых процессов, используйте опцию -d , --dead :
who -d
Параметр -r , --runlevel указывает, who показывать текущий уровень выполнения:
who -r
run-level 5 2020-07-20 19:02
Чтобы получить только имена пользователей и количество текущих вошедших в систему пользователей, используйте опцию -q , --count :
who -q
root linuxize # users=2
Опция -a , --all заставляет who выводить всю информацию:
who -a
system boot 2020-07-20 19:02 LOGIN tty1 2020-07-20 19:02 673 id=tty1 run-level 5 2020-07-20 19:02 root - pts/0 2020-11-17 20:10 . 2212314 (89.205.101.54) pts/2 2020-10-10 10:19 1363538 id=ts/2 term=0 exit=0 linuxize + pts/1 2020-11-17 20:11 01:46 2212387 (89.205.101.54)
Заключение
Команда who выводит список всех пользователей, находящихся в системе в данный момент.
Чтобы получить дополнительную информацию о пользователях, которые в данный момент вошли в систему, проверьте команду w .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства