Как узнать имена и количество пользователей в системе?

Однострочная оболочка-оболочка для простого sed кода:

# Usage: foo <file2> <id> <column> <value>
foo() { sed -i "/^$2|/s/[^|]*/$4/$3" "$1" ; }

Пример:

 foo file2 1001 2 Marios  ;  cat file2

Вывод:

1000|text1|text2|text3
1001|Marios|text5|text6
1002|text7|text8|text9
2
06.08.2016, 00:08
2 ответа

Есть несколько способов. Здесь уместны последний , who и ps . последний является наиболее полным для отслеживания текущих и прошлых входов в систему.

Из справочной страницы для last (курсив добавлен):

Last перечислит сеансы указанных пользователей, ttys и хостов в обратном порядке времени. Каждая строка вывода содержит имя пользователя, tty , с которого был проведен сеанс, любое имя хоста, время запуска и остановки сеанса, а также продолжительность сеанса. Если сеанс все еще продолжается или был прерван из-за сбоя или завершения работы, последний будет обозначен .

...

Если не указаны пользователи, имена хостов или терминалы , последний выводит на печать запись обо всех входах и выходах из системы.

Таким образом, вместо отчетов только о текущих сеансах, последний сообщает о всех входах и выходах.

2
27.01.2020, 22:04

Вы можете использовать команду who . Чтобы просмотреть список пользователей, вошедших в систему:

who -u

Чтобы подсчитать все имена для входа и количество пользователей, вошедших в систему:

who -q

Или используйте команду wc :

users | wc -w
1
27.01.2020, 22:04

Теги

Похожие вопросы