Questions tagged «command-history»

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

1
重新运行多个历史记录命令
假设您刚刚运行了十几个命令。说... $ cd foo/ # history cmd #10000 (my history is very long) $ ... more commands ... $ cd ../ # history cmd #10012 我知道,!-12 && !-11 && !-10 && (and so on) && !!如果碰巧刚运行过它们(不太可能)或!10000 && !10001 && !10002 && (and so on),我可以重新运行它们,但是有没有比在每个历史记录号上加上一个“砰”号和“&”号简单的方法呢? 在bash中也许我没有意识到某种范围的东西? 例如!{10000-10012}#这样的东西,只能工作。

4
事后查找命令执行时间
我刚刚从bash提示符处执行了一个长时间运行的过程。事后看来,我希望我继续尝试time一下,或者记下启动它的时间。 有什么方法可以追溯获取此信息?在.bash_history似乎不包含时间戳。 在我的特殊情况下,它是Mac OS X,但我对一般的Unix / Linux解决方案感兴趣。 要澄清的是,该过程现已完成,除非绝对必要,我宁愿不要再次运行它!

4
ZSH:向上和向下键的搜索历史?
目前,我的.zshrc中包含以下内容: bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search 但是,这似乎只在空格字符出现之前与我当前输入的内容匹配。例如,sudo ls /将匹配历史记录中以开头的每一行sudo,而我希望它仅匹配与整个输入匹配的行。(即sudo ls /etc匹配,但不匹配sudo cat /var/log/messages) 为了获得所需的行为,我需要更改什么? 如果相关,这是我的整个.zshrc:https : //gist.github.com/919566

3
使用一个sudo执行一行命令
例如,如果要创建文件并在一行中输入文本,可以使用>运算符将输出重定向到文件中: echo "something" > /path/foobar 但是,如果我无权访问该文件夹/path/并且需要sudo特权,那么我如何才能像具有sudo权限的普通用户一样实现此命令? 我试过了 sudo echo "something" > /path/foobar 但不起作用,因为须藤只计数的edit而不是右部 的> 当然,我可以先成为root sudo su或使用tee: echo "something" | sudo tee /path/foobar 但我想找到一个解决方案,在其中我可以通过替换来处理最后一行 sudo !! 是否没有办法“回收”最后一行并sudo在前面添加?


4
有时历史记录命令未存储在.bash_history中
我昨天在CentOS 7中发布了许多命令。但是当我今天想检索这些命令时,我发现没有任何记录。当我打开文件时.bash_history,我仍然找不到昨天发出的命令,但几天前我发现了许多旧命令。为什么不存储最近的命令?如何增加历史记录功能?

6
如何以交互方式在bash中输入n个数字的n个重复
我想运行命令 foo --bar=baz <16 zeroes> 如何有效输入16个零*?如果按住不放Alt,1 6 0它将重复下一次操作160次,这不是我想要的。在emacs中,我可以使用Alt-[number]或Ctrl-u 1 6 Ctrl-u 0,但是在bash中,它会Ctrl-u杀死当前正在键入的行,而下一个零只会向该行添加一个0。 如果我做 foo --bar=baz $(printf '0%.0s' {1..16}) 然后history准确显示以上内容,而不显示foo --bar=baz 0000000000000000;即bash的行为不符合我的要求。(编辑:指向正,我想输入一些零而不使用$(...)命令替换) (*)我猜“有效”的技术定义是“使用O(log n)击键”,最好是击键的数量等于16中的位数(对于16的所有值)加上一个常数;这个定义使emacs示例具有效率。

2
重用和修改条目时如何停止bash编辑历史记录?
当您重新使用和编辑上一个命令时,某些bash实例会更改命令历史记录,而其他实例显然不会。我一直在搜索,但是找不到说明如何防止历史记录中的命令在重用和编辑时被修改的内容。 有这样的问题这一个,但似乎说如何应对历史正在编辑。我最近才遇到一个bash实例,该实例在您重用命令时会编辑历史记录-我使用过的所有以前的bash shell(据我所知)都配置为在重用时不更改历史记录并编辑命令。(也许在过去的十五年左右的时间里,我一直没有适当注意我的外壳历史...) 因此,这可能是最好的问题:我可以告诉bash从不修改历史记录吗?

3
在BASH历史记录中仅保留成功的命令
有时我会误解命令的语法: # mysql -d test mysql: unknown option '-d' # echo $? 2 我再试一次并正确处理: # mysql --database test Welcome to the MySQL monitor. mysql > ... 如何防止错误代码不为0的第一个命令进入历史记录?

8
bash脚本中的历史记录命令
历史是Shell内置命令,我无法在BASH脚本中使用它。那么,有没有一种方法可以使用BASH脚本来实现? 在这里,我们为您准备了我的脚本: #!/bin/bash history | tail -100 > /tmp/history.log cd /tmp uuencode history.log history.txt | mail -s "History log of server" hello@hel.com




5
如何调出编号的历史记录命令进行编辑?
我经常搜索更改 history | grep 'string' 我会得到历史记录中的命令列表以及历史记录行号),例如 history | grep 'git' 755 git status 1535 git push origin master 1570 git merge origin/one-146 1667 git reset --hard origin/master 现在,我可以一次调用并执行命令!nnn,例如: !755 git status # On branch master nothing to commit, working directory clean 我的问题是:我该如何调出编号的历史记录命令并停留在命令行上进行编辑,而不是立即按原样执行(这样做的方式)!,以便我可以更改返回之前的几项内容?


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.