«Кому нравится мама» - настоящая команда Linux?

27

Я наткнулся на блог, в котором упоминается следующая команда.

who mom likes

Кажется, это эквивалентно

who am i 

Автор предупреждает, чтобы никогда не вводить следующее в командной строке (я подозреваю, что он шутит)

who mom hates

Там нет ничего задокументировано о momкоманде. Что оно делает?

spuder
источник

Ответы:

27

Да, это шутка, включенная разработчиками whoкоманды. Смотрите справочную страницу для who.

выдержка

Если FILE не указан, используйте / var / run / utmp. / var / log / wtmp в качестве ФАЙЛА является общим. Если задано ARG1 ARG2, предположим, что -m: «я» или «мама любит» обычно.

Это U & L Q & A под названием: Что такое «неопционный аргумент»? объясняет некоторые термины со страницы руководства, и мой ответ также охватывает альтернативы who .. .... команды.

Детали

Там действительно нет ничего особенного am Iили am i. Команда whoпредназначена для возврата одинаковых результатов для любых 2 аргументов. На самом деле он ведет себя так, как будто вы вызывали его с помощью -mпереключателя.

   -m     only hostname and user associated with stdin

Примеры

$ who -m
saml     pts/1        2014-01-06 09:44 (:0)
$ who likes candy
saml     pts/1        2014-01-06 09:44 (:0)
$ who eats cookies
saml     pts/1        2014-01-06 09:44 (:0)
$ who blah blah
saml     pts/1        2014-01-06 09:44 (:0)

Другие реализации

Если вы посмотрите на The Heirloom Project , вы можете получить доступ к более старой реализации who.

Heirloom Toolchest представляет собой набор стандартных утилит Unix.

Основные моменты:

  • Производный от исходного материала Unix выпущен как Open Source на кальдеру и Солнца .

Страница whoруководства, которая поставляется с этим в этом дистрибутиве, также имеет ту же «особенность», за исключением того, что она более очевидна.

$ groff -Tascii -man who.1 |less
...

SYNOPSIS
       who [-abdHlmpqRrstTu] [utmp_file]
       who -q [-n x] [utmp_file]
       who [am i]
       who [am I]
...
...
       With the two-argument synopsis forms `who am i' and  `who  am  I',  who
       tells who you are logged in as.
...
...
SLM
источник
5

Команда есть who. Вы можете привести любой аргумент, например, mom likesи Linux не будет жаловаться. Его цель - получить список людей, вошедших в систему.

unxnut
источник
Ах! Вы правы, кто foo bar возвращает тот же результат.
spuder