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年5月29日 05:13

相关推荐

  • Linux怎样快速解压gz文件?

    使用gunzip命令解压.gz文件:gunzip 文件名.gz(压缩包会被删除)。 ,保留原压缩文件可执行:gunzip -c 文件名.gz ˃ 新文件名 或使用 gzip -d 文件名.gz。

    2025年6月7日
    000
  • 查看Linux内核版本源码方法

    查看Linux内核源码根目录下的Makefile文件开头部分,定位VERSION、PATCHLEVEL、SUBLEVEL和EXTRAVERSION变量定义,组合其值即可得到完整内核版本号。

    2025年6月3日
    400
  • 如何在Linux虚拟机中设置CPU核心数量?

    在Linux虚拟机中设置CPU核心数需通过虚拟机管理软件(如VMware、VirtualBox)调整,关闭虚拟机后进入设置界面,找到处理器选项并修改核心数量,保存后重启生效,也可通过virsh工具修改XML配置,注意核心数不宜超过宿主机物理核心总数,建议用命令lscpu验证。

    2025年5月29日
    300
  • Linux如何快速安装Hadoop?

    在Linux安装Hadoop需先配置Java环境,下载Hadoop发行版,解压后编辑核心配置文件如core-site.xml、hdfs-site.xml等,设置必要参数和集群节点信息,配置环境变量后,初始化HDFS并启动集群服务。

    2025年6月1日
    200
  • Linux如何开启80端口?

    在Linux中开启80端口通常需配置防火墙,使用命令sudo ufw allow 80(UFW)或sudo firewall-cmd –zone=public –add-port=80/tcp –permanent(firewalld),执行后重载防火墙规则(firewall-cmd –reload或ufw reload),若防火墙关闭,临时启用命令sudo systemctl start firewalld或sudo ufw enable。

    2025年5月31日
    400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN