可能重复:
如何列出 Linux 上的所有用户和组?
如何确定 Linux 机器上的所有用户(不仅仅是已登录的用户)?
我搜索了一下,找到了以下命令:
$ cat /etc/passwd | grep "/home" | cut -d: -f1
但我担心的是,我无法root
在上述命令的输出中找到。此外,当我尝试命令时,我以普通用户身份who
登录时得到的响应相同。请帮忙!root
答案1
您的命令将无法找到 root,因为 root 的主目录是 /root 而不是 /home/[user],而且它不会显示远程网络帐户。
更好的命令是getent passwd | cut -d ":" -f1
。
答案2
取出搜索(grep)并在第一个分号处剪切:cat /etc/passwd | cut -d: -f1
答案3
因为根目录的 $HOME 文件夹在/root
,不在/home
。
要列出所有拥有 shell 的‘真实’用户(假设是/bin/bash
),你可以使用:
grep "/bin/bash" /etc/passwd | cut -d: -f1