📜  如何使用日期和时间检查 linux 中的命令历史记录 (1)

📅  最后修改于: 2023-12-03 15:38:08.290000             🧑  作者: Mango

如何使用日期和时间检查 Linux 中的命令历史记录

在Linux中使用命令行时,经常需要查看先前执行的命令而不必重新键入。为此,Linux维护一个命令历史记录,其中包含先前执行的命令列表。

有时候需要在命令历史记录中查找指定日期或时间之后执行的命令。在本文中,我们将讨论如何使用日期和时间检查Linux中的命令历史记录。

1. 查看命令历史记录

在终端窗口中输入命令"history",可以显示先前执行的所有命令列表。

$ history
  1  sudo apt-get update
  2  sudo apt-get install apache2
  3  sudo systemctl start apache2
  4  sudo systemctl status apache2
  5  sudo nano /var/www/html/index.html
  6  history
2. 根据日期和时间过滤命令历史记录

我们可以使用“grep”命令按日期和时间过滤历史记录。下面的命令将把历史记录中带有2021年6月21日的命令显示出来。

$ history | grep "Jun 21"
  1  sudo apt-get update
  2  sudo apt-get install apache2
  3  sudo systemctl start apache2
  4  sudo systemctl status apache2
  5  sudo nano /var/www/html/index.html

我们还可以通过指定时间范围来过滤命令历史记录。下面的命令将显示在2021年6月21日下午4点到下午5点之间执行的命令。

$ history | grep "Jun 21 16:00\|Jun 21 17:00"
  3  sudo systemctl start apache2
  4  sudo systemctl status apache2
3. 使用时间戳过滤命令历史记录

另一种查找命令历史记录的方法是使用时间戳。时间戳是一个数字,表示自1970年1月1日以来的秒数。我们可以使用“date”命令将日期和时间转换为时间戳。下面的命令将显示在2021年6月21日下午4点到下午5点之间执行的命令。

$ history | grep "$(date -d "Jun 21 16:00" +%s)" | grep -v "$(date -d "Jun 21 18:00" +%s)"
  3  sudo systemctl start apache2
  4  sudo systemctl status apache2
结论

在Linux中,我们可以使用日期和时间过滤命令历史记录。我们可以使用“grep”命令来搜索历史记录,并将结果与特定日期和时间进行比较。另外,我们还可以使用时间戳来过滤命令历史记录。这些技巧可以帮助我们快速查找和执行以前执行的命令。