who
команда показывает информацию о пользователях, которые в настоящее время зарегистрированы.
avinash@avinash-Lenovo-IdeaPad-Z500:~$ who
avinash tty7 2014-03-31 16:52 (:0)
avinash pts/1 2014-03-31 17:59 (:0)
tty7
представляет вышеупомянутого пользователя, выполняет X сессий GUI. И также второй, pts/1
представляет вышеупомянутого пользователя, также выполняет терминальный сеанс гнома.
Как @Aditya сказал wc -l
количества количество строк в стандартном входе. who | wc -l
в этой команде, вывод того, кто управляет, питался, как введено к второму wc -l
команда. Таким образом внутренний изгиб, wc -l
вычисляет, количество строк, существующих в стандарте, ввело (2) и дисплеи (stdout) конечный результат.
Для наблюдения числа пользователей, которые зарегистрированы, выполнение who
команда с [1 111] параметр как ниже.
avinash@avinash-Lenovo-IdeaPad-Z500:~$ who -q
avinash avinash avinash
# users=3
От [1 112]
-q, --count
all login names and number of users logged on
who
дает подробную информацию, в настоящее время входил в систему пользователи один на каждой строке, поскольку после [1 111]
aditya@aditya-desktop:~$ who
aditya tty7 2014-03-31 16:45 (:0)
aditya pts/2 2014-03-31 17:51 (:0)
aditya@aditya-desktop:~$
wc -l
не дает никаких из строк. В who|wc -l
мы передали команды по каналу. Таким образом, мы направляем выходные данные who
к wc -l
команда. wc -l
не измерит никакие из строк в выводе, данном who
команда, которая равняется 2.
aditya@aditya-desktop:~$ who|wc -l
2
aditya@aditya-desktop:~$
Для большего количества информации, можно прочитать руководства путем ввода man who
и man wc
Это вызвано тем, что открытый терминал (физический или виртуальный) считается, поскольку пользователь вошел в систему. Таким образом, когда Вы входите в систему в учетную запись, Вы входите в систему однажды при открытии терминала, любое использование Ctrl + Высокий звук + t (здесь названный как виртуальный терминал) или использование Ctrl + Высокий звук + F {1-7} (здесь названный как физический терминал), Вы входите в систему еще раз, каждый раз, когда Вы входите в систему.
Это ясно показывают в выводе who
. Второй столбец показывает, как пользователь вошел в систему. В случае, если Вы вошли в систему с помощью виртуального терминала, Вы будете видеть pts/<no>
, который представляет Вас, использовали /dev/pts
для входа в систему, который используется для входа в систему с помощью виртуального терминала. Если Вы войдете в систему с помощью физического терминала, Вы будете видеть tty<no>
, который представляет Вас, использовали /dev/tty
для вхождения в систему.
Для разъяснения этого посмотрите следующую ситуацию:
я вошел в систему однажды использование графического интерфейса, однажды использование виртуального терминала, однажды использование физического терминала, таким образом, вывод:
jobin tty1 2014-03-31 18:05
jobin :0 2014-03-31 16:58 (:0)
jobin pts/1 2014-03-31 17:25 (:0)
первая строка указывает на физический терминальный вход в систему, второй графическое и третье виртуальное.
Так причина Вы видите "2", то, потому что Вы вошли в систему графического интерфейса, а также терминала (не вполне уверенный, есть ли у Вас физический или виртуальный).
От info coreutils 'who invocation'
:
If given no non-option arguments, `who' prints the following information for each user currently logged on: login name, terminal line, login time, and remote hostname or X display.
Поэтому, если Вы зарегистрированы, больше чем одно место и никто больше зарегистрировано, вывод who | wc -l
будет количеством мест, где Вы зарегистрированы. При открытии большего количества окон терминала Вы будете видеть, что это число увеличится. То же самое, если Вы открываете больше вкладок в окне терминала.
, Если Вы - единственный пользователь на своем компьютере и если Вы хотите видеть, число уникальных пользователей в настоящее время входило в Вашу систему, которую можно использовать:
who is using_my_pc | wc -l
нет, это - шутка (который забавен, потому что она работает в этом случае). См. info coreutils 'who invocation'
для наблюдения точно, что это означает. Правильный способ видеть число уникальных пользователей в настоящее время входил в Вашу систему:
who | cut -d' ' -f1 | uniq | wc -l
who is using_my_pc
прием. Это вполне следует за логикой других команд как whoami
, которые предназначены, чтобы быть легко читаемыми людьми.
– DYZ
18.05.2020, 10:55