在Linux系统中,`history` 命令是一个非常实用的功能,它能够记录用户在终端中输入过的命令历史。然而,默认情况下,`history` 命令只会列出命令的编号和具体内容,而不会显示命令的执行时间。这对于需要追踪命令执行时间的场景来说,显然是不够方便的。
那么,如何让 `history` 命令同时显示命令的执行时间呢?其实,这可以通过一些简单的配置来实现。
方法一:修改 `HISTTIMEFORMAT` 环境变量
在大多数现代 Linux 发行版中,`history` 命令的时间信息默认是存储在 `.bash_history` 文件中的。要让 `history` 命令显示时间信息,我们需要设置 `HISTTIMEFORMAT` 环境变量。
1. 打开你的 shell 配置文件。如果你使用的是 Bash,可以编辑 `~/.bashrc` 文件:
```bash
nano ~/.bashrc
```
2. 在文件末尾添加以下一行:
```bash
export HISTTIMEFORMAT="%Y-%m-%d %T "
```
这里的 `%Y-%m-%d %T` 是时间格式,表示年-月-日 时:分:秒。你可以根据自己的需求调整时间格式。
3. 保存并关闭文件,然后运行以下命令使更改生效:
```bash
source ~/.bashrc
```
4. 现在,当你使用 `history` 命令时,你会看到每一行命令旁边都带有执行时间。
方法二:使用 `script` 命令记录会话
如果你希望更全面地记录命令的执行时间和输出结果,可以使用 `script` 命令。`script` 命令可以记录整个会话的所有输入和输出。
1. 在终端中运行以下命令开始记录:
```bash
script session.log
```
2. 开始输入和执行命令。所有输入和输出都会被记录到 `session.log` 文件中。
3. 当你完成记录后,输入 `exit` 结束记录。
通过这种方式,你可以得到一个详细的日志文件,包含命令的执行时间、输入和输出内容。
总结
无论是通过设置 `HISTTIMEFORMAT` 环境变量还是使用 `script` 命令,都可以让你在 `history` 命令中显示命令的执行时间。选择哪种方法取决于你的具体需求。如果你只是想简单地查看命令的历史记录和时间,设置 `HISTTIMEFORMAT` 就足够了;如果你需要更详细的会话记录,`script` 命令会是一个更好的选择。
通过这些方法,你可以更好地管理和追踪你的命令历史,提高工作效率。