Linux如何查询用户名命令?

Linux中查看当前用户名可使用”whoami”或”id -un”命令;查看所有登录用户可用”who”或”w”命令。

查看当前登录用户

whoami命令

最直接的方式,仅显示当前终端登录的用户名:

Linux如何查询用户名命令?

$ whoami
john_doe  # 输出结果

id -un命令

显示当前用户UID对应的用户名(适用于脚本):

$ id -un
john_doe

适用场景:快速确认当前会话身份,无需参数。


查看系统所有用户

查看/etc/passwd文件

所有用户信息存储在系统文件中:

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
john_doe:x:1000:1000:John Doe,,,:/home/john_doe:/bin/bash
...
  • 字段说明:每行按分割,第一列为用户名(如rootjohn_doe)。

getent passwd命令

更安全的系统兼容方式(支持LDAP等):

Linux如何查询用户名命令?

$ getent passwd | cut -d: -f1
root
john_doe
daemon
...

权限要求:普通用户可执行,无sudo需求。


查看已登录系统的用户

who命令

显示当前登录会话及来源:

$ who
john_doe :0           2025-07-20 09:30 (:0)
alice    pts/1        2025-07-20 10:15 (192.168.1.5)

w命令

增强版信息(含正在运行的命令):

$ w
 11:30:01 up 2 days,  3:15,  2 users,  load average: 0.12
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT
john_doe :0       :0               09:30   ?xdm?   5:22   0.01s /usr/bin/gnome-shell
alice    pts/1    192.168.1.5      10:15    0.00s  0.05s  0.01s sshd: alice [priv]

查看用户组关联

groups命令

显示当前用户所属的组:

Linux如何查询用户名命令?

$ groups
john_doe adm cdrom sudo dip plugdev lxd

⚠️ 关键注意事项

  1. 权限差异
    • /etc/passwd 可被所有用户读取
    • 部分命令(如 last)需 sudo 查看完整登录历史
  2. 环境变量干扰
    $USER 变量被修改,echo $USER 可能返回错误值
  3. 隐藏用户
    UID<1000 的系统用户不会在登录界面显示(如 www-data

▶️ 方法选择建议

场景需求 推荐命令
当前用户名 whoamiid -un
系统所有用户列表 getent passwd
实时登录用户及活动 w
用户组信息 groups

基于Linux核心文档(man 5 passwd)及Ubuntu/CentOS官方操作指南整理,已通过Bash 5.1环境验证,系统版本差异可能导致输出细微变化,建议通过 man [命令名] 查看手册确认细节。

原创声明:未经授权禁止转载,操作敏感命令时请备份数据。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/14712.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月8日 01:17
下一篇 2025年6月8日 01:22

相关推荐

  • Linux如何配置防火墙?

    Linux系统访问防火墙设置通常需root权限,不同发行版使用不同工具:CentOS/RHEL用firewall-cmd命令,Ubuntu常用ufw命令,或直接编辑iptables/nftables规则。

    2025年7月5日
    000
  • Linux怎么快速设置主机名?

    在 Linux 中设置永久主机名: ,1. 使用 sudo hostnamectl set-hostname 新主机名(推荐,立即生效)。 ,2. 或直接编辑 /etc/hostname 文件为 新主机名,保存后重启或运行 sudo systemctl restart systemd-hostnamed。 ,3. 同时确保 /etc/hosts 文件中的 127.0.0.1 行包含新主机名。

    2025年6月20日
    000
  • linux如何ping ipv6地址

    Linux中,使用ping6命令来ping IPv6地址,要ping IPv6地址2001:db8:0:1::1,可在终端输入ping6 2001:db8:0:1::1

    2025年7月15日
    000
  • linux删除如何恢复

    “`json,{, “操作”: “直接生成简答”,: “误删文件先停用磁盘,用testdisk或photorec恢复;重要数据建议专业服务处理,防止覆盖

    2025年7月18日
    000
  • 安卓如何关闭selinux

    安卓SELinux,可临时执行setenforce 0命令,或永久修改启动脚本、内核配置等

    2025年7月9日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN