標籤:http io ar os 使用 sp for 檔案 on
from:http://linux.chinaunix.net/techdoc/system/2007/11/23/973027.shtml
在使用linux/unix的命令列終端時,有時候會碰到鍵盤的退格鍵、刪除鍵、Home鍵、方向鍵等不聽使喚的現象:
按Backspace鍵,可能冒出來個^?
按Delete鍵,卻出來個^[[3~
按Home鍵,卻出來個^[[1~
按向左方向鍵,卻出來個^[[D
……
以下是在大多數shell終端都可以使用的快速鍵,可以解決上述游標及字元刪除等控制功能。
── 曾嘗試使用stty解決Home鍵等問題,未果(可參考:http://www.ifpubs.com/books/aix52/stty0.htm)
註:如果使用圖形環境的偽終端(如gnome-terminal),以下有可能和視窗程序的一部分快速鍵產生衝突。
****************************************************************************************************
常用的快速鍵:
Ctrl + d 刪除一個字元,相當於通常的Delete鍵(命令列若無任何字元,則相當於exit;處理多行標準輸入時也表示eof)
Ctrl + h 退格刪除一個字元,相當於通常的Backspace鍵
Ctrl + u 刪除游標之前到行首的字元
Ctrl + k 刪除游標之前到行尾的字元
Ctrl + c 取消當前行輸入的命令,相當於Ctrl + Break
Ctrl + a 游標移動到行首(Ahead of line),相當於通常的Home鍵
Ctrl + e 游標移動到行尾(End of line)
Ctrl + f 游標向前(Forward)移動一個字元位置
Ctrl + b 游標往回(Backward)移動一個字元位置
Ctrl + l 清屏,相當於執行clear命令
Ctrl + p 調出命令曆史中的前一條(Previous)命令,相當於通常的上箭頭
Ctrl + n 調出命令曆史中的下一條(Next)命令,相當於通常的上箭頭
Ctrl + r 顯示:號提示,根據使用者輸入尋找相關曆史命令(reverse-i-search)
****************************************************************************************************
次常用快速鍵:
Alt + f 游標向前(Forward)移動到下一個單詞
Alt + b 游標往回(Backward)移動到前一個單詞
Ctrl + w 刪除從游標位置前到當前所處單詞(Word)的開頭
Alt + d 刪除從游標位置到當前所處單詞的末尾
Ctrl + y 粘貼最後一次被刪除的單詞
****************************************************************************************************
附錄: stty命令參考 來源:http://www.ifpubs.com/books/aix52/stty0.htm
命令參考大全,卷 5,s - u
stty 命令
用途
設定、複位和報告工作站巨集指令引數。
文法
stty [ -a ] [ -g ] [ Options ]
描述
stty 命令對當前為標準輸入的裝置設定某些 I/O 選項。該命令將輸出寫到當前為標準輸出的裝置中。
這個作業系統的版本使用標準 《X/Open 可移植性指南,發行版 4》 介面來控制終端,保持與 POSIX 和 BSD 介面的相容性。stty 命令支援 POSIX 和 BSD 的適應選項,但強烈推薦使用 POSIX 選項。同樣提供廢棄的 BSD 選項列表(帶有對應的 POSIX 選項)。
輸入以下命令時,可以將 tty 裝置的標準輸入重新導向:
stty -a l, L w, W
b, B m, M x, X
c, C n, N y, Y
d, D o, O z, Z
e, E p, P [
f, F q, Q \
g, G r, R ]
h, H s, S ^
i, I t, T _
j, J u, U ?
k, K v, V @
組合模式
cooked 請參閱 -raw 選項。
ek 分別將 ERASE 和 KILL 字元設定為 Ctrl-H 和 Ctrl-U 按鍵順序。
evenp 啟用 parenb 和 cs7。
-evenp 禁用 parenb 並設定 cs8。
lcase, LCASE 設定 xcase,iuclc 和 olcuc。在工作站只以大寫字元使用。
-lcase, -LCASE 設定 -xcase、-iuclc 和 -olcuc。
nl 設定 -icrnl 和 -onlcr。
-nl 設定 icrnl、 onlcr、-inlcr、-igncr、-ocrnl 和 -onlret。
oddp 啟用 parenb、 cs7 和 parodd。
-oddp 禁用 parenb 並設定 cs8。
parity 請參閱 evenp 選項。
-parity 請參閱 -evenp 選項。
sane 將參數重新設定為合理的值。
raw 允許原始模式輸入(不包括輸入處理,例如 erase、kill 或 interrupt);傳回奇偶(校正)位。
-raw 允許規範輸入方式。
tabs 保留定位字元。
-tabs, tab3 列印時將定位字元替換為空白格。
視窗大小
cols n, columns n 將終端(視窗)大小記錄為有 n 列。
rows n 將終端(視窗)大小記錄為有 n 行。
size 將終端(視窗)大小列印到標準輸出(先是行,再是列)中。
廢棄選項
stty 命令支援以下 BSD 選項。 對於每個選項,都給出了建議的 POSIX 選項。
all 使用 stty -a 命令顯示所有當前設定。
crt 使用 sane 選項將參數重新設定為合理的值。
crtbs 使用 -echoe 選項。
crterase 使用 echoe 選項。
-crterase 使用 -echoe 選項。
crtkill 使用 echoke 選項。
-crtkill 使用 echok 和 -echoke 選項。
ctlecho 使用 echoctl 選項。
-ctlecho 使用 -echoctl 選項。
decctlq 使用 -ixany 選項。
-decctlq 使用 ixany 選項。
even 使用 evenp 選項。
-even 使用 -evenp 選項。
everything 使用 stty -a 命令顯示所有當前設定。
litout 使用 -opost 選項。
-litout 使用 opost 選項。
odd 使用 oddp 選項。
-odd 使用 -oddp 選項。
pass8 使用 -istrip 選項。
-pass8 使用 istrip 選項。
prterase 使用 echoprt 選項。
speed 使用 stty 命令顯示當前設定。
tandem 使用 ixoff 選項。
-tandem 使用 -ixoff 選項。
樣本
要顯示您的工作站配置的簡短列表,請輸入:
stty這將列出與預設值不同的設定。
要顯示您的工作站配置的完整列表,請輸入:
stty -a
要啟用按鍵順序來停止列表滾動出螢幕,請輸入:
stty ixon ixany這將設定 ixon 模式,從而可以通過按下 Ctrl-S 按鍵順序來停止列表的滾動。ixany 標誌允許按任意鍵來恢複列表的滾動。正常的工作站配置包含 ixon 和 ixany 標誌,使您可以用 Ctrl-S 按鍵順序停止列表的滾動,而只有 Ctrl-Q 按鍵順序才能使列表重新滾動。
要重新設定搞亂的配置,請輸入:
Ctrl-J stty sane Ctrl-J
在命令前後按 Ctrl-J 按鍵順序,而不是按 Enter 鍵。當控制 Enter 鍵處理的參數搞亂時,系統通常能識別 Ctrl-J 按鍵順序。
有時螢幕上顯示的資訊可能看上去很奇怪,或當您按 Enter 鍵時系統不反應。當您使用 stty 命令,而它帶有不相容的參數或參數的操作難以理解時,可能會發生這種情況。當面向螢幕的應用程式異常結束並且無法複位工作站配置時,也可能發生這種情況。
輸入 stty sane 命令設定合理的配置,但它可能與您的正常配置略有不同。
要儲存和恢複終端的配置:
OLDCONFIG=`stty -g` # save configuration
stty -echo # do not display password
echo "Enter password: \c"
read PASSWD # get the password
stty $OLDCONFIG # restore configuration該命令儲存工作站的配置、關閉回送訊號、讀取密碼並恢複原始配置。
輸入 stty - echo 命令關閉回送訊號,這意味著當您在鍵盤上輸入密碼時,密碼並不出現在螢幕上。此操作與 echo 命令(該命令在螢幕上顯示訊息)毫無關係。
檔案
/usr/bin/stty 包含 stty 命令。
相關資訊
terminfo 檔案、tty 特殊檔案 termios.h 標頭檔。
AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 TTY Subsystem Overview。
在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 ldterm Line Discipline。
AIX 5L Version 5.2 National Language Support Guide and Reference 中的 National Language Support。
轉:linux/unix命令列終端的游標及字元控制快速鍵