【Linux探索之旅】第二部分第一课:终端Terminal,好戏上场


内容简介

1、第二部分第一课:终端Terminal,好戏上场

2、第二部分第二课预告:命令行,世界尽在掌握


终端Terminal,好戏上场

随着第一部分的结束,我们进入了第二部分(小编你这好像是废话...)。

也许是第一部分有点偏理论,而且安装Linux的发行版Ubuntu系统又比较难概述,所以小编备受折磨之后,有点“青年痴呆”也是正常。

但我向你保证,从这一部分开始,好戏正式上演!

经过第一部分的洗礼,我们了解了Linux的历史和很多概念,如何安装Linux,Linux的桌面环境和图形界面是怎样。

也许大家对于Linux系统还是不太适应,特别是使用过Windows系统的朋友。

但是不可讳言,我们目前所看到的Linux系统的图形界面和Windows并没有太多不同,浏览器也是点击就打开的,文件夹也是可视化的,安装软件也不是太难。

但是Linux的独特性从这一课才会慢慢显露。如果你是Windows的老用户,你会发现这是一个全新的世界。而且,很可能你之前并没有这样的经验,或许你会说你用Dos编写过东西,那个不算好吗。

马上要介绍的叫做终端(英语是Terminal)的东西,可以说它的世界是无限广阔的。几乎没有一个人敢说把终端的东西全部学会了,总是会有新东西等待我们去发现。

所谓“一入终端深似海,从此妹子是路人”。

开玩笑啦,学好Linux技术,熟悉终端命令行,迎娶白富美,走向人生巅峰不是难事。



为什么要有终端呢?

在正式纵身于终端的海洋之前,先来学习一些“救生知识”,以免“溺水”。

毕竟好景还很长,我们可不想“眼睁睁地看着你,却无能为力,任你消失在终端的尽头...”。

上图就是一个终端的大致印象。此终端后面的背景还真是一片海洋,好应景...

那么我们首先来考虑这样一些问题:

《为什么我们要发明终端,而不是一开始就用图形界面?

毕竟鼠标+图形界面是更直观的嘛。

难道只是为了装高端专业,才故意搞这么复杂,就为了让人觉得信息技术只能由一些内行的人来做么?

为什么没把终端去掉呢?这都过时啦。》

都是好问题。我们一一来回答。

Q:为什么我们要发明终端,而不是一开始就用图形界面?

A:这个其实第一部分的第一课我们就已经讲过了。回答是:因为我们没有选择的余地。终端刚被发明出来的时候是大概在1970年代初,那是一个即使黑白两色的屏幕都是奢侈的年代,那个时候电脑的计算能力还远远不如我隔壁邻居的姐姐的儿子的哥哥的手中的一个计算器。是的,就是这么艰难。在今天看来再普通不过的五颜六色的图形界面和鼠标操作,其实是需要很高的处理能力的。在当时“黑暗的旧社会”,臣妾实在是做不到啊。因此,终端就成了当时操控电脑的唯一方式。

Q:毕竟鼠标+图形界面是更直观的嘛。

A:是的,我完全同意您的看法。终端确实不如真正的图形界面那么直观。在我们刚开始学信息技术时,肯定是图形界面更容易上手。而且现在Linux下的图形界面(Gnome,Unity,KDE,等)的易用程度也越来越高了,并不比Windows的图形界面难用多少。终端确实是初学者的一个门槛。

Q:难道只是为了装高端专业,才故意搞这么复杂,就为了让人觉得信息技术只能由一些内行的人来做么?

A:一开始,终端中的命令确实会让人不适应。然后你可能会说:“这堆没意义的字母组合不就是为了显示没有多少人能用终端么?”(言下之意就是只有高端的程序员才能使用终端)。然而,完全不是这样的。这样做都是经过信息技术专家深思熟虑的:

  1. 终端里的命令更简短,简洁:这都是为了节省时间。我们举个例子,在终端中有一个比较常用的命令 pwd,用于显示当前所在目录。那假如要更直观,我可能得这样写这个命令:inwhichdirectoryamirightnow (我现在在哪个目录里),写个几百遍你就知道发明这个pwd命令的专家是多么人道了。

Q:为什么没把终端去掉呢?这都过时啦。

A:自从图形界面被发明之后,为什么还没删除终端这个陈旧的技术呢?很多人也许都有这个疑问。但要知道,我们学习终端的操作也许比图形界面要花多得多的时间,但是一旦掌握了如何使用终端里的命令,那么常常可以比图形界面更快,更高,更强。而且,有些操作还真的只能依靠终端来完成,求助于图形界面就显得很没意思啦。

举个例子:

在一个目录里,有各种文件类型:文本文件,图片,音频,视频。如果你想知道这里面有多少个JPEG类型的图片。在图形界面下不容易吧?

但是在终端里,直接一句命令搞定:

ls -l | grep jpg | wc -l

显示结果例如:

108

怎么样?短短数秒我们就得到我们想要的答案了。假如是图形界面,能这么快捷吗?

我们还可以把统计的数目存储到一个文本文件里:

ls -l | grep jpg | wc -l > jpeg_nb.txt

我们甚至还可以用一句命令:先统计这个数目,保存到jpeg_nb.txt文件里,再把这个文件用email传给一个朋友。

所以说:终端命令行绝不会过时。

你会发现,Linux的终端的命令大部分都和Unix一样,名字一样,用法也基本相同。这并不是说Linux的命令的源代码是拷贝或者抄袭Unix的,只是功能一样而已,这些Linux命令的源码还是辛勤的GNU项目的全世界各地的极客们努力写出来的。

之后GNU开源项目就和Linux操作系统内核(由Linus Torvalds编写)合并了,成为了一个完整的操作系统,称为GNU/Linux。只不过后来人们简称为Linux了。当然,这些在第一部分第一课中都详述了。

那么,好处是什么呢?

终端的命令几乎没改变过,自从20世纪6,7十年代。因此,今天一位垂垂老矣的Unix用户,在Linux操作系统中也可以“健步如飞”呢。因为命令基本都是一样的。而且在未来的很多年中都将是这样。所以说,虽然终端命令行一开始也许花你一些时间来入门,但它是可以吃一辈子的老本。这酸爽~ 到了我70岁再去编程赚外快呗。

下一课开始,我们将正式学习终端的命令行了,这些命令在Unix和Linux中几乎是一样的。而且,在基于Unix设计理念的很多其他操作系统里也是一样的。毕竟Unix是祖字辈的。

因此,接下去我们学习的各种终端命令,你也可以用在基于Unix系统的苹果的Mac OS X系统里。

如果你是苹果Mac OS X系统的用户,那么你可以打开一个Unix的终端,来体验一下终端的操作:

  1. 前往->实用工具(也可以用快捷键:cmd+shift+U):

  2. 点击终端那个图标,就打开了一个终端。

如果你觉得这样太麻烦,你也可以把终端放到桌面上的Dock中,方便下次启动:



真正的终端,有点令人畏惧

那么问题来了:如何在我们目前Ubuntu的桌面环境(Gnome,Unity或KDE)下来打开终端呢?

方法是比较多的。在Linux系统中,我们经常可以通过几种不同的方法来达到同一目的。

首先,我们将介绍一个一般不太会用到的方法:进入真正的终端。

什么是“真正”的呢?

可以说是完全没有图形界面的,就是一个黑乎乎的框子,黑底白字,然后你在里面只能用键盘来输入。

我们可以通过快捷键的组合来快速地进入真正的终端。

不过,在开始之前,请先了解如何从这些真正的终端里退出来,回到我们的Ubuntu桌面。不然您可能会很囧...

假定目前你所在的是Ubuntu的桌面中,如下图,是在Unity桌面当中

我们将要用组合快捷键来进入到被称为tty的终端里(也可称为控制台(英语是Console))。

什么是tty呢?

在Linux中,TTY也许是跟终端有关系的最为混乱的术语。

TTY是TeleTYpe的一个缩写。Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,和古老的电报机区别并不是很大。

之后,当计算机只能以批处理方式运行时(当时穿孔卡片阅读器是唯一一种使程序载入运行的方式),电传打字机成为唯一能够被使用的“实时”输入/输出设备。最终,电传打字机被键盘和显示器终端所取代。

控制台(Console)

在Linux 系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。

当你在控制台上登录时,使用的是tty0。使用Ctrl+Alt+[F1-F6]组合键时,我们就可以切换到tty1、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。只有在单用户模式下,才允许用户登录控制台。

也许定义比较抽象,不过并不需要大家太理解这块内容。

登录TTY的这些快捷键是:

  1. Ctrl + Alt + F1 : terminal 1 (tty1)
  2. Ctrl + Alt + F2 : terminal 2 (tty2)
  3. Ctrl + Alt + F3 : terminal 3 (tty3)
  4. Ctrl + Alt + F4 : terminal 4 (tty4)
  5. Ctrl + Alt + F5 : terminal 5 (tty5)
  6. Ctrl + Alt + F6 : terminal 6 (tty6)
  7. Ctrl + Alt + F7 : 回到图形界面(感谢上帝~)

所以一共有6个控制台可供选择。

在你开始测试前,一定要记得如何离开真正的黑乎乎的终端噢:按Ctrl + Alt + F7三个键。

你可以任选一个终端进入,比如说我们要进入terminal 1,那么就可以使用快捷键组合:Ctrl + Alt + F1

你的屏幕可能会闪烁几下,不要害怕。然后你就进入真正的终端啦,如下图:

真是“一夜回到解放前,乌漆麻黑一大片”。在使用此终端前,需要先登录。

输入你之前安装Ubuntu时注册的用户名,回车:

再输入你的密码(在你输入密码的时候,屏幕是不会显示你输入的任何内容的,连星号也没有),回车。就可以使用tty1了。

你也可以用类似的方式进入其他终端(一共有六个同时存在的终端,tty1~tty6)。

好了,现在,演示完毕,我们可以退出此终端了,按下:Ctrl + Alt + F7

我们就回到了我们的图形界面桌面。

真正的终端还是很有用的,虽然对于初学者来说有点吓人。不过要知道,很多基于Linux的服务器是没有图形界面的,所有的操作也就是在这么个黑色的大框子里进行。

而且有时候当我们的电脑出了问题之后,需要在真正的终端里解决问题。



图形模式的终端

受了点“真正”终端界面的小刺激之后,我们来看看我们目前通常使用的终端模式。即使是最疯狂的Linux用户也更喜欢使用图形模式下的终端。

原因有很多:

  1. 图形模式的终端更加亲民,而且你使用终端的时候,还可以使用其他图形界面的应用程序,比如使用聊天软件和朋友聊天等。
  2. 屏幕分辨率更大,所以我们可以在终端里显示更多的内容。
  3. 我们可以自定义终端的外观,甚至给它换个背景。
  4. 我们还可以用鼠标(是的,在图形模式的终端里,鼠标也可以派上用场)来复制,粘贴文本等。

因此,我们在之后的课程中都会继续使用图形模式的终端。

那么,如何打开一个图形模式的终端呢?

  1. 如果你是在Unity桌面下,那么可以调出系统搜索框。Ubuntu 14.04 有一个被称作 Super 键的功能键,其实就是 Windows 系统中的 Win 功能键。也就是大多数键盘上那个带有微软徽标的按键,只不过在 Ubuntu 系统中被称作 Super 键。按下这个键与用鼠标点击桌面左上角那个 Ubuntu 徽标按钮的效果是一样的。可以看到 Super 键的功能其实就是一个搜索框,可以搜索电脑和网络上各种软件、资料和一切你需要的东西。然后你再搜索框中输入“terminal”,就可以看到终端被找出来了:

    你可以将 “Terminal” 锁定在任务栏或者放在桌面成为快捷方式,这样以后就不需要每次都通过 Super 键来启动。

  2. 可以用快捷键来调出终端:Ctrl + Alt + T。当然你也可以在快捷方式里自己修改调出终端的快捷方式组合,不一定要用系统默认的。



总结

  1. 终端是个奇妙的东西,一开始它的低颜值,高难度可能会令我们灰心气馁。但是入门之后,你会发现终端命令行是如此强大,简直飞一般的感觉。而且终端可以帮助我们完成一些图形界面做不到的工作,且能化繁为简。
  2. 虽然我们可以借助快捷键(Ctrl + Alt + F1 ~ F6)来进入tty1 ~ tty6这六个真正的全屏幕的终端,但是我们平时还是最常用图形模式的终端。

第二部分第二课预告

今天的课就到这里,一起加油吧!

下一课我们学习:命令行,世界尽在掌握

版权声明:本文为博主原创文章,转载请务必注明出处,否则追究法律责任。

时间: 2024-10-05 01:26:39

【Linux探索之旅】第二部分第一课:终端Terminal,好戏上场的相关文章

【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?

内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢!   开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱们老百姓呀,用用Windows就高兴. 但事实并非如此,Linux不是那么“难于上青天”的. 不少学编程的朋友看过<鸟哥的Linux私房菜>,是台湾的鸟哥写的,非常棒. 小编也开始写一个系列教程,希望对自己对别人都有帮助.但我会非常认真的,不会乱来. 在这个教程中,小编会向您证明:Linux并不复

【Linux探索之旅】第二部分第六课:Nano,初学者的文本编辑器

内容简介 1.第二部分第六课:Nano,初学者的文本编辑器 2.第二部分第七课预告:软件安装,如虎添翼 Nano,初学者的文本编辑器 这一课比较简单,没有什么太难的概念.不过这一课会讲如何配置终端噢. 大家可以泡个泡面,烤只烤鸡:剥个卤蛋,慢慢来看. 之前的课程中,我们已经学会了在终端中用多种不同的方式来查看文件的内容,但是我们还不知道如何在终端中修改文件的内容. 为什么我们把文本编辑器推迟到现在来说呢?因为这是终端可以提供的强大功能之一. 在Linux终端的文本编辑器当中,比较著名的有:Nan

Linux探索之旅 | 第五部分第二课:一入Shell深似海,酷炫外壳惹人爱

-- 简书作者 谢恩铭 转载请注明出处 内容简介 前言 Shell是什么? 我们的第一个Shell脚本 运行Shell脚本 总结 第五部分第三课预告:变量在手,Shell不愁 1. 前言 上一课是 Linux探索之旅 | 第五部分第一课:Vim岂是池中物,宝剑锋从磨砺出 . 现在,我们已经学习了 Vim 这样强大的文本编辑器.相信我,Vim 对我们之后的课程会非常有用. 这一课我们可以进入第五部分的重心了:Shell 编程. 什么是Shell呢? 首先,shell 是英语"壳,外壳"的

【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见

内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是什么,以及如何安装Linux系统(我们以Ubuntu这个Linux发行版为以后的演示系统),我们也在上一课终于把Ubuntu安装好了. "很不错,掌声给自己". 安装Ubuntu遇到什么问题,可以在我们的QQ群和微信群提问,也可以私信小编,QQ.微信.邮件都行.联系方式在下面. Linux

【C语言探索之旅】 第二部分第一课:模块化编程

内容简介 1.课程大纲 2.第二部分第一课: 模块化编程 3.第二部分第二课预告: 进击的指针,C语言王牌 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量

【Linux探索之旅】第二部分第七课:软件安装,如虎添翼

内容简介 1.第二部分第七课:软件安装,如虎添翼 2.第二部分第八课预告:RTFM 阅读那该死的手册 软件安装,如虎添翼 这一课也会相对比较轻松,所以好好享受吧. 我们来谈谈Linux下软件的安装,会在我们的Ubuntu这个Linux发行版中演示. 一般提到软件安装,有过Windows系统使用经验的朋友肯定会深有体会,那个麻烦啊,大致流程是这样的: 在搜索引擎(比如百度或google)中搜索我们的软件名称. 看到一个不错的结果,点击进入.如果是官网一般会进入官网. 下载此软件的安装程序. 双击下

【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:"小编,你为什么每次都要起这么非主流的标题呢?不能愉快地玩耍么?" 小编:"那我问你,老子他为什么要写<道德经>咧?" 读者:"为什么咧?" 小编:"因为老子愿意!" 开个小玩笑轻松一下 O(∩_∩)O~ 没办法,不能不激动,因为我们终于来到了这一刻,

【Linux探索之旅】第三部分第二课:流、管道、重定向,三管齐下

内容简介 1.第三部分第二课:流.管道.重定向,三管齐下 2.第三部分第三课预告:监视系统活动,滴水不漏 流.管道.重定向,三管齐下 这一课我们来学一些非常有用的内容,而且相当有意思,而且内容很多,而且有可能颠覆你的三<观>(毕竟三管齐下,不颠覆三观也难). 今天的标题中的三个名称,听上去就怪怪的.什么流,管道,重定向,都啥玩意啊.不过希望学完这课,大家能够有拨云见雾的感觉. 到目前为止,我们已经学习了不少Linux的命令了,也已经比较熟悉命令行的用法了.其最基本用法是这样的: 在终端输入命令

【C++探索之旅】第二部分第一课:面向对象初探,string的惊天内幕

内容简介 1.第二部分第一课:面向对象初探,string的惊天内幕 2.第二部分第二课预告:掀起了"类"的盖头来(一) 面向对象初探,string的惊天内幕 上一课<[C++探索之旅]第一部分第十二课:指针一出,谁与争锋>中,大家辛苦了. 诚然,指针是不容易啃的硬骨头.不过,假以时日,小火慢炖,可以成为一碗上好的骨头汤,对你的C++水平那可是大补. 好了,口水擦一擦,我们正式进入C++探索之旅的第二部分啦,激动不?刚擦完的哈喇子可不要继续流啊. 这一部分的课程称为:C++之