1. linux系统终端 是干什么的
对于普通 Linux 来说,终端的作用是一个字符(或者模拟字符)的命令交互界面,实现对计算机的控制。
最初的UNIX类型的系统是大型机系统(当时还没有个人计算机的概念,而Apple和IBM是个人计算机开发的两个推动者)。 用户需要远程登录大型机,并且多个用户可以通过终端进行访问。
一般来说,终端没有主机,只有显示键盘和鼠标(在当时,鼠标是相当先进的工具)。 大型机本身没有监视器键盘和鼠标。
到目前为止,Linux还保留了“终端”的概念,所有用户交互都使用终端方法来访问系统。 包括X环境也是一个特殊的终端实现, 尽管现在计算机本身将自身与终端相连。
(1)linux设备终端扩展阅读:
linux下开启终端的4种方法:
1、ctrl+alt+F1~F6之间使用,这是纯终端使用。
2、在linux桌面环境下,鼠标点击程序菜单,找到一般为实用程序或者系统工具类的菜单中找到终端程序。
3、调试模式的终端模式,在开机时候esc键,根据linux版本不同,进入方式也不同,这一般为系统出现故障才使用的终端模式。
4、可以使用类似SSH类型的软件,远程登录终端,这属于网络版终端,使用终端服务器软件,远程开启终端,这需要配置终端服务器。
2. Linux终端是做什么用的
Linux中的虚拟终端
所谓虚拟,是因为物理上它还是在本机上的一个软件控制台,而不是一个真正的远程物理终端,但是虚拟终端确在实现上显得更统一了,这就像Linux同等对待设备和一般文件一样。
Linux是一个多终端的操作系统,你甚至可以使用同一个用户ID在多个终端上同时登陆。
默认地,控制台虚拟终端有6个,GUI终端有1个。在过去的Red Hat
Linux中要登录终端你可以通过Alt+F1至F6键登陆控制台虚拟终端,通过Alt+F7登陆GUI终端。而现在的Fedora Core
6、
Fedora7中你需要使用Ctrl+Alt+Fn才行。你也可以在控制台终端使用Alt+左右箭头选择临近的终端(不过在GUI中这个组合键不起作用)。
3. linux的终端在哪里
Ubuntu常用的有3种进入终端(terminal)界面方法,分别如下:
①按快捷键“Ctrl+Alt+T”即可打开终端窗口
注意事项:如果采用方法2的F1-F6的方法,返回图形界面只要按“Ctrl+Alt+F7即可”。
4. ‘Linux 干货’#1 终端与Shell(简明)
继 Git 后贵系的另一个暑培项目,讲授 Linux 的基本用法,恰好这学期“操作系统”课程实验需要用到 Linux,而且实验室的服务器也需要学习相关用法,故学之。
本文部分内容参考了清华 ZAH 同学的教程,部分参考了 刘遄 老师的《 Linux 就该这么学 》, 菜鸟教程-Linux 。
Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 Unix 操作系统。相比于其他系统,Linux 更加稳定且有效率、更加安全、相对不耗资源……以至于几乎所有 长期稳定运行的网站服务器 上、在 处理大数据的集群系统 中,以及需要 协同工作的服务器环境 都采用 Linux 系统。
Linux 严格来说是单指操作系统的 内核 ,因操作系统中包含了许多用户图形接口和其他实用工具。如今 Linux 常用来指“基于 Linux 的完整操作系统”,内核则改以“Linux 内核”称之。
一些组织或厂商将 Linux 内核与各种软件和文档 包装 起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
在学习 Linux 的过程中,有几个易混淆的概念:
命令行界面(Command-Line Interface,CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(Character User Interface,CUI)。
一般来说,在 服务器 中较多采用的是 CLI 界面,或许有以下几点原因:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 等系统的桥梁,如同“ 壳 ”一般。它的本质是一个 命令解释器 ,将用户输入的命令(符合 Shell 语法)处理成对应 操作系统的控制命令 ,处理完毕后再将结果反馈给用户。
不同操作系统下面的 Shell 种类众多,常见的有:
Ken Thompson 的 sh 是第一种 Unix Shell,本教程关注的是 Bash,也就是 Bourne Again Shell,Bash 也是大多数 Linux 系统默认的 Shell。
终端 (Terminal),是一种用来让用户输入数据至计算机,以及显示其计算结果的机器。早期的终端通常就是一台 电子打字机 (Teletypewriter, TTY),后来随着计算机的发展,打字机被键盘和显示器取代,而 GUI 界面也成了主流。
于是,这时候我们就需要一个程序来模拟传统终端的行为,即 终端模拟器 (Terminal Emulator),当用户打开终端模拟器时,实际上是进入一个 会话进程 (Session)。终端模拟器有很多,这里举几个经典的例子:
在 Linux 系统中打开终端时,会看到一个提示符,通常类似 hewei@hewei-VirtualBox ~$ 。在提示符下,命令会被 Shell 环境 解析并反馈 到终端中。
提示符是 Shell 最主要的 文本接口 。它告诉你,你的主机名是 hewei-VirtualBox ,你现在的身份是 hewei 并且你当前的 工作目录 (Current working directory)是 ~ (默认在 /home/hewei/ 用户目录)。
$ 符号表示您现在的身份不是 root ,输入如下命令可以暂时切换到 root 权限:
输入密码后,可以看到提示符变成了 root@hewei-VirtualBox:/home/hewei# ,其中 # 符号就是超级用户权限的标志。再输入 exit 即可退回普通用户身份。
在 Git学习笔记 #1 基础知识介绍 中,已经简单介绍了命令行界面的一些使用技巧,这些命令在 Linux 系统的 Bash 中同样使用。这里罗列出 Linux 常用快捷键:
常见的执行 Linux 命令的格式是这样的: 命令名称 [命令参数] [命令对象] 。其中,命令参数用于对命令进行调整,使之更好地贴近需求,参数分为 长格式 和 短格式 ,如: man --help , man -h 。短格式之间可以合并,合并后仅保留一个减号即可。
在 Linux 相关的手册中,我们会约定俗成地将可选择的、非必需的参数使用 中括号 引起来,而命令所要求的、必须有的参数或对象值,则不带中括号。
此外,要注意 Linux 系统中的命令、参数、对象都是 严格区分大小写 的。
Shell 除了是一个 交互式 (Interactive)的命令解释器,它还是一种 程序设计语言 (Shell Script)。它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
用 Shell 编写的 脚本文件 即 .sh 文件,它能在 Shell 环境下运行,fork 出一个 子进程 ,调用系统内核来执行 批处理 (Batch)的系统控制。在文件的第一行,通常是 #!/bin/bash ,这句话约定了这个脚本需要哪种 Shell 环境来执行。
通过如下命令就可以执行一个 Shell 脚本:
下面罗列了部分常用指令与参数的介绍,更多功能请在帮助手册中检索。
5. linux如何打开终端
1、在Linux的首页使用Ctrl+alt+T,打开终端。
6. LINUX 终端设备驱动
在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty (Teletype)来简称各种类型的终端设备。对于嵌入式系统而言,最普遍采用的是UART (Universal Asynchronous Receiver/Transmitter)串行端口,日常生活中简称串口。
Linux内核中tty的层次结构它包含tty核心tty_10.c、tty或路规在n_tty.C(头现N_11Y线路规程)和tty驱动实例xxx_tty.c,tty线路规程的工作是以特殊的方式格式化从一个用户或者硬件收到的数据,这种格式化常常采用一个协议转换的形式tty _io.c本身是一个标准的字符设备驱动,它对上有字符改备的职贡,买现tle_operatIonS双贝图效。但是tty核心层对下又定义了tty_driver的架构,这样tty设备驱动的主体工作就变成了琪允tty_driVeT依构体中的成员,实现其中的tty_operations的成员函数,而不再是去实现file_operations这一级的工作。tty设备发送数据的流程为:tty核心从一个用户获取将要发送给一个tty设备的数据,tty核心将数据传递给tty线路规程驱动,接着数据被传递到tty驱动,tty驱动将数据转换为可以发送给硬件的格式。接收数据的流程为:从tty硬件接收到的数据向上交给tty驱动,接着进入tty线路规程驱动,再进入tty核心,在这里它被一个用户获取。尽管一个特定的底层UART设备驱动完全可以遵循上述tty_driver的方法来设计,即定义tty_driver并实现tty_operations中的成员函数,但是鉴于串口之间的共性,Linux考虑在文件drivers'ttyliserial'serial_core.c中实现了UART设备的通用tty驱动层(我们可以称其为串口核心层)。这样,UART驱动的主要任务就进一步演变成了实现serial-core.c中定义的一组uart_xxx接口而不是tty_xxx接口。因此,按照面向对象的思想,可以认为tty_driver是字符设备的泛化、serial-core是tty_driver的泛化,而具体的串口驱动又是serial-core的泛化。
7. 5 Linux 终端类型和Xshell
Linux 终端是一个古老的概念,但是确实是和服务器交互的一个非常主要的部分。另外,以后脚本中的环境变量,远程操作脚本expect等,都和终端有关系。因此,我们在此简单的学习终端的概念和类型,关于有关Linux终端的更多细节,我们会在以后的具体遇到的时候在详细加以阐述。
但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
Linux 原生的tty共有6个,并且有一个图形界面。可以通过ctr+alt+F1~ctr+alt+F7 来进行切换。
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
可以通过who命令,来查看当前用户,及用户所在的终端。
第一次运行who命令,我们看到当前用户newer通过 图形界面和pts/0 登录。
按 ctr+alt+F2切换到tty2 ,登录用户newer,再次输入who命令,可以看到在tty2 新增加了newer用户登录。
在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。我们可以通过查看dev下面相关的文件来查看系统中存在的tty和ttyS。
在这个例子中,我们查看并且找到了设备中的tty2,tty2 就是刚刚我们通过ctr+alt+F2 打开并且登录的终端。
这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。
例如,在命令行提示符下键入:
会把单词”test”发送到连接在ttyS2(COM2)端口的设备上。
通过echo命令将test 发送到tty2 之后,可以切换到tty2 查看。
伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty/m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。
这样,两个程序就可以通过这种逻辑设备进行互相交流,而其中一个使用ttyp3的程序则认为自己正在与一个串行端口进行通信。这很象是逻辑设备对之间的管道操作。对于ttyp3(s3),任何设计成使用一个串行端口设备的程序都可以使用该逻辑设备。
但对于使用ptyp3的程序,则需要专门设计来使用 ptyp3(m3)逻辑设备。
例如:
如果某人在网上使用telnet程序连接到你的计算机上,则telnet程序就可能会开始连接到设备 ptyp2(m2)上(一个伪终端端口上)。此时一个getty程序就应该运行在对应的ttyp2(s2)端口上。当telnet从远端获取了一个字符时,该字符就会通过m2、s2传递给 getty程序,而getty程序就会通过s2、m2和telnet程序往网络上返回”login:”字符串信息。这样,登录程序与telnet程序就通过“伪终端”进行通信。通过使用适当的软件,就可以把两个甚至多个伪终端设备连接到同一个物理串行端口上。
在使用设备文件系统 (device filesystem)之前,为了得到大量的伪终端设备特殊文件,使用了比较复杂的文件名命名方式。因为只存在16个ttyp(ttyp0—ttypf) 的设备文件,为了得到更多的逻辑设备对,就使用了象q、r、s等字符来代替p。例如,ttys8和ptys8就是一个伪终端设备对。
不过这种命名方式目前仍然在RedHat等Linux系统中使用着。
但Linux系统上的Unix98并不使用上述方法,而使用了”pty master”方式,例如/dev/ptm3。它的对应端则会被自动地创建成/dev/pts/3。这样就可以在需要时提供一个pty伪终端。目录 /dev/pts是一个类型为devpts的文件系统,并且可以在被加载文件系统列表中看到。虽然“文件”/dev/pts/3看上去是设备文件系统中的一项,但其实它完全是一种不同的文件系统。
即: TELNET ---> TTYP3(S3: slave) ---> PTYP3(M3: master) ---> GETTY
如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。
可以使用命令”ps –ax”来查看进程与哪个控制终端相连。
对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。
/dev/tty有些类似于到实际所使用终端设备的一个联接。
在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。
当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。
tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。
你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在。只有系统或超级用户root可以向 /dev/tty0进行写操作。 即下例:
1、# tty(查看当前TTY)
/dev/tty1
2、#echo "test tty0" > /dev/tty0
test tty0
5 虚拟终端(/dev/pts/n)
在Xwindows模式下的伪终端.
6 其它类型
Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。
8. Linux的"终端"是什么意思
“终端,是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。终端有些是全电子的,也有些是机电的。其又名终端机,它与一部独立的电脑有分别。”---维基网络《终端》
原来 UNIX 类的系统都是大型机系统(而且当时也没有什么个人计算机的概念,apple 和 IBM 是两个个人计算机发展的推手),用户需要通过终端,远程并且多用户的登录大型计算机进行访问。一般来说,终端没有主机,只有显示器键盘鼠标(鼠标那个年代那是相当高级的玩意了)。大型机本身不设置显示器键盘鼠标。
到现在 Linux 也保留着“终端”的概念,所有用户交互,都是借助终端方式访问系统的。包括 X 环境,也是一种特殊的终端实现。虽然现在都是计算机自己用终端链接自己。
终端现在对于普通 Linux 来说,一般说的就是一个字符(或者模拟字符)的命令交互界面。实现对计算机的控制。
现在的终端来说很多都是“虚拟终端”。