zoukankan      html  css  js  c++  java
  • Linux 的终端及设置

    Linux 的终端及设置

    终端是一种字符型设备,有多种类型,通常使用tty 来简称各种类型的终端设备。终端特殊设备文件一般有以下几种:

    • /dev/ttySn 串行端口终端 (Serial Port Terminal),使用计算机串行端口连接的终端设备。设备号分别是(4,0),(4,1)等,分别对应于DOS 系统下的COM1,COM2等
    • /dev/pty/ 伪终端 (Pseudo Terminal),是成对的逻辑终端设备.
    • /dev/tty 控制终端 (Controlling Terminal),/dev/tty 有些类似于到实际所使用终端设备的一个联接.可以使用命令”ps –ax ”来查看进程与哪个控制终端相连使用命令”tty ”可以查看它具体对应哪个实际终端设备。
    • /dev/console 控制台终端/dev/ttyn (Console),计算机显示器通常被称为控制台终端.

    stty(setting tty)来设置终端机的输入按键,快捷键等。
    $ stty size //打印出终端的行数和列数
    stty -a 列出目前环境中所有按键列表。其中^表示[Ctrl]按键的意思。
    $ stty -a

    • intr = ^C; 发送interrupt中断信号,多用于中断某个程序(ctrl-c)
    • quit = ^; 发送quit退出信号(ctrl-)
    • erase = ^?; 向后删除字符(delete)
    • kill = ^U; 在命令终端下,删除整行的字符(ctrl-u)
    • eof = ^D; EOF(End Of File)输入结束符(ctrl-d)
    • eol = <undef>;
    • eol2 = <undef>;
    • swtch = <undef>;
    • start = ^Q; 恢复屏幕输出(ctrl-q)
    • stop = ^S; 暂停屏幕输出(ctrl-s)
    • susp = ^Z; 发送终端terminal stop停止信号,暂停目前的命令(ctrl-z)
    • rprnt = ^R; 输入命令时提示使用过的历史命令(ctrl-r)
    • werase = ^W; 删除命令行最后一个单词(ctrl-w)
    • lnext = ^V;
    • discard = ^O;
    • min = 1;
    • time = 0;

    -cmspar cs8 -hupcl
    -istrip -iutf8
    opost -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    -xcase -tostop

    控制字符: -clocal cread -crtscts -cstopb -parenb -parodd

    • clocal: 忽略modem 状态线
    • cread: 使 接收器中 开启
    • crtscts: 使硬件流控制开启
    • cstopb: 发送两个stop 位,其它情况发送一个
    • parenb: 部分开启
    • parodd: 奇数,其它为偶数

    -------------
    输入标志: -brkint icrnl -ignbrk -ignpar -imaxbel -inlcr -inpck -ixany -ixoff ixon -parmrk -igncr -iuclc

    • brkint: 当BREAK 时产生SIGINT 信号
    • icrnl: 在输入时将CR 转成 NL
    • ignbrk : 忽略BREAK
    • ignpar: 忽略字符
    • imaxbel 当队列满时振玲
    • inlcr 将NL 换成CR
    • inpck
    • ixany
    • ixoff 开始或关闭输入流控制
    • ixon
    • parmrk

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

    在命令行下,禁止输出大写 IUCLC 大写字符转成小写字符
    stty -iuclc #禁止输出
    stty -iuclc #恢复

    命令行下禁止输出小写
    stty olcuc #开启
    stty -olcuc #恢复
    --------------
    本地标志: echoctl echoe echok echoke -echonl -echoprt -extproc -flusho icanon iexten isig -noflsh echo

    • echoctl 回显控制字符
    • echoe 显示擦除字符
    • echok 显示KILL
    • echoke 为KILL 显示擦除字符
    • echonl 显示NL
    • echoprt 为硬拷贝显示擦除字符
    • extproc 扩展字符
    • flusho
    • icanon 规范输入
    • iexten
    • isig 使终端产生信号开启
    • noflsh

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

    http://www.voidcn.com/article/p-ycpnvpkm-bm.html
    http://www.voidcn.com/article/p-nnzcgajp-bge.html
    https://en.wikipedia.org/wiki/Signal_(IPC)
    https://en.wikipedia.org/wiki/Job_control_(Unix)
    https://en.wikipedia.org/wiki/List_of_Unix_commands
    https://www.howtogeek.com/howto/ubuntu/keyboard-shortcuts-for-bash-command-shell-for-ubuntu-debian-suse-redhat-linux-etc/
    https://blog.csdn.net/mylizh/article/details/38385739
    ==========

    终端下容易混淆的几个快捷键:

    • eof = ^D; EOF(End Of File)输入结束符(ctrl-d)
    • intr = ^C; 发送interrupt中断信号,多用于中断某个程序(ctrl-c)
    • susp = ^Z; 发送终端terminal stop停止信号,暂停目前的命令(ctrl-z)
    • quit = ^; 发送quit退出信号(ctrl-)
    • ctrl-c: ( kill foreground process ) 发送 SIGINT 信号给前台进程组中的所有进程,强制终止程序的执行;
    • ctrl-z: ( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并非结束进程,用户可以使用使用fg/bg操作恢复执行前台或后台的进程。fg命令在前台恢复执行被挂起的进程,此时可以使用ctrl-z再次挂起该进程,bg命令在后台恢复执行被挂起的进程,而此时将无法使用ctrl-z再次挂起该进程;一个比较常用的功能:正在使用vi编辑一个文件时,需要执行shell命令查询一些需要的信息,可以使用ctrl-z挂起vi,等执行完shell命令后再使用fg恢复vi继续编辑你的文件(当然,也可以在vi中使用!command方式执行shell命令,但是没有该方法方便)。
    • ctrl-d: ( Terminate input, or exit shell ) 一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车;
  • 相关阅读:
    SNMP简介
    命令模式
    牛顿法
    仿射函数
    schedule
    命令模式
    牛顿法
    schedule
    仿射函数
    适配器模式
  • 原文地址:https://www.cnblogs.com/sztom/p/10651033.html
Copyright © 2011-2022 走看看