在Linux的Bash环境中,可以比较方便的搜索和执行最近输入过的命令,其实,在Unix的Ksh环境中,也可以做到,不过方法有所不同。总结这两种shell环境下相关的历史命令操作如下:


[plain] 
​​ view plain​​​
​​​ copy​​
1. #Bash
2. history #显示历史命令
3. history 10 #显示最近的10条历史命令
4. !! #显示并执行上一条历史命令
5. !27 #显示并执行第27条历史命令
6. !ps #显示并执行上一条以ps开头的命令
7. #ctrl + R 可以反向搜索包含特定字符串的历史命令,重复输入可以继续向前搜索


[plain] 
​​ view plain​​​
​​​ copy​​
1. #Ksh
2. history #显示历史命令
3. history 1000 1050 #显示第1000到1050条的历史命令
4. history 1000 #显示第1000以后的历史命令
5. history -50 #显示最近的50条历史命令
6. r #显示并执行上一条历史命令
7. r 27 #显示并执行第27条历史命令
8. r ps #显示并执行上一条以ps开头的命令



另外,在Ksh中,按​​ESC+\​​​同样可以补全文件名。而按​​ESC+K​​​则可以显示上一条命令,这时候,可以继续按K或J前后翻滚历史命令,甚至可以使用类似vi里的一些命令如​​x​​​删除、​​r​​替换等操作。


本文出自

​夜惊心的博客​​,转载请保留出处