我们知道,可以在shell的命令行中,
在键入命令时,可
1:进行修改。
2:使用历史列表。
3:使用自动补全!
这里之所以能够实现这些功能,是因为: “命令行编辑”,
除了 C-shell不支持该特性,bash shell,korn shell,tcshell都支持!
Shell允许使用vi命令,或者emacs命令查看和修改在命令行上键入的内容以及历史列表,一次只允许使用一种编辑器(vi|emacs),可通过shell选项来设置”
linux 命令编辑默认是使用 emacs。
1.命令行编辑修改
# 删除字符命令:
^H | ^? | Backspace | delete
^W :删除一个词。
^U : 删除当前光标之前的所有字符。
# 移动光标命令:
^A : 移动到最开始的位置。
^E :移动到最后面的位置。
2.命令行的上下移动
bash,tcsh支持,但korn shell & C-shell不支持一下的键:
left | right | up | down
还有:Ctrl + P | Ctrl + N
3.命令行补齐
各种shell下能补齐的类型有:(草,Korn shell 只能补齐文件名!)
"SHELLS" "AUTOCOMPLETION" "COMPLETES NAMES OF..."
B K C T Filename completion Files and directories
B • • T Command completion Commands,including pathnames
B • • T Variable completion Variables
B • C T Userid completion Userids on your system
B • • • Hostname completion Computers on your local network
"SHELL" "COMPLETE THE WORD" "DISPLAY ALL POSSIBILITIES"
Bash <Tab> <Tab><Tab>
Korn Shell <Esc><Esc>|<Esc>+\ <Esc>=
C-Shell <Esc> ^D
Tcsh <Tab> ^D
4.AIX 设置KSH的自动补全和历史命令功能
方法一: (当编辑器是 vi时)
set -o vi
历史命令功能:(esc -,esc +)
或者
上滚一条命令是ESC+k 下滚一条命令是ESC+j
自动补全文件名:esc + \
方法二: (当编辑器是emacs)
set -o emacs
历史命令功能(ctrl-n,ctrl-p)
自动补全文件名:
按两次esc