老天让你拥有了一部电脑。接下来呢?
......???
电脑,是什么东西?通俗点讲,就是某种大脑,不过是基于电来模拟的罢了。
西方古代有个哲人说过:一切皆数。
中国古代大概也有哲人说过:万物皆阴阳(说过吗?我不知道)。
所以,可以得也结论:一切的一切 = 万事万物 = 数 = 阴阳 = 0和1。
所以,电脑,本质上,就是一台计算机:就是用来0和1两个数,基于2进制的数学进制理论,来计算和模拟、映射和表达一切。
但这太学术化了,简单和直接点讲,就是电脑里边有个最核心、最关键的组件,叫CPU(中央处理器),这玩意会计算,相当于人的大脑,因为它是基于电的,所以,我们就叫它电脑。
当你得到了一部电脑的时候,其实,你就得到了一部大脑。但这个大脑,其实是由一堆硬件组成的,理论上讲,叫计算机五大组件:控制器、计算器、存储器和输入设备、输出设备。其中CPU包括了控制器、计算器,我们可以把它错误地、无限不准确地理解成左脑仁、右脑仁(反正CPU包括两个东西)。
得到了一个大脑,就相当于得到了一个人(有句话好像这样说的,叫什么“到了我的身子、得不到我的心”之类的?如果你听明白了的话,意思大概就是说:如果没有得到心,就相当于没有得到人,即心是根本;既然心是根本,反过来,也就说,得到了心,约摸就得到了人。。。对,就是这个理)。这个人,是个什么人,当然是个机器人啦,你得到了她的心了呀。电脑是可爱的,要不然,为什么这个时代,人人都整电脑(计算机)呢?(其实,展开点讲,手机也是的呀)
没错,有了一部电脑。就相当于得到一个机器人,一个奴仆一样的机器人,你怎么整都行,人家不会反抗和拒绝的,都听你的。所以,人可以好好利用一下了。
但我们说,得到了一颗心,就相当于得到了一个人,是约摸得到,是相当于得到。换句话说,你还是只得到了心,得到了大脑,没有得到身子。
电脑,毕竟不是人。只是相当于得到了一个大脑袋(用脑壳包裹着脑仁,一堆硬件包裹着灵魂)。
当身子没有,只有脑壳+大脑的时候的时候,你看到了什么?大脑是个球!
当 我们得到一部电脑的时候,我们并不能直接使用它。我们第一步,就是需要在电脑上装上一个操作系统。像Windows,Mac,Unix,Linux这些,都是操作系统。
当我们装上Linux之后,我们就可以使用它来帮我们管理我们的电脑(计算机)了。
但是,对于Linux来说,电脑(一堆硬件,包括CPU)是非常重要的东西,所以它不允许我们直接操作和管理硬件,我们如果要操作和管理硬件(比如CPU,计算点东西,比如1+1=?),必须先通过它通过Linux才可以?这是什么意思?
这就是说,Linux相当于你的电脑(那一堆硬件,包括CPU这颗大脑袋)/这个机器人的代理人。换句话说,你可以把Linux这个OS(操作系统),大体等同于你的电脑,等同于那个大脑袋。
事实上,Linux就是这样理解电脑的,所以,它把自己也整成了个球。这个球,不是乒乓球、也不是足球或者篮球,而是一颗星球,类似地球一样的,宇宙之心。
我们大体可以这样理解:
电脑(比如一台HP)=============操作系统(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是外壳,没错的,是保护她的外壳。但同时,也是大地。
什么?-------------------------丫环是大地?又一万个草泥马路过
大地太大了,小朋友,你也许能理解,也许永远也理解不了
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有个根文件系统,