admin 管理员组

文章数量: 1086019


2024年6月3日发(作者:winform 打印分页)

Linux系统用户登录时间统计Shell脚本

Shell脚本是一种计算机程序设计语言,它在Linux系统中有着广泛

的应用。本文将介绍一个用于统计Linux系统用户登录时间的Shell脚

本。

在Linux系统中,用户登录的相关信息保存在/var/log/wtmp文件中。

而我们可以使用命令last来查看这个文件的内容,并获取用户的登录时

间和退出时间。基于此,我们可以编写一个Shell脚本来统计用户的登

录时间。

下面是一个示例的Shell脚本:

```shell

#!/bin/bash

# 获取登录时间

login_time=$(last | grep "still logged in" | awk '{print $4, $5, $6, $7}')

# 统计用户登录时间

declare -A user_time

for line in $login_time; do

user=$(echo $line | awk '{print $1}')

time=$(echo $line | awk '{print $2, $3}')

if [[ -z ${user_time[$user]} ]]; then

user_time[$user]=$time

else

user_time[$user]=${user_time[$user]},$time

fi

done

# 显示统计结果

for user in "${!user_time[@]}"; do

echo "用户 $user 的登录时间为:${user_time[$user]}"

done

```

以上的脚本通过last命令获取用户的登录信息,并使用grep和awk

命令提取关键信息。接着,使用一个关联数组user_time来存储每个用

户的登录时间。最后,通过循环遍历user_time数组,并输出统计结果。

可以将以上的代码保存为一个名为login_time_的文件,

并使用chmod命令给予执行权限:

```shell

chmod +x login_time_

```

然后,可以在终端中运行该脚本:

```shell

./login_time_

```

执行结果将会显示每个用户的登录时间。

通过这个Shell脚本,我们可以方便地统计Linux系统用户的登录

时间。您可以根据具体需求对脚本进行修改和扩展,以满足更多统计

和分析的需求。

以上就是一个用于统计Linux系统用户登录时间的Shell脚本的示

例。希望对您有帮助!


本文标签: 登录 用户 脚本 统计 时间