初识Linux

Linux操作系统本质就是一个应用。只不过它不像我们常用的浏览器、播放器那样有特别专一的使用方向。它就像一个百货商场,提供各个门店所需的开店环境,所有的应用都架设在其上。

我们想要开店自然需要装修门店,如何装修,就需要我们了解其结构,最大限度发挥它的功能。计算机的硬件组成就相当于这座大楼的主体框架,所有的装修都是围绕框架展开的。硬件的性质直接决定了这座大楼能盖多高,门店最终能装修成什么样子。因此了解基本的计算机结构组成对于使用Linux是必要的。

为什么要使用Linux?

抛开大众化视角,只谈我自己对它的需求(非典型特点):首先,用它能让我获得掌控感。从小小的命令行能够探索整个世界,想让它做什么它就能做什么。其次,很简洁。对于计算机性能的追求一直是我的偏好,这套系统能够让我在现有的配置下体验到数倍于现有性能的顺滑感。最后,未来职业方向的需要。身处夕阳专业,在还没有正式走入职场前就开始随附着的经济体下沉,想想真是挺恐怖的。依附在一个快速崛起的经济体中,稳定工作几年自然能让自己有更好的生活。恰好,Linux给了实现这些要求的可能。

Linux基本框架

Linux的基本组成

了解了计算机的基本工作原理,再开始使用Linux就轻松许多。Linux的基本组成有四大块:内核、命令解释器(shell)、文件系统和应用程序。内核相当于大楼的中控室,控制软件的运行,管理着硬件设备。命令解释器相当于一个壳,就像你看到的门店,一切活动都从这里开始。文件系统就好像大楼物业,有着层层的管理结构,控制文件共享和操作权限。应用程序就像一个个商户,因为它们的存在丰富了商场的生态。

内核是操作系统的核心,之所以有Windows、Mac、Linux的区别只要原因它们的内核架构不同,反映在我们看到的上面就是系统进程,内存、设备驱动、文件、网络的管理方式,直接决定了系统的性能和稳定性。

用户使用桌面应用程序通过接口调用系统内核进行相关操作,从而实现对硬件的控制。值得注意的是在Linux中系统为了方便内核的调用将所有内核的功能接口制作成了系统调用(system call),这种方式就像自己需要门店,不用自己装修直接租赁现成一样。用到什么功能直接在terminal中键入命令行就可以实现相应功能而不需要我们了解复杂的内核结构。同时我们也不可能实现系统调用所没有的功能,除非你修改系统的内核。使用系统调用时会发现要实现某些功能及其繁琐,因此引入了库函数的概念。库函数是为了方便系统调用而创造出来的模块化功能库,利用它可以轻松调用内核。

Shell是系统的用户界面,用户可以通过这个壳与系统内核进行交互。在这里我们键入命令,它会自动将接收到的命令传输到内核执行。用术语表述它的作用即:命令解释器。有了这样一个用户交互界面,可以帮助我们快速实现语法编写和整合调用内核实现某些操作的需求。更加通俗的解释是shell的功能就像一个遥控器,我们想要看某个频道只需要键入某个数字,然后遥控器将我们的输入传递给电视,最后以画面的形式反映在我们的眼前。

文件系统反映了一个操作系统组织管理文件的方式。对于文件管理除了以文件类型进行划分外,值得格外注意的是Linux系统组织文件和目录的方式区别于Windows中盘符管理,它的目录以严格的倒树形图结构进行编排,整个磁盘空间形成一个整体,所有的程序在安装时自动创建文件系统和固定的目录组成形式,并根据文件作用指定了每个目录的作用和其中的文件类型。这样的组织形式为Linux用户之间共享和管理文件提供了有效方法。

应用程序的出现丰富了Linux的生态,严格来说它并不属于Linux的基本组成,但是没有了应用程序就好像一个人没有了灵魂,空有一副人形如同走肉。Linux作为自由软件,有很多的发行版,各个发行版都集成了许多用户所必需的应用程序,根据需要自己选择就好。

Linux的基本操作

一门技术,在知道其最少必要知识(基本框架)后,掌握它最好的方法就是动手实践。

了解了Linux的组成和基本框架就可以开始正式的操作了。首先你的电脑上需要有一个Linux系统,市面上的发行版很多,我安装的是Ubuntu。具体的安装方法我会再写一篇(市面上安装教程那么多我为什么还要再写一篇?俗话说教是最好的学,学习的内容以文字的形式呈现出来对于我的理解和认识也很多有帮助)。

类似于我们一开始使用Windows操作系统,第一步需要知道的是如何开机、登陆(以系统管理员级别登陆)、注销和关机。知道了这些就可以利用shell开启Linux旅程了。不同于Windows通过图形窗口控制系统,Linux通过shell这个壳,以命令行形式在terminal中控制一切。

命令行是我们控制Linux的核心,以命令行之名我们就可以统帅三军,彻底掌握Linux。

Shell基本命令

常见的shell操作命令涵盖五个方向:目录操作、文件操作、系统及权限操作、进程操作、通信操作、I/O命令等。具体的命令介绍和使用方法我会另开一篇文章介绍。

最后,总结一下Linux系统的一般性框架。

Linux系统是一个利用命令行键入命令,通过内核实现对硬件控制的系统软件。

Shell提供了一个人机交互界面,通过编写合适的代码实现相应功能。

以命令行为引,利用库函数调用模块功能实现系统调用,从而将系统分离为应用层与内核层,提高应用层程序的可移植性。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180702G1P7GO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券