Введение
Стандартная команда Unix, `who`, отображает список пользователей, которые в данный момент вошли в систему. Команда `who` связана с командой , которая предоставляет аналогичную информацию, но также выводит дополнительные данные и статистику.
История
Команда, отображающая имена вошедших в систему пользователей, была впервые реализована в Multics. Позже она появилась в Unix версии 1 и стала частью X/Open Portability Guide, начиная с выпуска 2 от 1987 года. Она была включена в первую версию POSIX.1 и Единую спецификацию Unix. Версия команды who, входящая в состав GNU coreutils, была написана Джозефом Аркенеу, Дэвидом Маккензи и Майклом Стоуном.
Спецификация
Единая спецификация UNIX (SUS) определяет, что команда `who` должна отображать информацию о вошедших в систему пользователях. Расширение XSI также определяет, что должны отображаться данные имени пользователя, терминала, времени входа в систему, идентификатора процесса и времени простоя терминала. Кроме того, может быть указана альтернативная система баз данных для информации о пользователях в качестве необязательного аргумента. Команду можно вызвать с аргументами `am i` или `am I` (то есть как `who am i` или `who am I`), что отобразит информацию только о текущем терминале (см. команду `who` и опцию `-m` ниже, эквивалентные данному вызову).
The command can be invoked with the arguments am i or am I (so it is invoked as who am i or who am I), showing information about the current terminal only (see the command and the m option below, of which this invocation is equivalent).
Выпуск
В SUS без расширений указано, что формат вывода должен быть "определен реализацией". Расширение XSI определяет формат, но отмечает, что он не полностью специфицирован; разделители и длины полей не указаны точно. Таким образом, формат вывода существенно различается между реализациями Unix.