在Linux的Bash环境中,可以比较方便的搜索和执行最近输入过的命令,其实,在Unix的Ksh环境中,也可以做到,不过方法有所不同。总结这两种shell环境下相关的历史命令操作如下:
#Bash history #显示历史命令 history 10 #显示最近的10条历史命令 !! #显示并执行上一条历史命令 !27 #显示并执行第27条历史命令 !-2 #显示并执行倒数第2条历史命令 !ps #显示并执行上一条以ps开头的命令 !ps:p #显示上一条以ps开头的命令 !?pass #显示并执行上一条包含pass的命令 ^zero^null #替换上一条命令的zero为null执行 #ctrl + R 可以反向搜索包含特定字符串的历史命令,重复输入可以继续向前搜索 #ESC + . 可以自动输入上一条命令的最后一个参数,按.可继续往上翻
#Ksh history #显示历史命令 history 1000 1050 #显示第1000到1050条的历史命令 history 1000 #显示第1000以后的历史命令 history -50 #显示最近的50条历史命令 r #显示并执行上一条历史命令 r 27 #显示并执行第27条历史命令 r ps #显示并执行上一条以ps开头的命令
另外,在Ksh中,按ESC+\同样可以补全文件名。而按ESC+K则可以显示上一条命令,这时候,可以继续按K或J前后翻滚历史命令,甚至可以使用类似vi里的一些命令如x删除、r替换等操作。
ESC+\
ESC+K
x
r