在鱼壳中为历史命令启用时间戳

每当在终端中输入命令时,它都会保存在 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 命令将显示没有任何标志的时间戳:

在 Linux 中的鱼壳中显示历史命令输出中的日期和时间

有关更多详细信息,请参阅 fish 手册页:

> man fish

您现在知道如何在 history Linux中fish shell的命令输出。 您还学习了如何使用简单的 function 在鱼壳中为历史命令启用时间戳。 希望您觉得这个有帮助。

相关阅读:

  • 如何在 Linux 中以私有模式启动 Fish Shell

FishHistory 命令LinuxLinux 基础Linux 命令ShellShell 提示时间戳