Maison  >  Article  >  Opération et maintenance  >  Que signifie Linux Stty ?

Que signifie Linux Stty ?

青灯夜游
青灯夜游original
2023-04-06 16:23:462485parcourir

Sous Linux, le nom complet de stty est "set tty", ce qui signifie "set tty". Il s'agit d'une commande utilisée pour afficher et modifier les paramètres liés au terminal (terminal) ; la syntaxe est "stty [option] [setting] ", la commande stty ne permet pas d'imprimer les paramètres de la ligne de terminal, et l'option "-a" peut être imprimée plus en détail.

Que signifie Linux Stty ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

La différence entre le traitement des fichiers de l'appareil et le traitement des fichiers sur disque

 Parlons d'abord de quelques sentiments plus intuitifs. Tout d'abord, lorsque vous utilisez le clavier (généralement un terminal de saisie standard), saisissez des caractères jusqu'à ce que vous saisissiez la touche Entrée (Entrée sur le clavier est la touche Entrée, pas la touche de saut de ligne ; l'ACCII pour le saut de ligne est 10 et le La touche Entrée est 13 ; le reflet des sauts de ligne dans le programme est n), et votre programme « réagira », donnant aux gens l'impression que votre programme n'accepte les données que vous saisissez après avoir appuyé sur Entrée ; programme Écrivez un printf("This is a démon"); Vous constaterez que votre prochaine sortie commence à partir du point le plus à gauche de la ligne suivante, mais les fonctions de retour chariot et de saut de ligne sont :

 r signifie retour, retour chariot, ce qui signifie que le curseur revient au début de la ligne actuelle ;

 n signifie nouvelle ligne, ce qui signifie un saut de ligne, c'est-à-dire que le curseur passe à la ligne suivante ; la position actuelle. r 为 return,回车,即使光标回到当前行的头;

  n

 Donc, cela signifie que le processus convertit votre n en rn. La raison pour laquelle cela se produit sous Linux est qu'il existe un pilote de terminal entre le périphérique terminal et le processus, qui contient les fonctions du pilote de terminal. Voici deux images pour faciliter la compréhension.

Que signifie Linux Stty ?

Que signifie Linux Stty ?

 La transmission et le traitement des données entre le processus et le terminal sont responsables du pilote de périphérique du terminal, qui fait partie du noyau. Vous pouvez modifier les paramètres du pilote de terminal via les fonctions tesetattr et tegetattr

L'extrait ci-dessus est tiré de cet article : https://blog.csdn.net/suliangkuanjiayou/article/details/86665901

Commande Linux stty

1. Fonction

 Afin de pouvoir écrire une fonction de pilote de terminal qui vous convient, vous devez modifier les paramètres dans le pilote de terminal. Il existe cette commande sous Linux, qui est stty (set tty, set tty).

  stty : utilisé pour afficher et modifier les paramètres liés à la ligne de commande du terminal (modifier et imprimer les paramètres de la ligne du terminal).

2. Syntaxe

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

Options communes

 La commande stty peut imprimer les paramètres de la ligne du terminal sans paramètres. L'ajout du paramètre -a peut imprimer des informations plus détaillées.

  stty size : peut afficher la taille du terminal, c'est-à-dire le nombre de lignes et de colonnes.

  La commande stty peut également modifier les paramètres de la ligne du terminal. Le format est le suivant : stty SETTING CHAR

  Parmi eux, SETTING peut être le suivant :

eof : fin de saisie, fin de fichier, la valeur par défaut est Ctrl+D. Par exemple : lorsque vous utilisez cat >file pour créer un fichier, appuyez sur Ctrl+D pour terminer la saisie.

effacer : Supprimez les caractères à l'envers et effacez le dernier caractère saisi. La valeur par défaut est Ctrl+ ?. Notez que la touche Retour arrière ne supprime pas les caractères par défaut.

intr : Interrompre le programme en cours, la valeur par défaut est Ctrl+C.

kill : supprimez la commande entière, supprimez la ligne entière, la valeur par défaut est Ctrl+U.

quitter : Quittez le programme en cours, la valeur par défaut est Ctrl+ ou Ctrl+|.

start : sortie de l'écran de démarrage, la valeur par défaut est Ctrl+Q.

stop : Arrête la sortie de l'écran, la valeur par défaut est Ctrl+S.

susp : le terminal arrête le programme en cours, la valeur par défaut est Ctrl+Z. De cette façon, le processus actuel deviendra un processus de fond.

werase : supprimez le dernier mot, la valeur par défaut est Ctrl+W.

  La commande stty a d'autres utilisations, telles que : stty -echo désactive l'écho (par exemple, lorsqu'elle est utilisée pour saisir un mot de passe dans un script), puis utilise stty echo pour activer l'écho.

#在命令行下,禁止输出大写的方法:
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视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Linux est-il livré avec ssh ?Article suivant:Linux est-il livré avec ssh ?