Linux之禅

零、从阴阳之道、万物皆数,到二进制和计算机(电脑)

老天让你拥有了一部电脑。接下来呢?

......???

电脑,是什么东西?通俗点讲,就是某种大脑,不过是基于电来模拟的罢了。

西方古代有个哲人说过:一切皆数。

中国古代大概也有哲人说过:万物皆阴阳(说过吗?我不知道)。

所以,可以得也结论:一切的一切 = 万事万物 = 数 = 阴阳 = 0和1。

所以,电脑,本质上,就是一台计算机:就是用来0和1两个数,基于2进制的数学进制理论,来计算和模拟、映射和表达一切。

一、对于Linux来讲,大脑是个球

但这太学术化了,简单和直接点讲,就是电脑里边有个最核心、最关键的组件,叫CPU(中央处理器),这玩意会计算,相当于人的大脑,因为它是基于电的,所以,我们就叫它电脑。

当你得到了一部电脑的时候,其实,你就得到了一部大脑。但这个大脑,其实是由一堆硬件组成的,理论上讲,叫计算机五大组件:控制器、计算器、存储器和输入设备、输出设备。其中CPU包括了控制器、计算器,我们可以把它错误地、无限不准确地理解成左脑仁、右脑仁(反正CPU包括两个东西)。

得到了一个大脑,就相当于得到了一个人(有句话好像这样说的,叫什么“到了我的身子、得不到我的心”之类的?如果你听明白了的话,意思大概就是说:如果没有得到心,就相当于没有得到人,即心是根本;既然心是根本,反过来,也就说,得到了心,约摸就得到了人。。。对,就是这个理)。这个人,是个什么人,当然是个机器人啦,你得到了她的心了呀。电脑是可爱的,要不然,为什么这个时代,人人都整电脑(计算机)呢?(其实,展开点讲,手机也是的呀)

Linux之禅_第1张图片

没错,有了一部电脑。就相当于得到一个机器人,一个奴仆一样的机器人,你怎么整都行,人家不会反抗和拒绝的,都听你的。所以,人可以好好利用一下了。

但我们说,得到了一颗心,就相当于得到了一个人,是约摸得到,是相当于得到。换句话说,你还是只得到了心,得到了大脑,没有得到身子。

电脑,毕竟不是人。只是相当于得到了一个大脑袋(用脑壳包裹着脑仁,一堆硬件包裹着灵魂)。

当身子没有,只有脑壳+大脑的时候的时候,你看到了什么?大脑是个球!

二、Linux,就是个球,会思考的星球,是宇宙之心

当 我们得到一部电脑的时候,我们并不能直接使用它。我们第一步,就是需要在电脑上装上一个操作系统。像Windows,Mac,Unix,Linux这些,都是操作系统。

当我们装上Linux之后,我们就可以使用它来帮我们管理我们的电脑(计算机)了。

但是,对于Linux来说,电脑(一堆硬件,包括CPU)是非常重要的东西,所以它不允许我们直接操作和管理硬件,我们如果要操作和管理硬件(比如CPU,计算点东西,比如1+1=?),必须先通过它通过Linux才可以?这是什么意思?

这就是说,Linux相当于你的电脑(那一堆硬件,包括CPU这颗大脑袋)/这个机器人的代理人。换句话说,你可以把Linux这个OS(操作系统),大体等同于你的电脑,等同于那个大脑袋。

事实上,Linux就是这样理解电脑的,所以,它把自己也整成了个球。这个球,不是乒乓球、也不是足球或者篮球,而是一颗星球,类似地球一样的,宇宙之心。

我们大体可以这样理解:

电脑(比如一台HP)=============操作系统(Linux)

硬件                                                       软件

生理                                                      心理

大脑/=========================心或灵魂

机器人(本身)---------------------------(机器人的)完全代理人

三、Linux的星球结构

作为操作系统,Linux由四部分组成:

               (1)内核:Kernel

               (2)外壳:Shell

               (3)文件系统:VFS

               (4)应用:Apps

什么意思?我们说Linux是我们电脑的代理人(机器人),所以她得干活呀

那我们怎么让她干活?

她会跟你说,她很脆弱(?什么脆),因为她是一团火焰,不,她是一颗灵魂

所以,你不能直接整她。什么意思?就像你用手指,指着自己的鼻子,说“我”的时候,“我”到底是什么?有时候真让人迷茫啊,到底是指这血肉之身,还是这万里挑一的会思考而有趣的灵魂呢?

哦,有点扯远了。

Linux,是说,它是由4部组成的,kernel也就是内核,是你的电脑,也就是那堆硬件的真正代理人,无限接近等同于电脑(硬件)本身,你不能直接弄他(kernel),容易弄乱?不管怎么样吧。反正跟不能直接操作硬件的CPU一样,你也不能直接操作摆弄kernel。

那,这,那,这...那这怎么办呢?

她就会跟你说,你别急!她弄了个全权代理人,叫shell(外壳)。

是的Linux的另一个部分就叫外壳(Shell),由于kernel很敏感和脆弱,是个大小姐,像个大家闺秀的样子。所以,就整了个贴身的丫环,作为她的全权代表,kernel呆在里屋,shell时刻候在房门外。就是这个样子,你有什么事,想找一下kernel,kernel是不会直接搭理你的,你得跟shell这个房门外的首席丫环打交道。

当然,这是拟人化的说法。

Linux还会跟你说,最却切地讲,她本身是个球 ----------------我操!一万个草泥马路过

是个类似地球一样的星球,Kernel是颗滚烫的心,是一堆火焰一样的灵魂,是会思考的星球之心。

所以,你不好直接和她生活在一起的,所以,她整了个外壳kernel,用于保护她,也保护你,保护你和她伟大而友好的关系-----------------------操,也许,距离才是美吧!

Linux跟你说,你别怕,也不用担心,她有一个丫环,也得也很漂亮,也很美?不,她会跟你说,Shell是外壳,没错的,是保护她的外壳。但同时,也是大地。

什么?-------------------------丫环是大地?又一万个草泥马路过

大地太大了,小朋友,你也许能理解,也许永远也理解不了

四、方与圆,Shell与终端

Linux跟你说,她是个球!

(停。。。停。。。赶紧停-------------你心里想)

但Linux,她说,你听她说完,(好吧,你慢慢说,我仔细听着呢)

她说她是颗好大的球,类似地球一样,因为是虚拟的,你可以把Linux这颗星球,理解成比地球还大得多的一颗星球,她的最里边,是她的内核(kernel),外层是它的壳,叫shell,因为星球是圆的,所以这个壳shell,大体也是圆的。

但无论怎么讲,shell就代表了kernel,kernel就代表了Linux,Linux就代表了你的电脑。

你的脑袋很大,不你的电脑很大,不你的电脑的这颗脑袋,这颗虚拟的脑袋,很大(功能很强大),所以是颗很大的球,作为像地球一样的星球,球很大,所以最直接的体现,不是她的内核很大(因为你不好直接看到的),而是她的外壳很大,shell很大。而且,人们或者你,必须通过shell来和kernel或者说Linux,又或者说你的电脑(硬件)打交道。

所以,一般来说,将来,你将和shell生活在一起,和她打交道。

人类有一种说法,叫大地母亲,或大地如母。

Shell也一样。Shell就是外壳,外壳很大,如大地一 般。

Kernel是个球,所以是圆的,所以Shell也差不多,大抵也是圆的。

Kernel虽然敏感,似乎挺脆弱的。其实很强大,所以,Shell也很强大。

因为,是完全的,或全权的代表。

。。。

所以,要理解Shell,你只需要默念:Shell是圆的,Shell是外壳,Shell是大地,Shell很强大,就好了,对了,我得记得,Shell如我(kernel?Linux?CPU?电脑?一堆破硬件?)

反正,代理这玩意,尤其是全权代表这玩意,抽象得很,怪得很,也神奇得很

Shell代表kernel,kernel代表Linux,Linux代表CPU、一堆破硬件,一堆破硬件代表一颗大脑,叫电脑或计算机。

正如人们自古以来所习惯的那样,大地看起来并不是圆的,人们看不见地球,只能看见大地。

人们能看见大地,但本质上讲,又只能看见脚下的这一小块大地。

人们并不觉着自己生活在地球上,同样,人们也不大会去想,大地之下,有一颗滚烫的核心,叫地心。

人们甚至都不会一天到晚说什么大地,因为那是哲学家或者诗人要说的东西。

人们更习惯于直接生活的这片土地,这片土地,不是一个球,不是圆的,不是曲面的,而是方的,像一块比较大点的木板上,。。。不过还好,方的就方,不是球也没有关系。。。因为如果你生活的地方,五行属木,那也算是生机勃勃了

Linux跟你说,我别急,她还有些话要讲

她说,正如日常人们所见,大地不是圆的,而是方的。Shell也一样,人们使用电脑,操作Linux的时候,虽说是通过Shell来操作的。但是,却通过是通过一个终端来操作的。

这个终端,理论上讲,大抵可以理解作是一对I/O的结合体或综合体。

I就是输入系统,O就是输出系统。最直接最简单的理解,一个终端,就是一个键盘+一个屏幕,这样一对东西。可以这样简单理解。

I/O的本质,就是从I端(输入端)输出,O端(输出端)输出,输入的是指令,输出的是你想要的结果。中间部分,就是Shell(她代理了Kernel/Linux/电脑),而Shell只是代理或代表,所以本质上讲,代表的是计算部分或整个电脑的计算机过程。

终端,也可以理解成是一个Console,操作台,一个窗口,一块操作面板,一个操作平台。

正是通过它,你调用了计算机的计算功能,得到你想要的各种结果。

所以,正如Kernel大低等同于Linux,Linux大抵等同于CPU等一堆硬,等同于电脑本身。

我们也大抵可以这样理解:一个终端,等同于一个Console控制台,一个Console大抵等同于Shell。而Shell,就是一片大地,你可以说她是圆的,也可以说她是方的。

打开电脑,启动Linux操作系统,登录Shell。

当你看着长方形的电脑的时候,你同时也在看着长方形的屏幕,同时也在看着长方形的视窗。

当你操作着Shell的时候,你也就是调用kernel的各种功能,也就在操作着Linux,

不你操作Linux的时候,你也就晨调用着计算机的各种计算功能,你也就在玩电脑。

这一切都各有不同,不是同一样东西;但同时,这一切,又大抵相当,人们设计这一切的时候,其实有着大抵相当的目的。

摊开桌面,把我的灵魂也摊开,我们再摆上一摆上面讲到的这些东西吧,我看仔细瞧瞧,她们是同一样东西吗,她们是一样的吗?你会不会有点恍惚呢!

                 Left                                                                      Right

=========================              ===============================

终端 -------- 控制台 ---------- Shell   ~~~~~  Kernel -------- Linux ---------电脑(CPU等)

左手画方--------------------------------------------------------------------------------------右手画圆

五、生态:因为生态的存在,大地不是一片荒漠,而是一片乐园

上帝在造人之前,是忙了好一阵子的。

主要干了两件事:

第一件事,就是创平台,搞了一堆硬件设施,什么时空,什么天啊地啊,什么星球啦,建的这些东西,即便会动,基本上都是没有生命,没有灵魂和生气的;

第二件事,就是建生态,搞了一堆有活的,有生命的东西,什么动物植物,什么森林草甸走禽飞鸟,核心就是一个叫伊甸园的东西,这是一个乐园,更本质的,是一个生态系统。

在干完了这两件事后,上帝才很小心、很认真的创造了人,而且是照着自己的模样创建出来的。

这个人,叫是亚当,是个男人。至于在男人熟睡的时候,拿了他的软胁,再造了女人这事,那都是后来的事情。

Linux,也是这样子的,它后面的那个人,就是上帝,叫Linus,他是先造了星球的,什么内核了,外壳了,然后呢,他有一个工作要做,就是要创建好一个生态系统,一个类似伊甸园的东西,一个本质上似乎应有尽有的地方,叫伊甸乐园的东西。

这是一个伟大的工程,表面上是一件事,事实上,作为生态,是要整很多事情。

大地之所以叫大地,不只是因为她大;而是因为,大地是母亲,是最伟大的情感的发源地和归宿地,是因为大地充满了恩德。

因为只有建好了生态圈,因为要让一切至少要感到应有尽有,让她在默默中充满了恩德,成为快乐的源泉,让人在自己生活的领地,免于恐惧而心生快乐,树上长满甘甜美味的果子,让鹿群穿过林子,让小鸟鸣唱于树枝和云间,让河水如甘澧流过大地,人才说大地如母的,将来才会不吝于赞美,并由衷地歌颂她的伟大。

Linux也是这样的,有了kernel和shell还不行。Shell还得优化,创建各种必要的功能和辅助系统,简化使用人的方式和步骤。

在你购买电脑,电上Linux之前,大地已经被反复修饰过了,她生机勃勃,无比美丽

因为工具生态的存在,因为被反复优化、增强了各种扩展特性,作为大地的Shell,早已不是一片荒漠,相反,她是一方乐园,生气勃勃

Shell和Bash,有很多特性,比如:

1】命令提示 【关键词】:prompt

2】命令帮助【关键词】:help

3】命令和路径的自动补全【关键词】:compgen

4】命令历史【关键词】:history

5】命令别名【关键词】:alias

6】命令执行状态,命令结果引用(或命令替换)【关键词】:status, quote

7】命令的重定向和管道【关键词】:redirection, pipeline

8】命令行编辑【关键词】:readline

9】命令哈希【关键词】:hash

10】支持变量和可编程特性等【关键词】:variables, shell script

六、地主家的管家:根文件系统

你拥有一部电脑的时候,如果装的操作系统是Linux的话。

Linux会话这台电脑(无论是笔记本还是台式机),理解成是个球!

不,其实她是把自己弄成了个球。对于Linux这颗星球,

Shell是外壳,是大地。

所以,你相当于就是地主了。

不过,大地太大,你是个大地方,所以,你得有一个管家。

Linux早就想好了,所以,她给你弄了个管家,叫根文件系统。

当你想给你的电脑加一块硬盘的时候,Linux是怎么理解这件事的呢?

首先,无论是什么样的硬盘,出厂的时候,是已经低格(低级格式化了的),

也就是相当于有了一个框,一个固定的大小(容量)。

Linux是这么看待这件事的,你想加一块硬盘,也就是觉着你虽贵为地主,

但仍觉着家里地方不够大,想再扩建房屋,再建房子,就是这个意思,住的不够宽敞呗。

那建房子这件事,在Linux看来,是这么件事。

一,你得弄块硬盘回来,连上电脑,启动Linux,登录Shell

二,Shell就会说,这硬盘就是个框啊,是审批的一块建房子的地呀,

用人类的话说,叫宅基地,是地,不是房,还不能住人呐

三,要住人怎么办?

【1】得建房子呀!不建房子,难道天当被,地当床?

【2】得装饰呀!毛坯房,也不能呐

什么意思?

意思是说,Linux是这么理解的:

(一)

你买了块硬盘。

硬盘出厂通常已经格式化了一遍(叫低格,全称叫低级格式化),

给硬盘低格这玩意,相当于弄了一块地,建房子之前,搞了一下五通一平。

这只是个建房子之前的准备工作。

而你把硬盘买回来,只是获得了一块已经五通一平的宅基地。

它的本质是:

1)有了一块地,有了固定的面积;

2)做好了建房子前的基本工作:五通一平

3)得到了审批,你有了开发或建设使用的权利

(二)

接下来,你需要做的有三件事:

(1)建房子:Linux叫做【分区】

分区,本质上就是确立使用的边界;

(2)装修(主要是内装修):Linux叫做【格式化】

格式化,即创建文件系统(File System)。

相当于确定生活或运作的方式和风格,即遵循相应当的规范;

(3)房子建好了,也装饰好了,还得到管家那登记一下:Linux叫做【挂载】

挂载,即将文件系统挂载到特定的目录下,这个挂载的目的,就叫挂载点。

这相当于,让房产,获得内部的使用使用授权、纳入管理,同样也要守相应的规矩。

将分区格式化好的硬盘,到管家那登记一下,纳入管理。这个管家,叫是Linux的文件系统。

步骤 LInux磁盘管理 现实中住房问题 Linux命令
-1 硬盘出厂:出厂低格 土地:三通一平 dd
0 购买硬盘 竞标得地 /
1 硬盘分区:划分确定使用边界 建造房屋 fdisk
2 硬盘格式化:创建文件系统 装修房屋 mkfs,mkswap
3 挂载:挂载文件系统 交房登记,纳入管理 mount,swapon
其它 创建卷标 立房牌号 e2label

七、

Linux有个根文件系统,

你可能感兴趣的:(linux,运维,服务器)