如何在Linux中使用history命令

系统 Linux
随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 history 命令是一个真正改变我日常工作的命令。

如何在 Linux 中使用 history 命令

用强大的 history 命令使你的命令行提示符更有效率。

随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 history 命令是一个真正改变我日常工作的命令。

GNU history 命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令,而不用重新输入它们。如果你是一个老玩家,你知道 history 的力量,但对于我们这些半吊子或新手系统管理员来说, history 是一个立竿见影的生产力增益。

 

历史 101

要查看命令历史,请在 Linux 中打开终端程序,然后输入:

  1. $ history

这是我得到的响应:

  1. 1  clear
  2. 2  ls -al
  3. 3  sudo dnf update -y
  4. 4  history

history 命令显示自开始会话后输入的命令列表。 history 有趣的地方是你可以使用以下命令重放任意一个命令:

  1. $ !3

提示符中的 !3 告诉 shell 重新运行历史列表中第 3 个命令。我还可以输入以下命令来使用:

  1. linuser@my_linux_box: !sudo dnf

history 将搜索与你提供的模式相匹配的***一个命令,并运行它。

 

搜索历史

你还可以输入 !! 重新运行命令历史中的***一条命令。而且,通过与grep 配对,你可以搜索与文本模式相匹配的命令,或者通过与 tail 一起使用,你可以找到你***几条执行的命令。例如:

  1. $ history | grep dnf
  2. 3  sudo dnf update -y
  3. 5  history | grep dnf
  4. $ history | tail -n 3
  5. 4  history
  6. 5  history | grep dnf
  7. 6  history | tail -n 3

另一种实现这个功能的方法是输入 Ctrl-R 来调用你的命令历史记录的递归搜索。输入后,提示变为:

  1. (reverse-i-search)`':

现在你可以开始输入一个命令,并且会显示匹配的命令,按回车键执行。

 

更改已执行的命令

history 还允许你使用不同的语法重新运行命令。例如,如果我想改变我以前的命令 history | grep dnfhistory | grep ssh,我可以在提示符下执行以下命令:

  1. $ ^dnf^ssh^

history 将重新运行该命令,但用 ssh 替换 dnf,并执行它。

 

删除历史

有时你想要删除一些或全部的历史记录。如果要删除特定命令,请输入 history -d <行号>。要清空历史记录,请执行 history -c

历史文件存储在一个你可以修改的文件中。bash shell 用户可以在他们的家目录下找到 .bash_history

 

下一步

你可以使用 history 做许多其他事情:

  • 将历史缓冲区设置为一定数量
  • 记录历史中每行的日期和时间
  • 防止某些命令被记录在历史记录中

有关 history 命令的更多信息和其他有趣的事情,请参考 GNU Bash 手册。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-05-16 10:32:06

Linux命令find

2022-11-18 10:16:26

Linuxwc 命令

2022-10-25 09:07:28

Linuxxargs命令

2023-09-14 15:05:33

grep正则表达式

2021-01-13 09:40:26

Linuxexport命令

2019-09-16 19:00:48

Linux变量

2018-04-28 09:12:42

Linux

2022-05-25 08:41:48

Linuxfd 命令文件

2021-07-20 10:00:28

Linuxgrep命令

2023-01-31 17:36:22

IPLinux网络

2021-07-13 07:52:02

Linuxgrep命令

2022-11-23 08:14:42

bash 脚本test 命令

2020-06-24 15:30:39

Bashhistory命令Linux

2022-03-30 09:32:32

BashtestLinux

2022-11-21 12:06:24

fgrep命令Linux

2023-01-09 10:29:41

mv命令Linux

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2018-07-26 09:55:44

Linux命令升级软件

2023-02-28 22:26:33

2023-05-17 18:45:56

Linux文件
点赞
收藏

51CTO技术栈公众号