我们怎样才能获得linux上的非系统用户列表?

use*_*428 4 unix linux bash shell ubuntu

考虑到所有用户id >= 1000都是非系统用户,我们如何在一个命令中获取这些用户的列表?

Dio*_*cha 9

您需要获取gid大于或等于1000的所有用户.使用此命令:

awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

如果你想要系统用户(gid <1000),它将是:

awk -F: '($3<1000){print $1}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)


JNe*_*ill 5

您可以使用awk此任务:

awk -F: '$3 >= 1000' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

这将按/etc/passwd冒号分割文件,然后如果字段3(用户ID)大于或等于1000,它将打印整个/etc/passwd记录。

如果您只想从此列表中获取用户名,则:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

其中$ 1是其中的第一个字段etc/passwd是用户名。