我有很多命令想要再次运行,但命令太多了,用向上箭头键移动到它们太长了。是否可以将其放入 cat/tail 命令中并将其传送到文件中?
答案1
您可以使用历史命令:
history > my_file
答案2
键入 Ctrl-R,然后键入命令的前几个字母。
答案3
将其添加到 ~/.inputrc 将使向上和向下箭头循环显示与行首匹配的命令:
"\e[A": history-search-backward
"\e[B": history-search-forward
我也经常使用这些功能:
h() {
if [ $# = 0 ]; then
history 33 | sed '$d'
else
history | grep -iEF "$*" | grep -v '^ *[0-9]* *h '
fi
}
r() {
history ${1-200} | sed 's/^ *[0-9]* *//' | tail -r > /tmp/recent
open /tmp/recent -e
}
如果您添加" ": magic-space
到 .inputrc,您可以通过键入!1234
和空格来插入命令 1234。但这也会使空格在 irb 和 gnuplot 中的交互模式中停止工作。