您好,登錄后才能下訂單哦!
UNIX系統(tǒng)的命令很多,下面講解stty. 該命令是一個用來改變并打印終端行設(shè)置的常用命令。
1、stty(set tty,設(shè)置tty)命令用于檢查和修改當前注冊的終端的通信參數(shù)。
UNIX系統(tǒng)為鍵盤的輸入和終端的輸出提供了重要的控制手段,可以通過stty命令對特定終端或通信線路設(shè)置選項。
可以在stty命令中使用-a查看當前注冊終端的設(shè)置情況。
$ stty -a
Speed 9600 baud; line =0;intr= DEL;quit = ^;erase = ^h;kill =^U; eof = ^d;start=^q;stop=^s
-parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon ixany -ixoff
isig icanon -xcase echo echoe echok -echonl -noflsh
opost -olcuc onlcr -ocrnl -onocr onlret ofill ofdel tab3
需要時,這里顯示的各種選擇都可以重新配置。每種終端選項都有自己的名字(如ixon),其中大多數(shù)要么被設(shè)置要么被清除。在stty中相應(yīng)選項前冠以負號(-),該選項被清除(禁止);如果無負號,該選項被設(shè)置。
當希望修改各選擇的值時,應(yīng)在stty命令中正確書寫相應(yīng)選項。如命令
$ stty -ixon
將流控制設(shè)置為OFF,而命令
$ stty ixon
則將其置為ON。在stty命令中可以同時設(shè)置多個選項:
$ stty ixon 1200
該命令將終端設(shè)置為1200波特,并將流控制置為ON。
當選項的列表較長時,應(yīng)當小心所做的修改造成會話的混亂。典型的情況下,終端在設(shè)置不正確時完全不能工作。經(jīng)常出現(xiàn)的現(xiàn)象是列輸出顯示或用戶的擊鍵不能被shell正確接受。有時NEWLINE可能只顯示或走一行但不回行,即用戶輸入的NEWLINE符不能被shell正確讀取。建立新注冊標識的過程通常建立了正確的stty選項,在日常使用中很少需要修改。但如果變量TERM的設(shè)置不正確或用戶希望使用新的終端或通信渠道(如局域網(wǎng)),則需要修改stty的選項。
如果你在某個機器中注冊后終端操作正常,但后來因故發(fā)生了混亂,那么最佳的解決方法是先注銷然后再向系統(tǒng)注冊。因為注冊時系統(tǒng)會重新設(shè)置相應(yīng)選項。還有一種不太嚴格的解決辦法是:
$ stty sane
命令sane最常出現(xiàn)在大多數(shù)終端的stty選項的集合中。它并不改變通信信道的速率,但當終端發(fā)生混亂時,通常能夠產(chǎn)生有益的效果。命令sane可能使全屏幕應(yīng)用程序(如vi)不能正確工作,而且在設(shè)置了選項sane之后,如果不能解決任何問題,就應(yīng)立即注銷,然后再注冊。如果終端在注冊后依然不能正確工作,用戶的注冊可能是不成功的。
如果終端已經(jīng)混亂,NEWLINE鍵不能結(jié)束命令行,可以用CTRL-J代替NEWLINE直到用戶執(zhí)行stty sane。此時,再用CTRL-J終止stty sane,使系統(tǒng)恢復正常。
stty命令的幾項主要選項功能為:
選項parenb使終端進行奇偶校驗,-parenb則是禁止校驗;
選項cs5、cs6、cs7和cs8分別將字符大小設(shè)為5、6、7和8比特;
選項300、600、1200、2400、4800、9600和19200設(shè)置波特率;
cstopb和-cstopb分別設(shè)置兩個或一個停止位;
tabs使系統(tǒng)使用制表符而不是空格序列,因此減少了輸出量,選項-tabs僅使用空格,當終端不能正確處理制表符(tab)時應(yīng)使用該項。
2、stty還可用于控制一些具有特殊控制功能的鍵。
1)在命令行下,禁止輸出大寫的方法
stty iuclc #開啟
stty -iuclc #恢復
2)在命令行下禁止輸出小寫
stty olcuc #開啟
stty -olcuc#恢復
3)打印出終端的行數(shù)和列數(shù)
stty size
4)改變ctrl+D的方法:
系統(tǒng)可能已經(jīng)使用CTRL-D作為文件結(jié)束符,但你可能喜歡使用CTRL-C。
stty eof "string"
如:$ stty eof ^c
按下CTRL-C就顯示為^c. 可以直接輸入控制字符,在其前面冠以反斜線和脫字符( ^)。系統(tǒng)默認是ctrl+D來表示文件的結(jié)束, 通過這種方法,可以改變!
5)屏蔽顯示
stty -echo #禁止回顯
stty echo #打開回顯
測試方法:
stty -echo;read;stty echo;read
6)忽略回車符
stty igncr #開啟
stty -igncr#恢復
7)恢復使用退格鍵
$ stty erase ^h
注:按下Backspace就出現(xiàn)了^h,
solaris系統(tǒng)默認是不支持Backspace,用這個命令改后就能正常使用了,方便多了。
8) 可以設(shè)置一個會話期,使得當自己鍵入一個退格鍵時,系統(tǒng)用退格、刪除和退格序列響應(yīng)。此時可以看到用退格鍵覆蓋的字符從顯示中消失了,這樣更符合計算機的慣例。使用命令
$ stty echo
可使這一特性設(shè)置為ON。
終端方式及其管理是UNIX系統(tǒng)中比較困難的內(nèi)容之一,系統(tǒng)的用戶手冊中有stty選項的全部清單。在進行嘗試之前,應(yīng)當查閱手冊,仔細分析,以免給你的工作帶來麻煩。
oracle視頻教程請關(guān)注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。