oracle学习入门系列之三Unix、Linux历史及基础

终于翻过了前面两篇,喝杯咖啡提下神,咱们继续前行。这次我们要进行操作系统方面知识了,考虑到当前时间上操作系统的多样性、变化性等,蛤蟆斟酌再三,决定还是Unix/Linux比较符合我们的实际。

开始之前不得不又提几个问题:

1、  Unix 从哪里来

2、  Linux从哪里来

3、  Unix/Linux什么关系

4、  怎么入手这系统

哎呀,看见这些问题蛤蟆就有点老激动了,最喜欢唠嗑的就是这些鸡皮蒜毛的事情了。让我们赶紧开始吧~~不急,留个邮箱先

本人邮箱:appdevzw@163.com

微信公众号: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了,想想也是有点小激动的了。

3. oracle学习入门系列之三Unix、Linux历史及基础相关推荐

  1. 1. oracle学习入门系列之一 数据库发展与历史

    oracle学习入门系列之一 数据库发展与历史 这个oracle学习入门系列是根据本人工作中的一些笔记.项目进行回忆.整理.一方面是自己知识积累,便于技能提升:另一方面是和小伙伴们共进退互通有无,做一 ...

  2. ​Au 入门系列之三:波形编辑器操作基础

    Au菜单:窗口/编辑器 快捷键:Alt + 1 查看波形编辑器:9 或 1 要编辑单个音频文件,请使用波形编辑器 Waveform Editor. 波形编辑器使用破坏性方法,这种方法会更改音频数据,同 ...

  3. BP算法双向传_链式求导最缠绵(深度学习入门系列之八)

    摘要: 说到BP(Back Propagation)算法,人们通常强调的是反向传播,其实它是一个双向算法:正向传播输入信号,反向传播误差信息.接下来,你将看到的,可能是史上最为通俗易懂的BP图文讲解, ...

  4. LSTM长短记,长序依赖可追忆(深度学习入门系列之十四)

    摘要:如果你是一名单身狗,不要伤心,或许是因为你的记忆太好了.有时,遗忘是件好事,它让你对琐碎之事不再斤斤计较.然而每当自己记不住单词而"问候亲人"时,也确实气死个人.于是你懂得了 ...

  5. BP算法双向传,链式求导最缠绵(深度学习入门系列之八)

    摘要: 说到BP(Back Propagation)算法,人们通常强调的是反向传播,其实它是一个双向算法:正向传播输入信号,反向传播误差信息.接下来,你将看到的,可能是史上最为通俗易懂的BP图文讲解, ...

  6. 卷地风来忽吹散,积得飘零美如画(深度学习入门系列之十)

    点击查看全文 此情可待成追忆".可"记忆"到底是什么?如果我告诉你,"记忆"就是一种"卷积",你可别不信.卷积并不神秘,它就在你我 ...

  7. 局部连接来减参,权值共享肩并肩(深度学习入门系列之十一)

    系列文章: 一入侯门"深"似海,深度学习深几许(深度学习入门系列之一) 人工"碳"索意犹尽,智能"硅"来未可知(深度学习入门系列之二) 神经 ...

  8. 损失函数减肥用_神经网络调权重(深度学习入门系列之六)

    原文链接 更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 系列文章: 一入侯门"深"似海,深度学习深几许(深度学习入门系列之一) 人工&qu ...

  9. “机器学习”三重门_“中庸之道”趋若人(深度学习入门系列之四)

    原文链接   更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 系列文章: 一入侯门"深"似海,深度学习深几许(深度学习入门系列之一) 人工& ...

最新文章

  1. 用JDK自带的监控工具jconsole来监控程序运行
  2. php 枚举类型比较,java 枚举类比较是用==还是equals?
  3. ServiceStack.Text反序列化lowercase_underscore_names格式的JSON
  4. 【转载保存】网页提取正文算法汇总
  5. springboot主线程_SpringBoot(一) 多线程与异步
  6. android adt带的ddms的heap功能不显示进程,Android内存泄露之DDMS – Heap工具
  7. redis映射的概念_Redis基础概念和实现机制的总结
  8. mysql 多行唯一_mysql – 具有唯一约束的原子多行更新
  9. mybatis的缓存技术使用
  10. EF Core 小工具
  11. 给博客添加搜狗云输入法
  12. 【转载】日本社会为啥没有“王思聪”
  13. 内网数字证书的生成与使用
  14. HDC1080 驱动程序代码(C语言版)
  15. flutter 返回键监听
  16. MLflow机器学习工作流管理使用教程
  17. Linux文件解hgc,【 大家一起来学习 Linux 源码 】:/*中英文注释*/
  18. 图解Java设计模式学习笔记——行为型模式(模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式)
  19. 印度为何能频频培养出全球顶尖的程序员?
  20. 数据治理:数据治理框架和标准

热门文章

  1. 【已解决】Java “错误:编码GBK 的不可映射字符”
  2. AMD皓龙系列服务器CPU,【彻底感悟】酷睿对AMD系列 双核CPU---皓龙Opteron 1210横向评测...
  3. (计算机组成原理)RISC与CISC的区别
  4. 最好的3个安卓epub阅读器
  5. 阅读Android源代码
  6. 安卓手机上有哪些好用的小说阅读器?
  7. 【CVPR2020】Detection in Crowded Scenes: One Proposal, Multiple Predictions笔记
  8. 迭代器模式(lterator Pattern)简介
  9. 全面解读居住证积分新政,赶紧看看你离落户上海还有多远!
  10. 微型计算机系统中,prom是,微型计算机系统中,PROM是A.可读写存储器B.动态随机存取存储器C.只读存储器D.可编程只读存储器...