Questions tagged «command-history»

撤回先前在Shell或其他实用程序中键入的命令



1
如何在bash中同步终端会话命令历史记录?
~/.bash_history在终端会话中,我尝试搜索我最近的命令,但是它们不存在。我猜这是因为我有多个终端会话打开。 有没有一种方法可以将当前终端会话的命令历史记录同步(即,同步推送或同步写出)到bash_history文件中(而无需关闭会话并丢失该环境)? (这在思想上与sync命令如何在某些系统上存储文件系统修改非常相似。) 我想我可以设置bash来保留多个会话历史记录,但是当您在新机器上工作并且意外忘记以可能想要的方式设置bash时,推送当前历史记录缓冲区的功能仍然会很有用。

3
使用不连续的关键字搜索历史记录中的命令
我想知道如何在不知道命令的前几个字母的情况下搜索历史记录中的命令? 在bash中使用Ctrl- R进行搜索时,必须给出命令的前几个字母。如果我只在中间知道一些字符,或者在开头知道一些,在中间知道一些怎么办? 例如,要搜索cat myfile,我只知道at在其中,或者c在my某处的开头和中间。关键字必须不断定位。例如,在中cat myfile,我想搜索c和my,但是Ctrl+R不允许同时指定两者。

2
如何不执行命令就中止fc?
命令fc将允许可视地编辑前一个命令。如果在编辑器中改变主意,如何停止执行命令。在vim中,输入q!或q都导致命令被执行,并且CTRL-C也不起作用。是删除编辑器中的命令然后删除wq的唯一选择吗?


2
如何撤消命令历史记录中的更改?
在UNIX系统中,您可以按上下箭头浏览先前的命令。这非常方便。 有时,我会上去查找要再次使用的命令,但是会有一些变化。如果我做了这样的更改,那么除非我签入,否则我将无法取回原始命令history。 有什么方法可以“撤消”通过键访问的历史记录中的命令更改? 我当前的解决方法是#在命令前添加a 。这样,当前命令将作为注释执行,因此没有任何反应。然后,我可以再次通过按键浏览命令。问题是我使用的命令可能在列表中距离很远,因此再次向上执行200次会有点麻烦。Control + R也不是解决方案,因为我可能不记得确切要找什么。 例 我输入了以下“ 50个命令之前”: ls -l /etc/httpd/conf/ 现在我走到那条线并将其更改为 ls -l /etc/init.d/ 但没有按Enter。现在,我想ls -l /etc/httpd/conf/再说一遍。 我的环境 $ echo $SHELL /bin/bash $ echo $TERM xterm


1
在使用反向搜索时返回bash历史记录的末尾?
我保留了相当长的bash历史记录,有时当我使用bash反向搜索功能(Ctrl+ r)搜索某些内容时,我会一直停留在搜索历史记录的开头,但仍然找不到所需的内容,然后我想回到最后历史记录文件。一种选择是使用向前搜索功能(Ctrl+ s),该功能移近历史记录的末尾或执行#,但是还有键盘快捷键直接移至bash历史记录的末尾吗?


2
如何从历史记录中的最后一个命令访问第二个参数?
我开始学习一些正则表达式,因此我反复使用此命令: grep pattern /usr/share/dict/american-english 只有带有模式的部分会发生变化,因此我不得不一次又一次写出长表达式“ / usr / share / dict / american-english ”。 有人说,可以通过键入隐含的字符组合而不是完整的表达式从命令历史中扩展命令的自变量。你能告诉我那些神秘的字符组合吗?

2
在执行子壳之前先展开它?
我经常使用子外壳运行命令,有时希望在运行某些东西之前先扩展子外壳。 例如,如何在运行之前扩展以下命令行,以便可以编辑子shell的结果? 例如 $ find -name "test.txt" /tmp/test.txt $ mv $(!!) /tmp/new.txt 我希望在运行命令之前看到子外壳已扩展,如下所示: $ mv /tmp/test.txt /tmp/new.txt 有什么办法可以做到这一点?


2
阅读历史
如何read通过按向上/向下键在内置命令支持历史记录中循环显示它们? 当您按向上键时,我尝试捕获,但是它似乎不适用于read: read -p '> ' -n 3 foo echo echo -n "$foo" | hexdump 按下箭头键似乎可以工作,并且可以使用它来检测到它,但是如果按下aa↑,它将失败,因为它将仅读取向上箭头标识符的第一个字符,而需要使用第三个字符来区分不同的箭头键。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.