![日志名命令](https://www.alaica.com/wp-content/uploads/linux-38.png)
我是一个 Linux 和 Unix 系统的新用户。如何使用命令提示符在 Linux 或类 Unix 操作系统上查找当前登录名?
您可以使用 logname 命令显示或打印当前用户(也称为呼叫用户)的名称。该命令读取var/run/utmp或/etc/utmp文件来显示当前用户的名称。
句法
基本语法:
logname
logname --help
logname --version
日志名命令示例
只需键入以下命令即可显示用户的登录名:
日志名
输出示例:
![动画 gif 01:logname 命令与 id 和 whoami 命令一起运行](https://www.alaica.com/wp-content/uploads/linux-9.gif)
动画 gif 01:logname 命令与 id 和 whoami 命令一起运行
您可以使用命令替换功能在 shell 脚本中使用 logname 命令,如下所示:
#/bin/bash ## ## 我的备份函数 ### do_backup ( ) { tar -zcvf / nas01 / backup / home.files.tar.gz / home / } ## ## 仅运行备份作业(如果是)备份用户否则死亡并显示消息 ## ## [ " $(logname) " == "backup" ] && { echo "正在开始备份..." ; 做备份;} || { echo “需要备份用户帐户。” ; 1号出口 ;} 出口 0
相当于 logname 的历史命令
logname 命令相当于运行以下id 命令或whoami 命令:
id -un
或
whoami
$USER 和 $LOGNAME shell 变量
您还可以使用 $USER shell 变量来显示用户的登录名,如下所示:
echo “嗨,$USER!让我们成为朋友吧。” 回声 “你好,$LOGNAME!”
输出示例:
嗨,维维克!让我们成为朋友吧。 你好,维维克!
请注意,logname 实用程序显式忽略 LOGNAME 和 USER 环境变量,因为环境不可信。这是使用 logname 命令的主要原因。尝试以下演示
#!/bin/bash # getlogin-name.sh : 显示登录名的 shell 脚本 ## 让我们更改变量值 ## USER = "foo" LOGNAME = "bar" ## 问候用户 ## ## 显示冒名顶替者姓名,即您不能信任 $USER 和 $LOGNAME ## echo "嗨,$USER!您肯定是冒名顶替者。抱歉,我不能信任您。" echo “你好,$LOGNAME!你肯定是冒名顶替者。我不能相信你。走开!” ## 显示真实登录名 ## echo "Hello, $(logname) !让我们成为朋友吧。"
输出示例:
嗨,富!你肯定是冒名顶替者。抱歉,我不能相信你。 你好,酒吧!你肯定是冒名顶替者。我不能相信你。离开! 你好,维维克!让我们成为朋友吧。
也可以看看
- /etc/passwd文件