Команда who в Linux

В этой статье мы объясняем команду 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 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 .

Если у вас есть вопросы, оставьте комментарий ниже.

Оставьте комментарий