Linux日记—00X0入门知识

发布于 2020-04-14  121 次阅读


导读

很久很久以前有一个传说,凡是习得linux的人,皆有大富大贵之相。(滑稽保命)

大概是在初中就已经听说过linux,最初的认识也只是皮毛,近来终于狠下心来,好好学习学习,故作此笔记,免得白给。

首先呢,认识一个事物的基础就是了解他的历史,linux历史不算悠久小30年,但现在已经发展到了很高的高度,我们一般所指的Linux,其实全称应该是GNU/Linux。

历史简介

操作系统始于二十世纪五十年代,当时的操作系统能运行批处理程序。批处理程序不需要用户的交互,它从文件或者穿孔卡片读取数据,然后输出到另外一个文件或者打印机。

二十世纪六十年代初,交互式操作系统开始流行。它不仅仅可以交互,还能使多个用户从不同的终端同时操作主机。这样的操作系统被称作分时操作系统,它的出现对批处理操作系统是个极大的挑战。许多人尝试开发分时操作系统, 其中包括一些大学的研究项目和商业项目。当时有个项目叫做 Multics ,它的技术在当时很具有创新性。 Multics 项目的开发并不顺利,它花费了远超过预计的资金,却没有在操作系统市场上占到多少份额。而参加该项目的一个开发团体——贝尔实验室退出了这个项目。他们在退出后开发了他们自己的一个操作系统—— UNIX 。

UNIX 最初免费发布并因此在大学里受到欢迎。后来,UNIX 实现了 TCP/IP 协议栈,成为了早期工作站的操作系统的一个流行选择。

1990 年,UNIX 在服务器市场上尤其是大学校园中成为主流操作系统,许多校园都有 UNIX 主机,当然还包括一些研究它的计算机系的学生。这些学生都渴望能在自己的电脑上运行 UNIX 。不幸的是,从那时候开始,UNIX 开始变得商业化,它的价格也变得非常昂贵。而唯一低廉的选择就是 MINIX,这是一个功能有限的类似 UNIX 的操作系统,作者 Andrew Tanenbaum 开发它的目的是用于教学。

1991 年 10 月,Linus Torvalds(Linux 之父)在赫尔辛基大学接触 UNIX,他希望能在自己的电脑上运行一个类似的操作系统。可是 UNIX 的商业版本非常昂贵,于是他从 MINIX 开始入手,计划开发一个比 MINIX 性能更好的操作系统。很快他就开始了自己的开发工作。他第一次发行的版本迅速吸引了一些黑客。尽管最初的 Linux 并没有多少用处,但由于一些黑客的加入使它很快就具有了许多吸引人的特性,甚至一些对操作系统开发不感兴趣的人也开始关注它。

Linux 本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。 Linux 没有自己去开发这些应用程序,而是使用已有的自由软件。这减少了搭建开发环境所需花费的工作量。实际上,他经常改写内核,使得那些程序能够更容易地在 Linux 上运行。许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目。GNU 项目开始于 1984 年,目的是为了开发一个完全类似于 UNIX 的免费操作系统。为了表扬 GNU 对 Linux 的贡献,许多人把 Linux 称为 GNU/Linux(GNU 有自己的内核)。

1992-1993 年,Linux 内核具备了挑战 UNIX 的所有本质特性,包括 TCP/IP 网络,图形界面系统(X window ),Linux 同样也吸引了许多行业的关注。一些小的公司开始开发和发行 Linux,有几十个 Linux 用户社区成立。1994 年,Linux 杂志也开始发行。

原文链接

总结:开始unix是linux他爸爸,最后linux是unix的爸爸。

具体名词解释

Unix

Unix操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一Unix规范的Unix系统才能使用Unix这个名称,否则只能称为类Unix(Unix-like)。

GNU

GNU是自由软件之父Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与他有关的大量软件是在GPL的推动下开发和发布的。

自由软件之父 - Richard Stallman 像一个神态庄严的传教士一样喋喋不休地到处传播自由软件的福音,阐述他创立GNU的梦想:“自由的思想,而不是免费的午餐”。这位自由软件的“顶级神甫”为自己的梦想付出了大半生的努力,他不但自己创作了许多自由软件,如:GCC、和GDB,在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了自由软件的经典之作。

如果说Richard Stallman创立并推动了自由软件的发展,那么,Linus Torvalds毫不犹豫奉献给GNU的Linux,则把自由软件的发展带入到一个全新的境界。

BSD

386BSD因为法律问题直到1992年还不能发布,NetBSD和FreeBSD是386BSD的后裔,比Linux早。Linus Torvalds说,当时如果有自由的基于386的Unix-like操作系统,他就可能不会创造Linux。尽管无法预料这给以后的软件业究竟造成了什么样的影响(如果没有这个法律纠纷,很有可能没有今天的革命性的Linux),但有一点可以肯定,Linux更加丰富了这块土壤。

Minix

Minix是一种基于微内核架构的类Unix计算机操作系统,由Andrew S. Tanenbaum发明。Minix最初发布于1987年,开放全部源代码给大学教学和研究工作。2000年重新改为BSD授权,成为自由和开放源码软件。

因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将Unix源代码私有化,在大学中不再能使用Unix源代码。教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与Unix兼容的操作系统,以避免版权上的争议。他以小型Unix(mini-Unix)之意,将它称为Minix。

Minix没有任何代码抄袭Unix,所以它们之间并没有任何继承关系,Minix作为当时有史以来的第一个开源的操作系统放到网上以后,短期之内得到了飞速发展,大量的人进行下载学习。

由于Minix是教授一人所写,所以存在一些漏洞。这时候有使用者发现漏洞存在,想着去下载一些补丁或者自己写一些补丁来修补这些漏洞,修补之后发现效果不错,然后就建议教授利用这些补丁完善下Minix,结果呢,教授比较固执,意思是说:为了维持Minix的纯洁性,不需要任何外来代码。也就是说,根本不打算做商业发行,所以Minux保持了其最原始的风范。

讲个笑话

linux是瘦企鹅,腾讯是胖企鹅。

据说当初小马哥在想logo时,

确实是因为自己没有创意,

想不出来一个好的创意,就直接抄袭了linux的logo。

这个小企鹅因为过于贪心,所以越吃越胖了……

优缺点

优点

  • 系统稳定
  • 免费(白嫖或许是人的本质)
  • 安全性漏洞可以得到快速的修补
  • 用户规划得当
  • 适合小内存的机器运行(嵌入式系统)

缺点

  • 支持的游戏少啊
  • 专业软件支持度不足
  • 没有厂商的支持

总结:linux牛皮,学就完事了

特性

  • 开放性

遵循开放系统互联(OSI)国际标准

  • 多用户

顾名思义,共用一台计算机的时候,你存的某些东西不会被别的用户看到(富强、民主、文明,和谐,自由,平等,公正,法治,爱国,敬业,诚信,友善)

  • 多任务

同时执行多个程序,程序之间相互独立

  • 良好的用户界面

用户界面

系统调用界面

图形用户界面

  • 设备独立性

外部设备当文件看,不需要知道具体的存在方式

  • 丰富的网络功能
  • 可靠的安全性
  • 良好的可移植性
  • 共享的程序库
  • 内存保护模式

Linux版本

Linux的版本继承了Unix的版本定制规则,分为内核版本和发行版本

内核版本:内核就是一个核心,其他软件都基于这个核心,不能直接使用,内核版本统一在http://www.linux.org发布,内核版本分为稳定版和开发版,区分方式是 根据次版本的奇偶判定,奇数为开发版,偶数为稳定版。

发行版本:由各个Linux发行商发布,Linux发行商有权选择Linux的内核版本。常见的Linux的发行版本:RedHat、CentOS、Debian、Ubuntu。

总结:内核父亲,发行儿子。


Linux结构

linux一般由内核,Linux shell, 文件结构和实用工具组成。

内核

内核是心脏,是运行程序和管理设备的核心程序,从用户接受指令传递给内核执行

内核分为以下几个部分:内存管理(支持虚拟内存),cpu和进程管理(基于优先级),虚拟文件系统,设备管理和驱动,网络通信,系统初始化,系统调用(重要部分)

Linux shell

shell 是系统的用户界面,提供了用户与内核进行交互的接口。他接受用户输入的数据,并将其送入内核执行。

说白了就是命令解释器(翻译官)

文件结构

linux使用数据结构中树状结构来描述文件

实用工具

编辑器,过滤器,交互程序

 


初闻不知曲中意,再听已是曲中人