Как я могу отобразить всех пользователей и группы с помощью команды?


123

Я хочу отобразить:

  1. Все пользователи и
  2. Все группы

    в моей системе с помощью командной строки.

usersи groupsкоманды отображают пользователей, вошедших в данный момент, и группы, к которым принадлежит пользователь, соответственно.

Как отобразить список всех пользователей и всех групп в командной строке?

Ответы:


189

Вы можете отобразить с помощью compgenвстроенной команды следующим образом:

  1. Для отображения всех пользователей выполните следующую команду:

    compgen -u
    
  2. Для отображения всех групп выполните следующую команду:

    compgen -g
    

Однако вы также можете отобразить всех пользователей cut -d ":" -f 1 /etc/passwd.


14
Приятно! может быть предпочтительнее использовать getent passwd/ getent groupвместо катания локальные файлы ( getentдолжно работать и для нелокальных учетных записей)
steeldriver

@steeldriver compgenдействительно работает для нелокальных учетных записей (по крайней мере, для LDAP).
Муру

1
@muru Я имел в виду второй метод специально ( cat /etc/passwd | cut -d ...)
steeldriver

@steeldriver Ах, прости. Я думал, что это было более общее наблюдение.
Муру

Ну, на моем Ubuntu у меня есть некоторые файлы, созданные docker mount с помощью 999:999as user:group, но, к сожалению, ни одна из вышеперечисленных команд их не печатает.
Marinos An
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.