命令列出所有用户及其 UID?

bec*_*cko 17 command-line users

如何列出所有用户及其 UID?我想从终端执行此操作。

A.B*_*.B. 22

列出具有/home文件夹的所有用户:

awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

或所有用户具有UID >= 1000

awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

组合

awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

或所有条目

awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

更多信息在这里


hee*_*ayl 14

您只需使用cut以下命令即可轻松找到它:

cut -d: -f1,3 /etc/passwd
Run Code Online (Sandbox Code Playgroud)
  • -d:将分隔符设置:cut

  • -f1,3:/etc/passwd文件中提取仅由 分隔的字段 1 和 3

检查man cut以获得更多想法。

例子 :

$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
Run Code Online (Sandbox Code Playgroud)

如果您已ldap配置,将ldap用户包含在输出中:

getent passwd | cut -d: -f1,3
Run Code Online (Sandbox Code Playgroud)