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

123

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

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

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

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

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

Pandya
источник

Ответы:

189

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

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

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

    compgen -g
    

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

Pandya
источник
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