每当在终端中输入命令时,它都会保存在 Linux 历史文件的末尾。 您可以随时使用以下命令轻松检索这些命令 history
命令。 shell 还会跟踪所有命令条目的时间戳,以便我们可以轻松找到特定命令的执行时间。 我们已经向您展示了如何在 重击 和 零星 贝壳。 今天我们将看到如何为历史命令启用时间戳 鱼壳 在 Linux 中。 此外,我们还将学习如何创建一个简单的函数来在fish shell 的历史命令输出中显示日期和时间戳。
在鱼壳中为历史命令启用时间戳
从 2.6 版开始, fish
shell 支持内置时间戳 history
命令。 让我们在 fish
外壳会话:
> lsb_release -a
> uname -r
> hostname -f
> mkdir ostechnix
> cd ostechnix/
> touch ostechnix.txt
> ls
如果你运行 history
没有任何标志的命令,您将看到所有这些先前执行的命令没有时间戳。
> history ls touch ostechnix.txt cd ostechnix/ mkdir ostechnix hostname -f uname -r lsb_release -a [...]
启用时间戳 history
命令输入 fish
外壳,使用 --show-time
标志如下图:
> history --show-time
示例输出:
# Monday 30 November 2020 02:39:52 PM history # Monday 30 November 2020 02:36:52 PM ls # Monday 30 November 2020 02:36:47 PM touch ostechnix.txt # Monday 30 November 2020 02:36:39 PM cd ostechnix/ # Monday 30 November 2020 02:36:36 PM mkdir ostechnix # Monday 30 November 2020 02:34:11 PM hostname -f # Monday 30 November 2020 02:33:51 PM uname -r # Monday 30 November 2020 02:33:42 PM lsb_release -a [...]
如您所见,history 命令在每个命令的顶部显示时间戳。 我不喜欢鱼壳显示日期和时间戳的方式。 因此,我自定义了历史命令输出,如下所示:
> history --show-time="%F %T "
示例输出:
2020-11-30 14:47:12 history --show-time 2020-11-30 14:39:52 history 2020-11-30 14:36:52 ls 2020-11-30 14:36:47 touch ostechnix.txt 2020-11-30 14:36:39 cd ostechnix/ 2020-11-30 14:36:36 mkdir ostechnix 2020-11-30 14:34:11 hostname -f 2020-11-30 14:33:51 uname -r 2020-11-30 14:33:42 lsb_release -a [...]
现在它是完美的!
在这里, %F
选项显示日期 YYYY-MM-DD
(年-月-日)格式。 而 %T
选项以格式显示时间 HH:MM:SS
(时-分-秒)格式。
如果你想展示 只有日期,使用这个命令:
> history --show-time="%F "
示例输出:
2020-11-30 ls 2020-11-30 touch ostechnix.txt [...]
显示 只有时间,然后使用这个:
> history --show-time="%T "
示例输出:
14:36:52 ls 14:36:47 touch ostechnix.txt [...]
您还可以使用以下不同的格式:
> history --show-time="%d/%m/%y %H:%M:%S "
这以以下格式显示历史输出:
30/11/20 14:36:52 ls 30/11/20 14:36:47 touch ostechnix.txt [...]
这是另一个版本:
> history --show-time="%h/%d - %H:%M:%S "
示例输出:
Nov/30 - 14:36:52 ls Nov/30 - 14:36:47 touch ostechnix.txt [...]
在历史命令输出中显示日期和时间戳的鱼函数
如果你想保存几笔,你可以使用 function
像下面。
> nano ~/.config/fish/functions/history.fish
笔记: 如果 ~/.config/fish/functions/
目录不存在,只需创建它。
在中添加以下几行 history.fish
文件:
function history builtin history --show-time="%F %T " end
现在 history
命令将显示没有任何标志的时间戳:
有关更多详细信息,请参阅 fish 手册页:
> man fish
您现在知道如何在 history
Linux中fish shell的命令输出。 您还学习了如何使用简单的 function
在鱼壳中为历史命令启用时间戳。 希望您觉得这个有帮助。
相关阅读:
- 如何在 Linux 中以私有模式启动 Fish Shell
FishHistory 命令LinuxLinux 基础Linux 命令ShellShell 提示时间戳