侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux whoami命令详解:显示当前登录用户的用户名(附实例教程和注意事项)

Linux whoami命令介绍

whoami是一个简单的Linux命令,它用于显示当前登录用户的用户名。whoami的名称是由“who”、“am”和“i”三个单词组合而成的,表示“我是谁”的意思。whoami命令在bash脚本中也很有用,可以显示运行脚本的用户的身份。whoami命令相当于执行id -un命令,也就是显示有效用户ID的用户名。

Linux whoami命令适用的Linux版本

whoami命令是一个标准的Linux命令,它适用于所有的Linux发行版,包括Ubuntu、Debian、Fedora、CentOS、Red Hat等。whoami命令不需要安装,它是由GNU coreutils软件包提供的,这个软件包是Linux系统的基本组件之一,包含了许多常用的命令,如ls、cp、mv、rm等。如果你的系统没有安装GNU coreutils软件包,你可以使用以下命令来安装它:

  • 在基于Debian的系统中,使用apt-get命令:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils
  • 在基于Red Hat的系统中,使用yum命令:
[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils
  • 在基于Arch的系统中,使用pacman命令:
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S coreutils

Linux whoami命令的基本语法

whoami命令的语法格式如下:

whoami [选项]

whoami命令只有两个选项,分别是:

  • --help:显示帮助信息并退出。
  • --version:显示版本信息并退出。

Linux whoami命令的常用选项说明

whoami命令的选项很少,只有两个,它们的作用如下:

  • --help:这个选项可以显示whoami命令的用法和可用选项,以及一些相关的信息,如在线帮助页面和完整的文档网站的链接。使用这个选项时,不需要指定任何其他参数。例如,执行以下命令:
[linux@bashcommandnotfound.cn ~]$ whoami --help

输出结果如下:

Usage: whoami [OPTION]...
Print the user name associated with the current effective user ID.
Same as id -un.

      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/whoami>
or available locally via: info '(coreutils) whoami invocation'
  • --version:这个选项可以显示whoami命令的版本信息,包括GNU coreutils的版本号和版权声明。使用这个选项时,也不需要指定任何其他参数。例如,执行以下命令:
[linux@bashcommandnotfound.cn ~]$ whoami --version

输出结果如下:

whoami (GNU coreutils) 8.32
Packaged by Gentoo (8.32 (p1))
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard Mlynarik.

Linux whoami命令的实例

whoami命令的用法很简单,下面给出一些常见的实例:

显示当前登录用户的用户名:

这是whoami命令最基本的用法,不需要任何选项或参数,只要执行whoami命令,就会输出当前登录用户的用户名。例如,执行以下命令:

[linux@bashcommandnotfound.cn ~]$ whoami

输出结果如下:

linux

切换到另一个用户并显示用户名:

有时候,你可能需要切换到另一个用户来执行一些操作,这时候,你可以使用whoami命令来验证你切换到的用户是否正确。例如,你可以使用su命令来切换到root用户,然后使用whoami命令来显示用户名。执行以下命令:

[linux@bashcommandnotfound.cn ~]$ su root
Password: 
[root@bashcommandnotfound.cn ~]# whoami

输出结果如下:

root

检查一个用户是否有sudo权限:

sudo是一个Linux命令,它允许普通用户以超级用户(root)的身份来执行一些需要特殊权限的命令。如果你想知道一个用户是否有sudo权限,你可以使用whoami命令来检查。例如,你可以使用sudo whoami命令来显示以sudo方式执行命令的用户的用户名,如果你有sudo权限,那么输出结果应该是root,如果没有,那么输出结果应该是一个错误信息。执行以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo whoami

输出结果如下:

root

或者:

[sudo] password for linux: 
linux is not in the sudoers file.  This incident will be reported.

###在bash脚本中使用whoami命令:
whoami命令在bash脚本中也很有用,可以显示运行脚本的用户的身份。例如,你可以使用whoami命令来测试是否是root用户在运行脚本,如果是的话,就打印一个警告信息。你可以使用一个简单的bash if语句来实现这个功能,如下所示:

#!/bin/bash
if [[ "$(whoami)" == 'root' ]]
then
  echo "You are running this script as root user!"
fi

使用whoami命令的替代命令:

whoami命令有一些替代的命令,可以输出相同的结果。下面介绍一些常见的替代命令:

  • id -un:id命令用于显示用户的ID和所属的组,如果使用-un选项,那么它就相当于whoami命令,只显示有效用户ID的用户名。例如,执行以下命令:
[linux@bashcommandnotfound.cn ~]$ id -un

输出结果如下:

linux
  • logname:logname命令用于显示当前登录用户的用户名,它和whoami命令的区别在于,logname显示的是初始登录用户的用户名,而whoami显示的是当前有效用户的用户名。如果你没有切换过用户,那么两个命令的输出结果是一样的。例如,执行以下命令:
[linux@bashcommandnotfound.cn ~]$ logname

输出结果如下:

linux
  • echo USER:echo命令用于打印一个字符串或者一个变量的值,USER是一个环境变量,它存储了当前登录用户的用户名,所以你可以使用echo $USER命令来显示当前登录用户的用户名,它和whoami命令的输出结果是一样的。例如,执行以下命令:
[linux@bashcommandnotfound.cn ~]$ echo $USER

输出结果如下:

linux

Linux whoami命令的注意事项

whoami命令是一个很简单的命令,没有太多的注意事项,只有以下几点:

  • whoami命令只能显示当前有效用户的用户名,如果你想显示更多的用户信息,如用户ID、组ID、主目录、登录shell等,你可以使用id命令或者finger命令。
  • whoami命令不需要任何参数,如果你指定了一个或多个参数,那么whoami命令会忽略它们。
  • 如果在执行whoami命令时出现bash: whoami: command not found的错误,说明系统没有wgoami命令,可以使用上面介绍的方法进行安装或者是环境变量问题。
0

评论区