В этой статье мы объясняем команду 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, используйте параметр--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 i
who mom love
who foo bar
who -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
.
Добавить комментарий