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后回车;

Linux 的终端及设置的更多相关文章

  1. linux系统终端命令提示符设置(PS1)记录

    PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方面操作管理,有时会设定PS1环境变量.废话不多说,下面开始记录下Linux中PS1设置 在/etc/.bashrc中,找到PS1变 ...

  2. [转载]Linux下终端字体颜色设置方法

    原文地址:Linux下终端字体颜色设置方法作者:router 网上类似的文章有很多,但是都是转来转去的,没有经过测试,按照很多文章的方法会造成你设置之后的终端在换行和删除输入字符时终端显示会乱七八糟, ...

  3. 如何在 Arch Linux 的终端里设定 WiFi 网络

    如果你使用的是其他 Linux 发行版 而不是 Arch CLI,那么可能会不习惯在终端里设置 WiFi.尽管整个过程有点简单,不过我还是要讲一下.在这篇文章里,我将带领新手们通过一步步的设置向导,把 ...

  4. linux 的终端字体色和背景色的修改方法(三)

    除了在窗口下修改,配置文件中修改外,还可以用shell来修改,此处为B shell linux BASH shell下设置字体及背景颜色 类型:转载 这篇文章主要介绍了linux BASH shell ...

  5. linux云服务器常用设置

    前面的话 由于在云服务器上配置自己的网站,将Linux里的常用设置记录如下 更改shell 默认地, ubuntu系统默认的shell是dash,但更常用的shell是bash 通过下面命令可以将da ...

  6. 01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置

              Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0 ...

  7. linux:终端常用命令 + vi命令修改文件及保存 方法

    首先介绍一下Ubuntu下各个目录的一般作用: /  这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...

  8. Ubuntu Linux 环境变量PATH设置

    前俩天编译linux下rar解压软件的时候说找不到  /usr/local/linux 路径,在设定path变量的时候,忽然就想看看,path最原始的变量值是多少....(在环境变量文件中保存.... ...

  9. Linux环境变量及其设置

    简介 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将使用到的信息.Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环 ...

随机推荐

  1. day46-python爬虫学习

    一.定义 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...

  2. python之路-数据类型(方法)

    Int i = 1 print(i.bit_length()) # 转化成二进制的最小位数. ''' 0000 0001 ''' Str class str(basestring): "&q ...

  3. 关于visual studio的一些日常总结

    一.常用的VS快捷键 批量注释:ctrl + k ctrl + c 批量解除注释:ctrl + k ctrl + u 转到声明:ctrl + F12 查找:ctrl + F 添加断点:F9 逐过程调试 ...

  4. vue教学视频(小程序教学视频)

    写在前面 最近通过了解众多面试者的面试情况 总结出以下几点: 对框架的要求越来越高特别是vue和小程序 不会vue和小程序连面试机会都没有 会vue的比不会vue的薪资高4-5k 小程序有发展的趋势 ...

  5. 猪懂傻改之《powershell 代码规范》

    猪懂傻改之<powershell 代码规范> 脚本程序员或许都经历过这样的场景:接手别人的代码时,因为没有注释,变量名五花八门,模块之间逻辑关系如麻,弄得满头雾水,一脸茫然,痛定思痛之后不 ...

  6. C语言作业(心理魔术)

    #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include &q ...

  7. Observable详解

    Observable详解 rxjs angular2 在介绍 Observable 之前,我们要先了解两个设计模式: Observer Pattern - (观察者模式) Iterator Patte ...

  8. 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 20165326

    实验一 目录 直接修改程序机器指令,改变程序执行流程 通过构造输入参数,造成BOF攻击,改变程序执行流 注入Shellcode并执行 问题及解决 思想感悟 一.修改机器指令 首先你需要一个pwn1文件 ...

  9. OpenGL中VA,VAO,VBO和EBO的区别

    1,顶点数组(Vertex Array) VA,顶点数组也是收集好所有的顶点,一次性发送给GPU.不过数据不是存储于GPU中的,绘制速度上没有显示列表快,优点是可以修改数据. 4.VBO(Vertex ...

  10. Java的命名规范

    1.类名.接口名:首单词的第一个字母要大写.如果有多个单词,其他单词的首字母要大写. 2.包名:全部小写. 3.变量名.方法名:首单词的第一个字母小写.如果有多个单词,其他单词的首字母要大写. 4.常 ...