linux系统 shell获取当前系统时间与上次获取系统时间作比较
时间: 2023-08-18 21:07:50 浏览: 169
你可以使用`date`命令获取当前系统时间,将其存储到一个变量中。然后在下一次获取系统时间时,将两个时间进行比较。
以下是获取当前系统时间并与上次获取时间作比较的示例代码:
```
#!/bin/bash
# 获取当前系统时间
current_time=$(date +%s)
# 如果之前没有记录时间,则直接记录当前时间并退出
if [ ! -f last_time.txt ]; then
echo $current_time > last_time.txt
exit 0
fi
# 读取上次记录的时间
last_time=$(cat last_time.txt)
# 计算时间差
time_diff=$((current_time - last_time))
# 输出时间差
echo "距离上次获取系统时间已过去 $time_diff 秒"
# 更新上次记录的时间
echo $current_time > last_time.txt
```
该脚本会检查是否存在一个名为`last_time.txt`的文件,如果没有则创建该文件并记录当前系统时间。如果文件已经存在,则读取上次记录的时间,并计算当前时间与上次记录时间的时间差。最后,该脚本会更新上次记录的时间。
相关问题
window系统shell脚本获取当前时间
在Windows系统中,可以使用以下命令获取当前时间:
```
echo %time%
```
该命令会输出当前系统时间,例如:
```
16:48:59.48
```
如果需要将当前时间保存到变量中,可以使用以下命令:
```
set currentTime=%time%
echo %currentTime%
```
该命令会将当前时间保存到变量currentTime中,并输出该变量的值。例如:
```
16:48:59.48
```
linux shell如何查看当前在线用户信息,给出系统登录时间
在Linux shell中,你可以使用`who`和`w`命令来查看当前在线的用户及其相关信息。下面是这两种命令的用途:
1. **`who`命令**:
- 运行 `who` 命令会显示所有正在登录系统的用户,以及他们登录的时间(默认是按终端连接时间排序)。它不会显示详细信息,仅包含用户名和终端IP地址。
示例输出:
```
username pts/0 2023-04-06 15:30 (192.168.1.1)
```
其中,`username`是用户名,`pts/0`表示通过远程终端(pseudo-terminal)连接,时间和IP地址则表明用户何时从哪个IP地址登录的。
2. **`w`命令**:
- `w`命令比`who`更详细,除了显示用户名、终端和登录时间外,还会显示每个用户的工作状态,如空闲(`idle`)、运行任务(`run`), 或者挂起(`tty stop`等)。
示例输出:
```
username TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
username pts/0 192.168.1.1 yesterday 1 day 0.5h 0.1h sshd
```
同样地,每一行代表一个用户,列分别表示用户名、终端类型、登录来源、登录时间、闲置时间、处理器占用时间和虚拟机占用时间,以及用户当前正在做什么(WHAT列)。
阅读全文