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命令,可以使用上面介绍的方法进行安装或者是环境变量问题。
评论区