>  기사  >  운영 및 유지보수  >  리눅스 stty는 무슨 뜻인가요?

리눅스 stty는 무슨 뜻인가요?

青灯夜游
青灯夜游원래의
2023-04-06 16:23:462573검색

Linux에서 stty의 전체 이름은 "set tty"라는 뜻으로 터미널(terminal) 관련 설정을 표시하고 수정하는 데 사용되는 명령이며 구문은 "stty [옵션] [설정]입니다. ", stty 명령은 매개변수로 터미널 라인 설정을 인쇄할 수 없으며, "-a" 옵션을 사용하여 더 자세히 인쇄할 수 있습니다.

리눅스 stty는 무슨 뜻인가요?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

기기 파일 처리와 디스크 파일 처리의 차이점

 몇 가지 직관적인 느낌에 대해 먼저 이야기해 보겠습니다. 먼저 키보드(보통 표준입력단말기)를 사용할 때 엔터키가 입력될 때까지 문자를 입력한다. Enter 키는 13입니다. 프로그램에서 줄 바꿈이 반영되면 프로그램이 "반응"하여 사람들에게 Enter 키를 누른 후에 입력한 데이터만 허용한다는 인상을 줍니다. 프로그램 쓰기 printf("This is a Demon"); 다음 출력은 다음 줄의 가장 왼쪽 지점에서 시작되지만 캐리지 리턴 및 줄 바꿈 기능은 다음과 같습니다.

 r는 리턴, 캐리지 리턴을 의미하며 이는 커서가 현재 줄의 선두로 돌아간다는 것을 의미합니다.

 n은 개행, 줄바꿈을 의미합니다. 즉, 커서가 현재 줄의 다음 줄로 이동합니다. 위치. r 为 return,回车,即使光标回到当前行的头;

  n

 즉, 프로세스가 n을 rn으로 변환한다는 의미입니다. Linux에서 이러한 현상이 발생하는 이유는 터미널 장치와 프로세스 사이에 터미널 드라이버 기능을 포함하는 터미널 드라이버가 있기 때문입니다. 이해를 돕기 위해 두 장의 사진을 올려드립니다.

리눅스 stty는 무슨 뜻인가요?

리눅스 stty는 무슨 뜻인가요?

 프로세스와 터미널 사이의 데이터 전송과 데이터 처리는 커널의 일부인 터미널 장치 드라이버를 담당합니다. tesetattr 및 tegetattr 기능을 통해 터미널 드라이버의 설정을 변경할 수 있습니다

 위의 발췌문은 이 기사에서 발췌한 것입니다: https://blog.csdn.net/suliangkuanjiayou/article/details/86665901

Linux stty command

1. 기능

 자신에게 맞는 터미널 드라이버 함수를 작성하기 위해서는 터미널 드라이버에서 설정을 수정해야 합니다. Linux에는 stty(set tty, set tty)라는 명령이 있습니다.

  stty: 터미널 명령줄 관련 설정을 표시하고 수정하는 데 사용됩니다(터미널 줄 설정 변경 및 인쇄).

2. 구문

stty [选项] [设置]
stty [选项]

공통 옵션

 stty 명령은 매개변수 없이 터미널 라인 설정을 인쇄할 수 있습니다. -a 매개변수를 추가하면 더 자세한 정보를 인쇄할 수 있습니다.

  stty 크기: 터미널의 크기, 즉 행과 열의 수를 표시할 수 있습니다.

  stty 명령은 터미널 라인의 설정도 변경할 수 있습니다. 형식은 다음과 같습니다: stty SETTING CHAR

  그 중 SETTING은 다음과 같습니다:

eof: 입력 끝, 파일 끝, 기본값은 Ctrl+D. 예를 들어, cat >file을 사용하여 파일을 생성하는 경우 Ctrl+D를 눌러 입력을 종료합니다.

erase: 문자를 뒤로 삭제하고 마지막 입력 문자를 지웁니다. 기본값은 Ctrl+?입니다. 백스페이스 키는 기본적으로 문자를 삭제하지 않습니다.

intr: 현재 프로그램을 중단합니다. 기본값은 Ctrl+C입니다.

kill: 전체 명령 삭제, 전체 줄 삭제, 기본값은 Ctrl+U입니다.

quit: 현재 프로그램을 종료합니다. 기본값은 Ctrl+ 또는 Ctrl+|입니다.

start: 화면 출력을 시작합니다. 기본값은 Ctrl+Q입니다.

stop: 화면 출력을 중지합니다. 기본값은 Ctrl+S입니다.

susp: 터미널은 현재 프로그램을 중지합니다. 기본값은 Ctrl+Z입니다. 이런 방식으로 현재 프로세스는 백그라운드 프로세스가 됩니다.

werase: 마지막 단어를 삭제합니다. 기본값은 Ctrl+W입니다.

 stty 명령에는 다음과 같은 다른 용도가 있습니다. stty -echo 에코를 끈 다음(예: 스크립트에 비밀번호를 입력하는 데 사용되는 경우) stty echo를 사용하여 에코를 켭니다.

#在命令行下,禁止输出大写的方法:
stty iuclc     #开启
stty -iuclc    #恢复

#在命令行下禁止输出小写:
stty olcuc    #开启
stty -olcuc   #恢复

#打印出终端的行数和列数:
stty size

#改变Ctrl+D的方法:
stty eof "string"
#系统默认是Ctrl+D来表示文件的结束,而通过这种方法,可以改变!

#屏蔽显示:
stty -echo   #禁止回显
stty echo    #打开回显
#测试方法:
stty -echo;read;stty echo;read

#忽略回车符:
stty igncr     #开启
stty -igncr    #恢复

3、使用示例

下面以xilinx的串口终端为例说明stty命令的使用方法。

在vivad0配置了两个串口分别是UART0和UART1,petalinx中设置UART1为调试串口,UART0和UART1分别对应分别对应/dev/ttyPS1和/dev/ttyPS0,可以用who命令看一下当前终端使用的是哪个串口:

可以看到当前终端使用的是ttyPS0

用 dmesg | grep ttyPS*可以查看当前终端对应哪个串口

可以看到ttyPS0对应串口的物理地址是0xff010000,从设备树中根据这个物理地址可以查到是哪个串口

1)查看当前终端信息:

stty -a

这个打印了当前终端的信息,一些参数解释如下:

speed 115200 baud:波特率是115200

cs8:数据是8位

ixon:流控打开,如果是-ixon则表示流控关闭

clocal:使能DTR/DTS

-parodd:失能奇校验

-parenb:失能奇偶校验

2)设置波特率115200,数据位8位:

  stty -F /dev/ttyPS1 115200 cs8

3)通过UART1发送数据:

  echo "qwert" > /dev/ttyPS1

4)查看UART1接受的数据

cat /dev/ttyPS1

通过串口工具向UART1发送数据,即可看到接受到的信息

  

相关推荐:《Linux视频教程

위 내용은 리눅스 stty는 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.