Как мне конкретно указать номер локальных пользователей.
Любая помощь будет принята с благодарностью.
Это смотря что вы. Если вам нужны все локальные пользователи, включая пользователей системы, то это просто список в / etc / passwd
, поэтому:
wc -l /etc/passwd
даст вам общее число.
Возможно, вы предпочтете исключить пользователей, у которых есть false
или nologin
установлен как их оболочка? В этом случае:
grep -vE 'false|nologin' /etc/passwd | wc -l
(вы можете запустить эту команду без | wc -l
, чтобы проверить, соответствует ли он ожидаемому вами списку)
Большинство людей знают о compgen как о чем-то, что вы можете использовать для перечисления таких вещей, как доступные вам псевдонимы. Например:
compgen -a
Или для вывода списка доступных вам команд:
compgen -c
Однако его также можно использовать для перечисления количества пользователей:
compgen -u
Оттуда вы можете просто подсчитать их с помощью wc -l
, который вы также видите в другом ответе.
compgen -u | wc -l
Это даст вам общее количество пользователей. Как и многое другое в Linux, есть разные способы получить нужную информацию. Если вы хотите выглядеть стильно, вы даже можете использовать grep и регулярное выражение.
compgen -u | grep --regexp="$" --count
Это выглядит довольно модно, но «$» просто означает конец строки, а затем вы говорите, чтобы он их посчитал.