第2章 走进shell

几个术语

哑终端(dumb terminal):

A dumb terminal was usually nothing more than

a monitor and keyboard connected to the Unix system via a communication cable (usually a multiwire
serial cable多线串行电缆,也叫带状电缆). This simple combination provided an easy way to enter text data into the Unix
system and view text results.

控制台终端、图形终端

控制台终端:

When the Linux system starts, it automatically creates several virtual consoles. A virtual
console is a terminal session that runs in Linux system memory. Instead of having several
dumb terminals connected to the computer, most Linux distributions start fi ve or six (or
sometimes even more) virtual consoles that you can access from a single computer keyboard
and monitor.

图形终端:

使用图形化Linux桌面环境(Linux graphical desktop environment)的终端模拟包(terminal emulation package),终端模拟包会模拟在哑终端上工作,所有的都在桌面上的一个图形化窗口中。

图形终端只(Graphical terminal emulation)只是Linux图形显示的一小部分。作为一个整体,Linux图形显示有几部分组成

图形终端模拟软件(graphical terminal emulation software)也叫client

二者区别与联系

  尽管在启动Linux系统的时候有几个虚拟终端(virtual consoles)被创建,但是许多Linux发行版本在Linux启动序列完成后会切换到图形环境,从而登录系统都是通过图形界面的方式。因此,访问虚拟终端(virtual consoles)只能通过手工方式。

  在大多数Linux发行版本中,你可以使用快捷键(Ctrl+Alt F1~F7)来切换不同的终端。文本模式的虚拟终端会以全屏显示,类似下图

tty2说明:

tty:teletypewriter,很老的设备,用来发送消息

2:  表明你在使用第二个虚拟终端,即你是要Ctrl+Alt+F2切换来的

值得注意的一点是,你可以在数个虚拟终端之间来回切换而不用担心工作丢失。但是在Linux虚拟终端中,你是不能运行任何图形程序的。这就比较蛋疼了,如果我想要运行图形程序怎么办呢?

使用Linux桌面环境下的图形终端

在Linux图形桌面环境下有许多可用的终端模拟包(terminal emulation package),相对于传统的虚拟终端而言(virtual consoles),这些终端模拟包会提供一组特性帮助用户使用。常见终端模拟包(terminal emulation package)见下表

尽管有这么多terminal emulation package可以使用,但主要的还是GNOME Terminal, Konsole Terminal以及 xterm。在许多Linux发行版中这三个都是作为默认的图形终端。

GNOME Terminal Emulator

注意区分如下概念:

图形终端             :上面表格里面那几种

Linux桌面环境     :GNOME desktop、Ubuntu Unity

Linux发行版本     :RHEL、Fedora、CentOS

GNOME terminal emulator作为GNOME desktop的默认图形终端。由于RHEL、Fedora、CentOS这几个Linux发行版本使用GNOME desktop作为自己的图形桌面环境,所以GNOME terminal emulator也就成了RHEL、Fedora、CentOS的默认图形终端。值得注意的一点是,Ubuntu Unity桌面环境也是用GNOME terminal emulator作为自己的图形终端。

Konsole Terminal Emulator

The KDE Desktop Project created its own terminal emulation package called Konsole
Terminal. The Konsole package incorporates basic terminal emulation features, along with
more advanced ones expected from a graphical application.

xterm Terminal Emulator

The oldest and most basic of terminal emulation packages is xterm. The xterm package has
been around since before the original days of X Window, a popular display server, and it’s
often included by default in distributions.
Although xterm is a full terminal emulation package, it doesn’t require many resources
(such as memory) to operate. Because of this, the xterm package is still popular in Linux
distributions designed to run on older hardware. Some graphical desktop environments use
it as the default terminal emulation package.
Although it doesn’t offer many fancy features, the xterm package does one thing extremely
well: It emulates older terminals, such as the Digital Equipment Corporation (DEC) VT102,
VT220, and Tektronix 4014 terminals. For the VT102 and VT220 terminals, xterm can even
emulate the VT series of color control codes, allowing you to use color in your scripts.

灵活设置虚拟终端的显示效果

时间: 2024-10-14 00:40:13

第2章 走进shell的相关文章

第三部分 管理篇 第九章 MongoDB shell之eval、进程

1.通过eval参数执行指定语句 比如,需要查询test库的t1表中的记录数有多少,常用方法如下: [[email protected] bin]# ./mongo test MongoDB shell version: 2.6.6 connecting to: test > db.t1.count(); 0 > 通过命令行eval参数直接执行语句: [[email protected] bin]# ./mongo test --eval "printjson(db.t1.count

第三部分 管理篇 第九章 MongoDB shell之系统命令、用户命令

1.命令操作 MongoDB Shell不仅仅是一个交互式的shell,它页支持执行指定JavaScript文件,也支持执行指定的命令片段,有了这个特性,就可以将MongoDB与Linux shell完美结合,完成大部分的日常管理和维护工作.Shell命令其实控制台底层的查询语句都是用JavaScript脚本完成的. 系统相关 1.1.help查看命令 [[email protected] bin]# ./mongo MongoDB shell version: 2.6.6 connecting

第一部分 基础篇 第一章 走进MongoDB

声明:该文章主要来自<MongoDB实战>一书内容,主要想通过该书学习MongoDB的相应知识,加深理解,故写在自己的博文当中,作为记录在最后的章节中,会有一个自己集合MongoDB数据库应用的JavaEE的web应用. 第一章 走进MongoDB MongoDB是一个高性能.开源.无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种,它在许多场景下可用于替代关系型数据库或者键/值存储方式,MongoDB使用C++开发,MongoDB的官网是地址是:http://www.mongod

第9章:Shell脚本进程管理

第9章:Shell脚本进程管理 9.1.进程概念 理解进程概念需要先简单了解指令和程序这两个概念,进程跟指令和程序是相关联的. 什么叫指令? 指令是指示计算机执行某种操作的命令,它由一串二进制数码组成. 什么叫程序? 程序(Program)是实现计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合. 什么叫进程? 进程是正在运行的程序的实例,进程也是执行程序的具体实现过程. 指令.程序和进程三者之间的关系? 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存

《Linux Shell脚本攻略》 笔记 第一章:Shell起步基础

<Linux Shell脚本攻略> 笔记 第一章:Shell起步基础 1.变量:在bash中,每一个变量的值都是字符串.无论你给变量赋值时,有没有使用引号,值都会以字符串的形式存储. 2.var=value; //赋值操作 var = value: //相等操作 3.获取字符串的长度 [[email protected] ~]$ var=yang [[email protected] ~]$ length=${#var} [[email protected] ~]$ echo $length

《深入理解Java虚拟机》读书笔记---第一章 走进Java

一.为什么要读此书 <深入理解Java虚拟机>这本书读了很多次,每次读都会有不一样的感受.首先说一下为什么要读这本书,如果把Java比喻成乾坤大挪移,那了解虚拟机的工作原理就是练习九阳神功,java语言是招式,对虚拟机的认识是内功心法,只有内功心法强大,所使的招式才强大,这就是为什么阳顶天只能把乾坤大挪移练到第四层,而张无忌能练到第七层.由于java虚拟机的强大,把很多功能都隐藏了,例如内容管理,垃圾回收机制等,使得很多java程序猿对这一块的知识所有缺失,编码的时候也是似懂非懂的,以至于遇到

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台

第一章、shell脚本基础

shell的作用:人和机器交互的工具-->其实是一个程序. shell里比较好用的程序是bash 默认情况下几乎所有的linux系统默认的shell都是bash ==== c语言为什么要编译.c语言是人认识的语言,根据某种编码进行翻译叫编译. shell脚本编程的优势. 查看当前shell [[email protected] ~]$ echo $SHELL /bin/bash [[email protected] ~]$  shell课程体系 Shell脚本编程 Shell基础 变量的使用 算

鸟哥的Linux私房菜_基础版_学习笔记9:第十三章 学习 Shell Scripts

13.1 什么是 Shell scripts 13.1.1 干嘛学习 shell scripts 13.1.2 第一支 script 的撰写与运行 在 shell script 的撰写中还需要用到底下的注意事项: 命令的运行是从上而下.从左而右的分析与运行: 命令的下达就如同第五章内提到的: 命令.选项与参数间的多个空白都会被忽略掉: 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样视为空白键: 如果读取到一个 Enter 符号 (CR) ,就尝试开始运行该行 (或该串) 命令: 至於