oracle学习入门系列之三Unix、Linux历史及基础
oracle学习入门系列之三Unix、Linux历史及基础
终于翻过了前面两篇,喝杯咖啡提下神,咱们继续前行。这次我们要进行操作系统方面知识了,考虑到当前时间上操作系统的多样性、变化性等,蛤蟆斟酌再三,决定还是Unix/Linux比较符合我们的实际。
开始之前不得不又提几个问题:
1、 Unix 从哪里来
2、 Linux从哪里来
3、 Unix/Linux什么关系
4、 怎么入手这系统
哎呀,看见这些问题蛤蟆就有点老激动了,最喜欢唠嗑的就是这些鸡皮蒜毛的事情了。让我们赶紧开始吧~~不急,留个邮箱先
本人邮箱:[email protected]
微信公众号:HopToad
欢迎各界交流
1 UNIX从哪里来
我看见当前很多小伙伴都急着去实践一些命令,去理解操作系统的实现,甚至去看操作系统的源代码,其实呢蛤蟆觉这个真的不要捉急的。如果小伙伴这么急着去做这些,蛤蟆相信不用多久小伙伴就打起退堂鼓了。因为这样坚持不下来,遇到大一点的困难,很容易让人放弃的,放弃了就什么也没了,以前的也就白学了。蛤蟆觉得任何事情最好的老师是兴趣,而怎么来提起小伙伴们感兴趣呢?我想就是这鸡毛蒜皮的事情,看着这一地鸡毛我们也知道就算是Linux,windows,mac os这些牛逼的操作系统,当时也是一步一步成型的,并非是出来就是现在这个样子的,我们一方面就能建立兴趣,另一方面也能建立信心了哈。
让我们切入到正题,unix 从哪里来?
让我们回到1965年时候,贝尔实验室、通用电气、MIT合作了一个项目,(之前我们在第一篇中说过IBM在1964年推出了大型机么),这个项目就是实现在一台机器上支持多个任务、多个使用者同时接入,同时让所有使用者都感觉像自己一个人在使用机器一样(我们现在的机器其实都有该特性了,但是最原始做这个事情是多么不容易的)。这个项目名字叫做MULTICS操作系统。
到了1969年,也是过了4年,贝尔实验室感觉项目进度太慢,就不干了。(这里不得不提下贝尔实验室,贝尔实验室发明了是晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音,以及通信网等,共6次拿诺贝尔奖,科学家多如牛毛,类似三国中的魏国,武将如云,谋士如雨啊,贝尔实验室真心为美国、为人类做出了巨大的科学研究,要知道我们国家至今没有科学领域的诺贝尔奖,文学奖当然另算的)
贝尔不干之后,有个叫Ken Thompson(Unix之父)的老程序员闲来没事,开始玩星际旅行的游戏了,Ready go!!飞机起飞了,左转,右舷打满,刹车,继续飞行。。。。嘭。。飞机爆炸了。
Ken Thompson:!@#$%^&*,这个反应机器反应太慢了~~~
于是Thompson发现了一台闲置的机器PDP-7,就把游戏移植过去了。这样Thompson在PDP-7上玩游戏了,他叫了Dennis Ritchie(C语言之父)一起玩来玩,这台PDP-7也最多支持2人。一个同事Brian Wilson Kernighan(UNIX,C语言双重元老)跑过来说你们这个太简单了,应该是"UNiplexed Information and Computing Service",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为"UNIX元年"。
1971年,Thompson为了更好的问游戏,申请一台PDP-11/24机器,他们就一直游戏过去了,当前在机器上也实现了简单系统(Unix第一版)了。到了73年,又有新机器出来了,Thompson和Ritchie感觉每次用汇编一直太累了,说的也是啊一年12个月,他两移植搞了10个月,打游戏就剩下2个月了,而且第二年新机器就出来了。
穷则思变了,他们决定用高级语言来实现,这个想法在那个年代的确实属伟大啊,难怪是大师嘛。他们用Fortran失败了,然后用BCPL语言,在此基础上形成了B语言(Unix第二版),然后Ritchie觉得这个还是不能满足,然后改良了B语言,就有了今天的C语言。
接着就他两一起把原先汇编的代码用C重写了,形成了第三版。至此UNIX和C完美结合了。
两个好基友因为打游戏(咳咳),通过自己的努力成功在IT历史上划下了重重的一笔,任时光如何荏苒,抹不去他们的作用,当前这游戏的功劳是在伟大。
公司一开觉得没撒,不就是两个不务正业的码农搞的什么软件么,就免费提供给高校老师玩耍,这一闹,到了70年代后期,公司发现其中商机了,开始保护UNIX,让其成为商业机密了。到1979年开始就是Unix版本v7 停止大学使用Unix源码了。
到了80年,出现了两个分支,一个是贝尔实验室自己的正宗版本,一个是伯克利大学的BSDUNIX(之前几年不是开放了源码的了么,高校老师也不吃素啊)。这样一来就爆发了UNIX大战,各种系统出现了,HP-UX,SUN的Solaris, IBM的AIX ,贝尔自己的SYSTEM V 等等。我只想说:我去啊~~~。就是类似咱们春秋战国时期的百家争鸣,
为此在1984年,UNIX用户协会出来说话,“你们这样叫我们怎么玩嘛?这么多系统,各不一样”
后来IEEE出击指定了POSIX标准,通过一组最小的功能定义了在UNIX操作系统和应用程序之间兼容的语言接口。POSIX是由RichardStallman(GNU创始人,大拿一枚,来过杭州的说) 应IEEE的要求而提议的一个易于记忆的名称,含义是Portable OPerating System Interface(可移植操作系统接口),而X表明其API的传承。
KenThompson和DennisMacAlistair Ritchie同为1983年图灵奖得主。
UNIX来源至此明了。
总结:两个不务正业,爱玩游戏的码农,在上班期间搞了一个小软件来支持自己游戏,结果玩大了。用咱们中国人的话说就是:天时、地理、人和三要素齐全啊~
此处向Dennis MacAlistair Ritchie,Ken Thompson表示深深的敬意!
Ritchie 已于2011年10月12日谢世。
2 Linux从哪里来
那我们继续看看Linux是从哪里来的呢?
话说1979年,贝尔不在开源UNIX代码了,荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum(塔内保姆教授,蛤蟆最爱)教授,愤而一击,自己搞了系统叫做MINUX(就是min unix之意),共1.2W行。用来他的教学事业,可惜不让别人增加其他代码,因为塔内老师怕量太多影响学生学习,多么有爱心的老师啊。
当年在芬兰的赫尔辛基大学的学生Linus买了台386的机器,看则MS-DOS的系统怎么都不爽,然后花钱买了塔内老师的书,呦,书还送光盘的,Linux赶紧装上MINIX玩起来了,感觉很是爽快。
很快发现,这个MINUX 功能有限啊,毕竟是学习版本嘛,而且塔内老师也不让加入其它功能模块。
(此处的说明下当时世界环境:
1991年,GNU计划已经发布了很多工具,如GCC也有
POSIX标准也已发布,Internet网络也开始起步了。)
Linus想了许久,进行了前期准备,发现GNU有好多好玩的工具,终于决定自己搞个像MINUX一样的系统出来。经过半年努力终于完工,于是在1991年10月5日,也就是咱们国庆期间啰,发布在comp.os.minix 新闻组上了,对外选宣布了linux内核,当时叫做FREAX(怪物的意思),新闻组管理员发现他姓Linus,那就叫Linux吧。
其实此时内核代码的量是非常上的,和MINUX也有点差距,很多思想直接来自于MINUX系统的。
到93年的时候,大约100名程序员加入内核编写修改,0.99版本大概有十万行左右了。
94年,Linux 1.0发布,代码17万行,采用GPL协议。
1995年1月,红帽公司成立了。
1996年,Linux2.0 内核40万行,支持多个处理器了,进入实用阶段。
Linux进入快速发展道路……
直到现在。
总结:一个大学生在使用任何系统都不爽的情况下,自己搞了一套,结合天时、地理、人和最终颠覆了整个行业。
此处向Linus表示深深的敬意。
3 Linux基础
终于本篇的扯皮结束了,开始来点干货了必须。让我们操起小手开始吧
3.1 Shell理解
什么是shell?
Shell字面意思是壳,放在这里就是内核之外的包着的一层壳。内核负责和计算机硬件打交道,shell负责和用户打交道;shell扮演者用户和内核中间人的作用。
假如没有SHELL?
那么系统将会很难使用,任何一个简单操作都需要用户自己编码去实现了,人性化实在是不敢恭维。所以,我们看到UNIX出来时候基本就有SHELL了。
其实呢,Shell就是一些基于内核的应用程序。
那么这些应用程序由哪些呢?
ok,我们乘着这个机会来看看。
3.2 常用命令
这里蛤蟆就假设大家都有自己的Liux系统了,应为毕竟学习数据库嘛,数据库软件肯定会基于某个操作系统的嘛
#cd
切换目录的命令
#date
显示时间和日期
#echo
屏幕上显示文本
#history
显示用户前面输入的命令
#pwd
显示当前工作目录
#which
查看某条命令版本
#whereis
询问使用程序的可执行文件所在位置
等等,等等,是在不易全部列出,大伙记住如上命令,就可以行走于SHELL内外了,哈哈
重要的是告诉大家几个法宝
#man
如果不知道cd 命令 怎么用
#mancd
就会显示怎么使用cd了,记住这个胜记百个命令嘛。
3.3 Vi编辑器
vi 编辑器是Linux和Unix上最基本的文本编辑器,刚上班那会,听同事说这个东西大师都用的,于是我苦练之,3年之后终于….
发现其实就是个软件嘛~大师用什么并不重要,重要的是大师用其来干嘛。
不过话说回来,工欲善其事,必先利其器。所以我们还是很有必要玩好vi的,不然在linux下编辑个文件都困难了。
具体蛤蟆不展开了,做到如下几点就可以
知道如何打开文件(如:vi a.txt )
知道如何切换模式( vi 有两种模式,命令模式和编辑模式 )
知道如何插入文字
初步就这样,大家可以练习一下,只要1~2天即可娴熟。
3.4 目录介绍
我们知道windows中以后C盘D盘什么,其实最早有A盘,B盘的,那是留给软盘使用的,没想到淘汰得这么快,我记得小时候我姐买的电脑上有软驱,有几个软盘1.44M大小才,记得我看上里面黑色的磁片,贼光亮的,好奇心驱使,然后就用螺丝刀都给拆了,然后…..反正屁股肿了几天。
Windows中C盘打开后看到的全是系统文件的目录,Linux中其实也差不多,只不过Linux的最外层是一个叫做根的目录,用“/”表示。
我们暂时记住几个目录就行了
一个 “/”根目录,所有其他目录从这里衍生出来,一个系统就一个”/”
一个/boot目录,这个目录是挂载 根目录下”/” 的,存放的是启动文件
一个/home目录,所有新的用户都可能会在该目录下存在工作目录,对了,就是可能,因为有些可能没有或者不需要。
3.5 其他常用命令
#ssh 安全外壳协议,用于远程登陆
#ftp 文件传输协议
#telnet Internet远程登陆服务的标准协议和主要方式
#top 系统监控命令
#vmstat 进程、CPU、内存、缺页监控命令
大家可以自己百度或者google学习,或者后续碰到了再学习之也不迟。因为这些不是本学习系列的重点,再此就结束了。下篇我们将学习Oracle了,想想也是有点小激动的了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。