标签: command-history

在多个终端窗口中保留 bash 历史记录

我一直有不止一个终端打开。从两个到十个,做各种各样的点点滴滴。现在假设我重新启动并打开另一组终端。有些人记得某些事情,有些人忘记了。

我想要一段历史:

  • 记住每个终端的一切
  • 可以从每个终端立即访问(例如,如果我ls在一个终端,切换到另一个已经运行的终端,然后按下,ls显示)
  • 如果命令前面有空格,不要忘记命令。

我能做些什么让 bash 更像那样工作?

bash command-history

633
推荐指数
14
解决办法
23万
查看次数

如何从历史记录中删除一行?

我在 Mac OSX 上工作,所以我想我在使用 bash...?

有时我会输入一些我不想被历史记住的东西。如何删除它?

command-line shell bash command-history

285
推荐指数
7
解决办法
30万
查看次数

在给定的 shell 上临时挂起 bash_history?

有没有办法在 bash 中暂时暂停历史跟踪,从而进入一种“隐身”模式?我正在我的终端中输入一些我不想记录的敏感财务信息。

bash command-history

161
推荐指数
4
解决办法
9万
查看次数

有没有办法从历史中执行命令?

例如:

[root@ip-10-0-7-125 ~]# history | grep free
  594  free -m
  634  free -m | xargs | awk '{print "free/total memory" $17 " / " $ 8}'
  635  free -m
  636  free -m | xargs | awk '{print "free/total memory" $9 " / " $ 10}'
  736  df -h | xargs |  awk '{print "free/total disk: " $11 " / " $9}'
  740  df -h | xargs |  awk '{print "free/total disk: " $11 " / " $8}'
  741  free -m …
Run Code Online (Sandbox Code Playgroud)

bash command-history

153
推荐指数
5
解决办法
10万
查看次数

如何在不使用箭头键的情况下重复上一个命令?

我知道我可以Up用来遍历以前的命令。运行最后一个命令只涉及Up+ Enter。但是,我在考虑购买Happy Hacking 键盘,因为我在vim.

这个键盘没有箭头键,我知道如何获得这种行为的唯一方法是按Ctrl+R并开始重复我之前的命令。

是否有一种简单的方法可以在没有箭头键的情况下在 UNIX 终端中模拟Up+ Enter

shell keyboard-shortcuts command-history

138
推荐指数
8
解决办法
20万
查看次数

bash 的历史存储在哪里?

如果我运行history,我可以看到我最近执行的命令。

但如果我这样做tail -f $HISTFILEtail -f ~/.bash_history,它们不会被列出。

文件是否被锁定,是否有临时位置或类似的位置?

bash command-history

130
推荐指数
5
解决办法
29万
查看次数

了解 bash 中的感叹号 (!)

我用了

history | less
Run Code Online (Sandbox Code Playgroud)

为了获取先前命令的行和左侧的数字,我找到了我想要重复的行(例如 22)并做了

!22
Run Code Online (Sandbox Code Playgroud)

在命令提示符下,它起作用了——在我当时所做的行上执行命令集。我无法弄清楚感叹号在哪里使用,它在 bash 采取的操作方面代表什么,以及在哪里使用它。从文档中我没有看到“有形”的解释。

command-line bash command-history

129
推荐指数
5
解决办法
17万
查看次数

^x^y unix 技巧适用于最后一个命令中的所有实例?

我最喜欢的 Unix 技巧之一是^x^y,它将采用最后一个命令并将“x”的第一个实例替换为“y”。但是,我想知道是否有类似的技巧可以在最后一个命令中用“y”替换“x”的所有实例?

command-line shell bash command-history

119
推荐指数
3
解决办法
3万
查看次数

如何清除终端历史记录?

我使用 Linux Mint 17.1 Rebecca 大约 2 天,不小心在终端中输入了我的密码,该密码现在显示在我之前输入的命令的历史列表中。

我想完全清除终端历史记录。我曾尝试在终端中使用以下命令,我认为这会永远清除历史记录,但它们没有:

history -c
reset
tput reset
Run Code Online (Sandbox Code Playgroud)

上面的命令“将”从终端清除历史记录,但是当我退出并打开一个新的历史记录时,我以前的所有历史记录仍然存在,并且可以使用 - history 命令再次列出所有历史记录,也可以通过按键盘上的向上箭头. 在我完全清除我的历史记录之前,我不希望这种情况发生,然后我想继续使用它。

如何彻底清除我的终端历史记录 - 永远重新开始?

请注意:我不想在没有保存历史记录的情况下退出终端,只是在这种情况下永远清除它。

bash command-history

118
推荐指数
6
解决办法
40万
查看次数

命令历史记录中的命令行补全

所以,我看过历史和Ctrl+ R,但它们并不是我认为我所知道的。有没有办法可以在命令的开头输入,然后使用一些 bash 快捷方式循环浏览历史记录中的匹配项?

# mysq(some shortcut key)
Run Code Online (Sandbox Code Playgroud)

给我:

# mysqldump  --add-drop-table -e -q -n -C -u 
(some shortcut key)
#  mysql -u ben.dauphinee -p
Run Code Online (Sandbox Code Playgroud)

bash command-history autocomplete

106
推荐指数
5
解决办法
8万
查看次数