Questions tagged «command-history»

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


1
滚动到终端上的最后一个命令?(如OS X终端标记)
Mac OS X终端标记非常有用。 例如,当我键入一个回显大量输出的命令时,以开头很容易Cmd+Up。它会滚动到最后一个命令,并强调它,因为有选项自动标记提示线,并Cmd+Up会滚动到最后关口。 是否有任何具有此功能的终端模拟器?或一些插件,随便什么。您如何快速转到最后一个命令并突出显示它?

2
bash_history:注释掉危险的命令:#
为了防止在bash历史记录中记录“危险”命令,我在.bashrc文件中添加了以下行: HISTIGNORE='rm *:mv *:cp *:cat*>*:pv*>*' 这行之有效,但有副作用:我看不到在计算机上执行的命令的完整历史记录。假设我有几台用于实验的机器,并且希望能够看到所有执行的命令。我将使用bash内部history显示执行的命令,也许还可以显示今天的日期的grep: history | grep Sep-28 我想做的是也记录“危险”命令,但是#在行的开头放置一个,这样,如果我偶然从历史记录中错误地执行了该命令,将不会造成任何损失。 我不知道这是否可能。 更新和说明: 对我来说这是个问题的主要原因是,我通常从多个终端连接到我的机器,并且在一个终端上执行的任何命令都会立即读入其他终端的历史记录中。这是通过实现 PROMPT_COMMAND="history -a; history -c; history -r" 假设我有两个开放的终端。在一个我有一些cat /dev/foo > file.out进程正在运行。在第二个中,我使用查看进度ls -lAhF。我一直ls通过按Up和ENTER(即历史记录中的最后一条命令)重复操作。第一个命令完成后,历史记录中的最后一个命令将不再是ls,而是cat /dev/foo > file.out。如果我不小心,我将再次启动cat并覆盖file.out。 我想实现的是cat命令将以开头#,这样它就不会被执行。但是,我仍然会在历史记录中看到它,并且可以通过取消注释它来重用它(如果这是一个长命令)。


3
当前会话的bash历史记录
也许我忽略了一些事情,但是有没有办法像您正在使用的当前会话那样获取您当前的bash历史记录 如果我跑 ssh host $ pwd $ ls $ cd /tmp 我只想看那三个命令,别无其他

3
如何设置历史记录召回的命令数
我正在使用bash。要浏览我的命令历史记录,我正在调用该history命令,我相信它正在调用同名的Gnu程序。(我不知道是否有更好的bash特定方式)。 在我的.bashrc中,我当前有一行export PROMPT_COMMAND='history -a'可以保存我正在运行的多个bash会话中的历史记录。 如果我进行历史记录,那么我目前仅看到524个条目。这是可配置的吗?我想将其增加到更大的数量,例如2000。

3
乱七八糟的历史
在gui模式下,当用户打开多个终端时,终端如何重写该用户的历史文件?我问的原因是,在每个终端中,用户最终有可能执行不同的命令。那么,历史文件最终会保存来自所有终端的命令还是仅保存要打开的第一个终端的命令?还是有其他某种方案可以用来解决这种情况?

1
退出一个终端时更新其他终端上的bash历史记录
我知道这个问题并不是很模糊,因为这里的问题一直在更新(这里重复)。 我想要达到的目标有些不同。我不喜欢每次ls输入(history -a; history -c; history -r)时都会立即重写文件的想法。 我想在退出时更新文件。这很简单(实际上是默认设置),但是您需要添加而不是重写: shopt -s histappend 现在,当终端关闭时,我想让所有其他保持打开状态以了解更新。 我更喜欢这样做,而不必检查我键入的$PS1每个内容command。我认为捕获某种信号会更好。你会怎么做?如果不可能,也许简单cronjob吗? 我们如何解决这个难题?

1
带有时间戳的Bash历史记录
我想在我的Bash $ HISTFILE中登录的命令上保留时间戳,可以吗? 我没有将其设置man bash为信息源。 我的其他选择如下: function thebanana() { local -r -a bash_commands=( "ls" # ... more coconut commands ) for bash_command in "${bash_commands[@]}"; do printf "${bash_command}" printf ":" done } export HISTFILE=banana export HISTIGNORE="$(thebanana)" export HISTSIZE=999999 export HISTFILESIZE=999999999 export HISTCONTROL=ignoredups:erasedups 我应该提到我在OS X Mountain Lion上(叹气)。uname -a给我: Darwin CoconutMac.local 12.2.0 Darwin …


5
如何调用前一个命令(不执行)以进行更改?
我不记得在不运行命令的情况下可以获得最后一个命令的技巧: 假设我希望能够在按向上箭头键并修改命令时访问命令!1255。那么,调用该命令,使其在命令行中显示但不执行,然后通过向上箭头键进行访问的诀窍是什么呢? 我尝试放置回显,但是在命令之前有一个回显,我不记得如何正确执行它。

1
HISTTIMEFORMAT语法
有很多bash指南,包括增加线路,如HISTTIMEFORMAT='%d/%m/%y %T '或HISTTIMEFORMAT="%F %T "对~/.bashrc或/etc/bash.bashrc。 最后报价前总是有一个空格。例如,永远不会HISTTIMEFORMAT='%d/%m/%y %T'。 为什么是这样?

3
为什么感叹号`!`有时会使bash不高兴?
我意识到这!在命令行历史记录的上下文中在命令行上具有特殊意义,但是除此之外,在运行脚本中,感叹号有时可能会导致解析错误。 我认为与有关event,但我不知道事件是什么或事件是什么。即使这样,同一命令在不同情况下的行为也可能不同。 下面的最后一个示例导致错误;但是为什么当相同的代码在命令替换之外起作用时呢?..使用GNU bash 4.1.5 # This works, with or without a space between ! and p { echo -e "foo\nbar" | sed -nre '/foo/! p' echo -e "foo\nbar" | sed -nre '/foo/!p'; } # bar # bar # This works, works when there is a space between ! and …


4
如何从zsh历史记录中删除最后一个命令(或当前命令以获得奖励)
当然,有一种超级简单的智能方法可以执行此操作,但是由于zshell中的历史记录似乎是fc的别名,因此无法使用如何从历史记录中删除单行中提到的技巧。。 关于如何执行此操作的任何指示?我的用例是从历史记录中删除最后一个发出的命令,以使其停止自动完成(通常是在您输错了某些内容并不断显示时)。 我知道我可以通过执行以下操作获得最后发出的命令 history | tail -n 1,但历史记录-d无效,并且我找不到有关zsh的适当文档。

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.