我怎样才能得到一个Linux用户/组的列表?

我需要得到和过滤的Linux用户列表,如:

username1 username1_group username2 username2_group ... usernameN usernameN_group 

我已经尝试过,但只有我发现的是:

 cat /etc/passwd | grep /home | cut -d: -f1 

它给了我/ home文件夹中的用户列表。 但是,我怎样才能将组名添加到他们每个人?

尝试这个:

 getent passwd | awk -F: '{print $1}' | while read name; do groups $name; done 
 getent passwd 

…削减你所需要的。

此外,getent的优点是它可以查看系统上的所有数据库。 / etc / passwd只包含本地用户的信息,但不包括LDAP,NIS等其他地方的信息。

组列表是/etc/group

要获取特定用户所在组的列表,您可以运行

 $ groups username 

看看/ etc / group