在 Linux 中,你可以使用 history
命令来查看执行过的命令。但是,history
命令本身并不会直接显示每个命令的执行时间。你可以通过结合其他命令来获取这些信息。
一种方法是使用 awk
和 date
命令来解析 history
命令的输出,并提取每个命令的执行时间。下面是一个示例命令:
history | awk '{print $2}' | xargs -I {} date -d "@{}" '+%Y-%m-%d %H:%M:%S'
这个命令的解释如下:
history
:列出所有执行过的命令。awk '{print $2}'
:从每行中提取第二个字段,即命令本身(假设命令和时间之间没有空格)。xargs -I {} date -d "@{}"
:对于每个提取出的命令,使用 date
命令以 @{}
的形式解析其执行时间。@{}
是一个占位符,它会被 xargs
替换为实际的命令。'+%Y-%m-%d %H:%M:%S'
:指定日期和时间的格式。请注意,这个方法假设你的系统中的 history
命令记录的时间戳是以 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)的形式存储的。如果你的系统使用不同的时间戳格式,你可能需要相应地调整 date
命令的参数。
另外,如果你只想查看最近执行的命令及其执行时间,你可以使用 history
命令的可选参数来限制显示的命令数量。例如,history | head -n 10
会显示最近执行的 10 个命令。然后,你可以手动查看这些命令的执行时间,或者使用类似上面的方法来自动提取它们。