久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux stty的含義是什么

151次閱讀
沒有評論

共計 2254 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要介紹“l(fā)inux stty 的含義是什么”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“l(fā)inux stty 的含義是什么”文章能幫助大家解決問題。

在 linux 中,stty 全稱“set tty”,意思為“設置 tty”,是一個用于顯示和修改 terminal(終端)相關設置的命令;語法“stty [選項] [設置]”,stty 命令不帶參數(shù)可以打印終端行設置,加上“-a”選項可以打印得更詳細些。

設備文件處理與磁盤文件的區(qū)別

先說幾個比較直觀的感覺。首先,在你通過鍵盤(一般是標準的輸入的終端設備),輸入字符,直到你輸入的回車鍵(鍵盤上面的 Enter 為回車鍵,不是換行鍵;換行的 ACCII 為 10,回車為 13;換行在程序中的體現(xiàn)就是 \n),你的程序才會有“反應”,給人一種好像就是回車后你的程序才接受到你輸入的數(shù)據(jù);

其次,你在程序中寫一個 printf(“This is a demo\n”); 你會發(fā)現(xiàn)你的下一個輸出就是在下一行的最左邊開始輸出的,但是,回車與換行的本身功能是:

\r 為 return,回車,即使光標回到當前行的頭;

\n 為 newline,換行,即光標移動到當前位置的下一行。

所以,說明進程將你的 \n 轉(zhuǎn)化為了 \r\n。而在 Linux 下出現(xiàn)這些的原因,就是因為在終端設備與進程之間的中間,還有一個終端驅(qū)動器,里面有終端驅(qū)動函數(shù)。這里有兩張圖,便于大家理解。

進程和終端間的數(shù)據(jù)傳輸和數(shù)據(jù)處理是由終端設備驅(qū)動程序來負責的,終端驅(qū)動程序是內(nèi)核的一部分。可以通過 tesetattr 和 tegetattr 函數(shù)來改變終端驅(qū)動程序里里面的設置

Linux stty 命令

1、作用

為了自己能夠編寫適合自己的終端驅(qū)動函數(shù),即去修改終端驅(qū)動程序里面的設置。在 Linux 中有這個命令,就是 stty(set tty,設置 tty)。

stty:用于顯示和修改終端命令行的相關設置(change and print terminal line settings)。

2、語法

stty [選項] [設置]
stty [選項]

常用選項

stty 命令不帶參數(shù)可以打印終端行設置,加上 -a 參數(shù)可以打印得更詳細些。

stty size:可以顯示終端的大小,即行數(shù)和列數(shù)。

stty 命令還可以更改終端行的設置,格式如下:stty SETTING CHAR

其中,SETTING 可以是如下:

eof : 輸入結束,文件結束,默認為 Ctrl+D。比如:用 cat file 來創(chuàng)建文件時,按 Ctrl+ D 來結束輸入。

erase : 向后刪除字符,擦除最后一個輸入字符,默認為 Ctrl+?。注意默認情況下退格鍵 Backspace 不是刪除字符。

intr : 中斷當前程序,默認為 Ctrl+C。

kill : 刪除整條命令,刪除整行,默認為 Ctrl+U。

quit : 退出當前程序,默認為 Ctrl+\ 或 Ctrl+|。

start : 啟動屏幕輸出,默認為 Ctrl+Q。

stop : 停止屏幕輸出,默認為 Ctrl+S。

susp : terminal stop 當前程序,默認為 Ctrl+Z。這樣當前進程就會變成后臺進程了。

werase:刪除最后一個單詞,默認為 Ctrl+W。

stty 命令還有一些其他用法,如:stty -echo 關閉回顯(比如在腳本中用于輸入密碼時),然后再用 stty echo 打開回顯。

# 在命令行下,禁止輸出大寫的方法:
stty iuclc     #開啟
stty -iuclc    #恢復

# 在命令行下禁止輸出小寫:
stty olcuc    # 開啟
stty -olcuc   #恢復

# 打印出終端的行數(shù)和列數(shù):
stty size

# 改變 Ctrl+ D 的方法:
stty eof string
#系統(tǒng)默認是 Ctrl+ D 來表示文件的結束,而通過這種方法,可以改變!

# 屏蔽顯示:
stty -echo   #禁止回顯
stty echo    #打開回顯
# 測試方法:
stty -echo;read;stty echo;read

# 忽略回車符:
stty igncr     #開啟
stty -igncr    # 恢復

3、使用示例

下面以 xilinx 的串口終端為例說明 stty 命令的使用方法。

在 vivad0 配置了兩個串口分別是 UART0 和 UART1,petalinx 中設置 UART1 為調(diào)試串口,UART0 和 UART1 分別對應分別對應 /dev/ttyPS1 和 /dev/ttyPS0,可以用 who 命令看一下當前終端使用的是哪個串口:

可以看到當前終端使用的是 ttyPS0

用 dmesg | grep ttyPS* 可以查看當前終端對應哪個串口

可以看到 ttyPS0 對應串口的物理地址是 0xff010000,從設備樹中根據(jù)這個物理地址可以查到是哪個串口

1)查看當前終端信息:

stty -a

這個打印了當前終端的信息,一些參數(shù)解釋如下:

speed 115200 baud:波特率是 115200

cs8:數(shù)據(jù)是 8 位

ixon:流控打開,如果是 -ixon 則表示流控關閉

clocal:使能 DTR/DTS

-parodd:失能奇校驗

-parenb:失能奇偶校驗

2)設置波特率 115200,數(shù)據(jù)位 8 位:

stty -F /dev/ttyPS1 115200 cs8

3)通過 UART1 發(fā)送數(shù)據(jù):

echo  qwert    /dev/ttyPS1

4)查看 UART1 接受的數(shù)據(jù)

cat /dev/ttyPS1

通過串口工具向 UART1 發(fā)送數(shù)據(jù),即可看到接受到的信息

關于“l(fā)inux stty 的含義是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注丸趣 TV 行業(yè)資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-12發(fā)表,共計2254字。
轉(zhuǎn)載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 临西县| 库尔勒市| 大渡口区| 夹江县| 华阴市| 北海市| 土默特左旗| 莱州市| 永年县| 洞口县| 曲阳县| 五河县| 凉山| 虎林市| 榆中县| 延吉市| 屏东县| 江都市| 曲沃县| 开鲁县| 德令哈市| 中山市| 石柱| 陆河县| 巴彦淖尔市| 遂溪县| 廉江市| 重庆市| 客服| 娄烦县| 绵竹市| 绩溪县| 城口县| 绵阳市| 吉林市| 临邑县| 白山市| 天津市| 甘洛县| 重庆市| 咸丰县|