📅  最后修改于: 2023-12-03 15:07:10.626000             🧑  作者: Mango
在 Ubuntu 服务器中,我们经常需要列出当前所有的用户。这对于系统管理员来说尤其重要,因为他们需要知道当前有哪些用户正在使用该服务器,并且需要将其视为目标用户。
以下是列出所有用户的 Shell/Bash 命令:
cut -d: -f1 /etc/passwd
这个命令将读取 /etc/passwd
文件中的所有条目,并使用 :
符号作为分隔符进行分割。然后,它将输出每个条目的第一个字段,也就是用户名。这将包括所有类型的账户,包括超级用户 root
。
如果您只想显示正常的用户,则可以使用以下命令:
cut -d: -f1 /etc/passwd | grep -vE '^($|\s*(#|nologin))'
这个命令将使用 grep -vE
过滤掉空行和以 #
符号开头的行,同时过滤掉包含 nologin
的行,这些行是特殊的无登录权限账户。然后,它将输出所有正常用户的用户名。
除了使用 cut
和 grep
命令,您也可以使用 awk
命令来输出用户名:
awk -F: '{ print $1 }' /etc/passwd
这个命令将读取 /etc/passwd
文件,并使用 :
符号作为分隔符进行分割。然后,它将输出每个条目的第一个字段,也就是用户名。这将包括所有类型的账户,包括超级用户 root
。
总的来说,列出所有用户在 Ubuntu 服务器管理中是必须的,无论是安全方面还是日常维护方面都很重要。以上三个 Shell/Bash 命令是列出用户的最常用方法。