我怎样才能唯一地记录我使用的每个新命令,并可能给它加上时间戳?

Nir*_*mik 6 command-line bash bashrc

我已经使用 Linux 超过 6 个月了,但从来没有过多地使用 CLI(命令行界面或终端或 shell)

现在,当我在这里提问、获得答案或从其他站点获得帮助时,我学习了新命令...

如何将每个新命令存储在文本文件中?只有新的/独特的命令,而不是相同命令的重复。

下面是一个例子:

  1. 在终端中,我输入这样的命令-
$  command1
$  command2
$  command3
$  command4
$  command1
Run Code Online (Sandbox Code Playgroud)
  1. 现在,这些命令应该保存在一个文本文件中,commandrec就像这样
command1
command2
command3
command4
Run Code Online (Sandbox Code Playgroud)

注意: 终端中再次出现的最后一个命令command1不会再次记录/保存在文本文件中。

下次我打开终端并输入新命令时command 5,它应该附加到列表中commandrec

(但如果该命令在其他日期较早使用过,则仍应忽略它。例如,在新的日期/时间command 1再次输入但未记录为已使用)command 5command1

  1. commandrec文件将看起来像这样
31/05/12 12:00:00
command1
command2
command3
command4
01/06/12 13:00:00
command 5
Run Code Online (Sandbox Code Playgroud)

(如果可能的话,时间和日期的事情会很棒,但即使不存在也没关系)

这样,我可以记录我迄今为止使用的所有命令。

如何才能做到这一点?

ish*_*ish 6

如何成功地尝试更改这些设置 .bashrc

  • 实验前:将当前.bash_history文件保存到另一个文件中cp
  • 在尝试有效的方法时:rm ~/.bash_history在更改.bashrc历史控制参数后,否则新旧条目的组合可能会给您带来奇怪的结果。
    • 例如,启用时间戳之前的所有条目将显示相同的当前日期/时间!
  • 一旦你找到了有用的东西,不要再找了rm!!

  • 另请注意,.bashrc仅当您退出并实例化新的终端/shell 时,才会反映对 的任何更改。

增加历史记录大小并消除重复

  • 将这些行添加到您的~/.bashrc

    导出 HISTCONTROL=erasedups
    导出 HISTSIZE=10000
  • 历史记录大小设置为 10000,重复项会自动消除,因此空间充足:)

时间戳

  • 通过添加另一行表单可以轻松设置时间export HISTTIMEFORMAT="%F %T",这将在使用时显示每行之前的时间/日期history
    • 例子:
      izx@preciseunity:~$ 历史
      1 2012-06-01 07:16:22 rm ~/.bash_history
      2 2012-06-01 07:16:23 退出
      3 2012-06-01 07:16:27 ls
      4 2012-06-01 07:16:31 测试
      5 2012-06-01 07:16:34 ls /etc
      6 2012-06-01 07:16:36 下来
      7 2012-06-01 07:16:37 向上
      8 2012-06-01 07:16:40 历史
      9 2012-06-01 07:16:48 历史
      
    • 请注意,由于消除了重复项,因此命令显示的时间是它上次执行的最近(最新)时间。
    • 您可以根据HISTTIMEFORMAT自己的选择/语言环境自定义strftime


Jak*_*kob 3

您的目标是学习新命令?我建议使用CLI Companion

CLI Companion 是一个从 GUI 存储和运行终端命令的工具。不熟悉终端的人会发现 CLI Companion 是熟悉终端并释放其潜力的有用方法。有经验的用户可以使用 CLI Companion 将大量命令存储在可搜索列表中。

在此输入图像描述

您可以通过运行以下命令来获取它:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion
Run Code Online (Sandbox Code Playgroud)

如果您不想添加 PPA,请尝试在 12.04 版本中使用此文件(最新版本 1.1-6,于 2012 年 4 月 14 日发布 - 请查看此页面以获取更新版本。) - 或者在使用sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


PS:我发现这个问题也可能有帮助。

  • 尽管没有直接解决问题的措辞,但我认为它解决了问题的目标。 (2认同)

Dir*_*eck 0

在您的主目录中检查该.bash_history文件,它保存您输入的每个命令