Стандартная команда Unixwho
отображает список пользователей, которые в данный момент вошли в систему компьютера.
Команда who
связана с командой w , которая предоставляет ту же информацию, но также отображает дополнительные данные и статистику.
Команда who
, которая отображает имена вошедших в систему пользователей, была впервые реализована в Multics . [1] Позже она появилась в версии 1 Unix [2] и стала частью X/Open Portability Guide с выпуска 2 от 1987 года. Она была унаследована в первой версии POSIX.1 и Single Unix Specification . [3]
Версия, who
входящая в состав GNU coreutils, была написана Джозефом Арсено, Дэвидом Маккензи и Майклом Стоуном. [4]
Единая спецификация UNIX (SUS) указывает, что who
следует перечислить информацию о доступных пользователях. Расширение XSI также указывает, что данные имени пользователя, терминала, времени входа, идентификатора процесса и времени с момента последней активности на терминале, кроме того, альтернативная системная база данных, используемая для информации о пользователе, может быть указана как необязательный аргумент для who .
Команду можно вызвать с аргументами am i
или am I
(поэтому она вызывается как who am i
или who am I
), отображая информацию только о текущем терминале (см. команду tty и опцию ниже, эквивалентом которой является этот вызов).-m
SUS без расширений определяет только следующие параметры -m
: , -T
, и -u
, все остальные параметры указаны в расширении XSI.
-a
, обрабатывают системную базу данных, используемую для информации о пользователях, с помощью -b
, -d
, -l
, -p
, -r
, и .-t
-T
-u
-b
, показать время последней перезагрузки системы-d
, показать зомби-процессы и детали-H
, показать заголовки столбцов-l
, показать терминалы, где пользователь может войти в систему-m
, показать информацию только о текущем терминале-p
, показать активные процессы-q
, быстрый формат, показывает только имена и количество всех вошедших в систему пользователей, отключает все остальные параметры; эквивалентно утилите командной строки пользователей -r
, показать уровень выполнения процесса init.-s
, (по умолчанию) показывать только имя, терминал и время-t
, показать, когда системные часы были изменены в последний раз-T
, показать сведения о каждом терминале в стандартном формате (см. примечание в разделе «Примеры»)-u
, показывать время простоя; XSI показывает вошедших в систему пользователей и отображает информацию о том, использовался ли терминал в последнее время или нетДругие операционные системы Unix и Unix-подобные системы могут добавлять дополнительные параметры. GNU , которая включает параметр, работающий аналогично , и параметр, отображающий, принимает ли указанный пользователь сообщения (SUS отображает это, если указано ), однако GNU и BSD опускают ряд указанных выше параметров (таких как , , , и другие); вместо этого GNU использует для выполнения DNS-поиска по указанным именам хостов.-i
-u
-w
-T
who
who
-a
-b
-d
who
-l
SUS без расширений указывает, что формат вывода должен быть "определен реализацией". Расширение XSI указывает формат, но отмечает, что он не полностью указан; разделители и длины полей не указаны точно. Таким образом, формат вывода значительно различается в разных реализациях Unix.