Linux操作系统基础

1、Linux概述
       Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。Linux操作系统的诞生、发展和成长过程始终依赖几个重要的支柱,即unix操作系统、minix操作系统、GNU计划、POSIX标准和internet网络。
       标志:企鹅
       Linux之父:林纳斯·托瓦兹(Linus Torvalds)

2、Linux发展史
   (1)Unix
       Unix操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一Unix规范的Unix系统才能使用Unix这个名称,否则只能称为类Unix(Unix-like)。
   (2)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保持了其最原始的风范。
   (3)Linux
       在后来的几年内,由于计算机硬件工业的强力运作,以Intel主导的x86系统架构的个人计算机大行其道,所以个人计算机算是相当流行的一个机器了。但在此时,人们使用的大多还是DOS操作系统。此时,芬兰赫尔辛基大学有个叫Linus Torvalds的学生做了件不寻常的事情。当时他正好有一台386的计算机,由于并不喜欢自己电脑上的DOS系统,所以就想:既然Minix这么棒、这么稳定,那我何不将它移植到个人计算机 (好在由于Stallman提倡的Open Source理念,他得以接触到一些Source Code,而经由这样的一个想法,O(∩_∩)O~他就很有心的读取了Unix核心,并且去除较为繁复的核心程序,将它改写成可以适用于一般个人计算机的x86系统上面)。
       到了1991年,他终于将0.02版的原始码hobby放到网络上面供大家下载,由于hobby受到大家的肯定,相当多的朋友一起投入这个工作中。终于在1994年,将第一个完整的核心Version 1.0释出,并且造成目前的大流行。。。由于Linux kernel的发展是由虚拟团队所达成的,大家都是透过网络取得Linux的核心原始码,经由自己精心改造后再回传给Linux社群,进而一步一步的发展完成完整的Linux系统,至于Linus Torvalds是这个集团中的发起者。由于这个群策群力的缘故,Linus Torvalds将Linux定为同样造福大家的GNU授权模式!
       Linux是Linus Torvalds受到Minix的影响而作成的。但在设计哲学上,Linux则和Minix大相迳庭。Minix在内核设计上采用微内核的原则,但Linux则和原始的Unix相同都采用宏内核的概念。在Linux发展之初,双方还于1992年在新闻组上有过一场精彩的理念争论。Minix的作者和支持者认为Linux的单内核构造是“向七十年代的大倒退”,而Linux的支持者认为Minix本身没有实用性。

3、Linux五大支柱介绍
   (1)UNIX操作系统
        Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的Ken.Thompson和Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,于是在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了UNIX 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C语言进行了改写,使得UNIX 系统在大专院校得到了推广。
   (2)MINIX操作系统
        MINIX 系统是由Andrew S. Tanenbaum(AST)开发的。AST 是在荷兰Amsterdam 的Vrije 大学数学与计算机科学系统工作,是ACM 和IEEE 的资深会员(全世界也只有很少人是两会的资深会员)。MINIX 是他1987 年编制的,主要用于学生学习操作系统原理。到1991 年时版本是1.5。目前主要有两个版本在使用:1.5 版和2.0 版。当然目前MINIX 系统已经是免费的,可以从许多FTP 上下载。
        对于Linux 系统,他后来曾表示对其开发者Linus的称赞。但他认为Linux的发展很大原因是由于他为了保持MINIX 的小型化,能让学生在一个学期内就能学完,因而没有接纳全世界许多人对MINIX的扩展要求。因此在这样的前提下激发了Linus 编写Linux 系统。当然Linus 也正好抓住了这个好时机。
        作为一个操作系统,MINIX 并不是优秀者,但它同时提供了用C 语言和汇编语言编写的系统源代码。这是第一次使得有抱负的程序员或hacker 能够阅读操作系统的源代码。在当时,这种源代码是软件商们一直小心守护着的秘密。
   (3)GNU计划
        软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。
        所有GPL协议下的自由软件都遵循着Richard M. Stallman的"Copyleft"(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。
        GNU 计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统:GNU 系统(GNU 是"GNU‘s Not Unix"的递归缩写,它的发音为"guh-NEW")。
        各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作"Linux",但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。
        到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。
   (4)POSIX标准
        POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在1980 年早期一个UNIX 用户组(usr/group)的早期工作基础上取得的。该UNIX 用户组原来试图将AT&T 的System V 操作系统和BerkeleyCSRG 的BSD 操作系统的调用接口之间的区别重新调和集成。并于1984 年定制出了/usr/group 标准。
        在90 年代初,POSIX 标准的制定正处在最后投票敲定的时候, 那是1991-1993 年间。此时正是Linux刚刚起步的时候,这个UNIX 标准为Linux 提供了极为重要的信息,使得Linux 能够在标准的指导下进行开发,并能够与绝大多数UNIX 操作系统兼容。在最初的Linux 内核源代码中(0.01 版、0.11 版)就已经为Linux 系统与POSIX 标准的兼容做好了准备工作。在Linux 0.01 版内核的/include/unistd.h 文件中就已经定义了几个有关POSXI 标准要求的符号常数,而且Linus 在注释中已写道:“OK,这也许是个玩笑,但我正在着手研究它呢”。
   (5)Internet 网络
        Internet是linux开发、交流、发展的信息和资源的交流平台。

4、Linux特征
(1)GNU(GNU is Not Unit):世界知名的自由软件项目。
(2)GPL(GNU General Public License)通用公共许可证:为了给内核打上自由的标记,让其开源下去。此协议定义了三项内容:
       最初的创造者Linus Torvalds保留版权;
       其他人可随意处置该软件;
       版权不能完全被控制。
(3)LGPL(Lesser General Public License)次级公共许可证:为了得到更多开发者的支持,相较GPL宽松许多(不必公开全部源代码)。

5、Linux特性(与windows的区别)
   Linux是基于内核,windows是封装好的
   Linux开源,windows闭源
   Linux免费,windows收费
   Linux支持的软件少,windows支持的软件多
   Linux主要是命令行,windows主要是图形化
   Linux安全性高,windows安全性比linux低

6、Linux的基本原则:

由目的单一的小程序组成;组合小程序完成复杂任务;

一切皆文件;

尽量避免捕获用户接口;

配置文件保存为纯文本格式。

7、Linux常见发行版本

ArchLinux,一个基于KISS(Keep It Simple and Stupid)的滚动更新的操作系统。

CentOS,从Red Hat发展而来的发行版,由志愿者维护,旨在提供开源的,并与Red Hat 100%兼容的系统。

Chakra,一个从ArchLinux派生出来,只使用KDE桌面的半滚动更新发行版。

Debian,一个强烈信奉自由软件,并由志愿者维护的系统。

Elementary OS:基于Ubuntu,接口酷似Mac OS X。

Fedora,是Red Hat的社区版,会经常引入新特性进行测试。

Gentoo,一个面向高级用户的发行版,所有软件的源代码需要自行编译。

Knoppix,第一个Live CD发行版,可以从可移动介质运行,Debian的派生版。

Kubuntu, 使用KDE桌面的Ubuntu。

Linux Mint,从Ubuntu派生并与Ubuntu兼容的系统。

Mandriva,最初为Red Hat的派生版,现在由法国一个同名的公司维护。

OpenGEU,Ubuntu的派生版。

openSUSE,最初由Slackware分离出来,现在由Novell维护。

PCLinuxOS,Mandriva的派生版本,由社区维护的非常流行的发行版。

Red Hat Enterprise Linux,Fedora的商业版,由Red Hat维护和提供技术支持。

Slackware,最早的发行版之一,1993年创建,由Patrick J. Volkerding维护。

Ubuntu,一个非常流行的桌面发行版,由Canonical维护。

gOS和其他上网本用的系统

8、用户与密码

root用户为linux的超级管理员,可以对Linux操作系统进行所有权限操作。

密码复杂性规则:

数字、字母、特殊字符

例如:[email protected]

使用4种类别字符中至少3种;

足够长,大于7位;

使用随机字符串;

定期更换;

循环周期足够大

时间: 2024-10-08 20:50:42

Linux操作系统基础的相关文章

Linux操作系统基础解析之(四)——Linux基本命令剖析(1)

Linux操作系统自从出现以来,就备受关注.但是人们往往会有这样的一个印象:Linux比Windows难.为什么好多人都会有这样的想法呢?很简单,因为Windows是在更早的时候,甚至是大多数国人都没有认识到计算机的时候就已经被安装到X86架构的计算机上了.Microsoft公司寻求Intel公司的技术支持,并且建立合作之后,PC的市场就几乎被这两家公司垄断了.所以,很多人刚刚开始接触并逐渐学会使用计算机,Intel的X86架构的主机,而且这个主机上一般安装的都是Windows操作系统.因此,大

Linux操作系统基础解析之(六)——文件系统层次结构标准(FHS)

一切皆文件是Linux的最基本的最朴素的哲学思想之一.意思就是说:凡是在Linux操作系统中能够被访问和使用的资源,都会以文件的形式提供给用户,即便是硬件设备.进程互操作.网络访问等这些看似与文件无关的内容,也可以虚拟抽象成文件,这就是Linux操作系统.也就是说,在一个完整意义的Linux操作系统中,存在的大量的.数以万计的文件.这些文件有的是硬件设备,有的是管道,有的是套接字,目录文件,符号链接文件,设备锁文件,进程锁文件,被编译好的二进制文件(可执行应用程序.库文件.内核文件).压缩包文件

Linux操作系统基础解析之(三)——基本操作及获得帮助

我们传统意义上理解的操作系统实际上是指:包括了操作系统的kernel,以及在其上构建了大量的功能各异的应用程序的集合体.所以狭义上来讲,操作系统就是指kernel.kernel将底层的硬件的复杂逻辑屏蔽掉,将硬件虚拟化为更加容易使用和访问的资源,向上层的应用程序提供调用接口,从而可以保证应用程序能够正常运行,能够访问和使用硬件资源.在这些应用程序中,有一类应用程序是非常特殊的,它是操作者使用计算机的入口,是操作者完成交互式登录以及交互式作业的基础,这种应用程序我们称之为接口程序,或者叫用户访问界

Linux操作系统基础知识

继续补充一点vim指令的一些知识点,当需要同时操作多个文件时,使用vim指令可同时打开几个文件加载至内存中.命令格式为vim file1 file2 file3,其中不同文件用空白字符隔开,默认操作第一个文件,当需要操作其他文件时,在末行模式下输入:next/:prev/:first/:last分别对应为下一个.前一个.第一个.最后一个文档的内容.当需要同时查看不同文件内容时,使用选项-o/O为竖屏/横屏分屏显示文件内容.在分屏情况下切换当前操作文件使用ctrl+w+左右键,ctrl前可加数字以

linux操作系统基础篇(三)

1.使用cat命令进行文件的纵向合并: 1) 掌握使用cat命令实现文件的纵向合并:a) 例如:使用cat命令将baby.age.baby.kg和baby.sex这三个文件纵向合并为baby文件的方法:cat baby.age baby.kg baby.sex >babyb) 例如:使用cat命令将baby.age文件的内容添加到baby2文件中的方法:cat baby.age >>baby2 2. 归档文件和归档技术:1) 掌握归档的定义:归档(archiving)就是将许多文件(或目

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(1)

在日常交际英语中,Shell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中,shell其实是指:为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口. 它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支,让我们可以像使用高级语言

Linux操作系统基础解析之(七)——bash基础知识和基本使用技巧(1)

在日常交际英语中,Shell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中,shell其实是指:为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口.    它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支,让我们可以像使用高

Linux操作系统基础(完结)

摘要 一.Linux操作系统概述 二.Linux操作系统安装 三.Linux文件系统及文件基础 四.Linux操作系统命令使用基础 五.Linux应用程序的安装与卸载基础 五.用户及进程 六.相关信息查询 七.网络配置 八.Linux应用程序的安装与卸载基础 一.Linux操作系统概述 1.发展 1991 Linus Linux 0.0.1版,代码为8K行.现在最新版本为4.1.4.Linux加入了GNU,整体基于GPL协议,允许开源.分享传播.修改. 2.组成 (1)keanel–内核: 核心

linux操作系统基础篇(五)

Linux网络以及rpm安装yum源的配置 1.Linux网络 1. 使用ifconfig命令来维护网络(详见linux系统管理P422)1) fconfig命令的功能:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址.2) 用ifconfig命令设定网卡的IP地址:例如:修改eth0网卡的IP地址为172.18.48.56和子网掩码255.255.255.128的命令:ifconfig eth0 172.18.48.56 netmask 255.255.255.1282. 使用ifu