RHEL 5基础篇mdash;linux的简介

2024-08-22 19:48
文章标签 基础 linux 简介 rhel mdash

本文主要是介绍RHEL 5基础篇mdash;linux的简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RHEL 5基础篇—linux的简介

     Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。

 

Linux简介

Linux:Linux内核是最初由Linus Torvalds于1991年的10月5日独立发表,目的是希望通过纯粹的开源协作来实现 。随着开源协作开发方式的发展以及成熟,众多厂商相继加入到Linux内核开发中,目前Linux内核已经完全取代了UNIX内核,并将达到闭源专利的UNIX所无法达到的高度。Linux不是UNIX,严格来讲也不是类UNIX,但是如今却是UNIX家族的代表者,也是开源软件的成功案例。Linux源码许可协议接近GPL,允许任何人自由获取并免费使用。 

UNIX:UNIX操作系统,是美国AT&T公司于1971年在PDP-11上运行的操作系统。具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织(The Open Group)所拥有。

GNU:GNU的名称来源于“GNU is Not UNIX”的缩写,GNU项目有自由软件运动倡导者Richard Stallman于1984年开始发起并创建的,其目标识编写大量兼容于UNIX操作系统的可自由传播,使用的软件,用于替换UNIX系统中的各种商业原件。构成Linux系统的外围程序大部分来自于GNU项目或其他组织的开源软件,因此Linux操作系统更确切的含义应为“GNU/Linux系统”。

备注:Linux?商标属于Linus Torvalds并且由Linux Mark Institute管理。

 
诞生过程:

1991 年,GNU 计划已经开发出了许多工具软件。最受期盼的Gnu C 编译器已经出现,但还没有开发出免费的GNU 操作系统。即使是MINIX 也开始有了版权,需要购买才能得到源代码。而GNU 的操作系统HURD 一直在开发之中,但并不能在几年内完成。对于林纳斯·托瓦兹来说,已经不能等待了。

1991 年4 月,他开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术。但后来Linux 的发展却完全改变了初衷。

1991 年初,林纳斯·托瓦兹开始在一台386sx 兼容微机上学习minix 操作系统。通过学习,他逐渐不能满足于minix 系统的现有性能,并开始酝酿开发一个新的免费操作系统。根据Linux 在comp.os.minix 新闻组上发布的消息,可以知道他逐步从学习minix 系统到开发自己的Linux 的过程。

1991 年的4 月份开始,林纳斯·托瓦兹几乎花了全部时间研究386-minix系统(hack the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)。

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。

1991 年7 月3 日,第一个与Linux 有关的消息是在在comp.os.minix 上发布的(当然此时还不存在Linux 这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX ,FREAX 的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且在Linux 最初的时候已经想到要实现与POSIX的兼容问题了。

1991 年8 月25 日,在林纳斯·托瓦兹的下一发布的消息中,他向所有minix 用户询问"What would you like to see in minix?"("你最想在minix 中见到什么?"),在该消息中他首次透露出正在开发一个免费的i386操作系统,并且说只是兴趣而已,代码不会很大,也不会像GNU 的那样专业。开发免费操作系统这个想法从4 月份就开始酝酿了,希望大家反馈一些对于minix 系统中喜欢哪些特点、不喜欢什么等信息,由于实际的和其它一些原因,新开发的系统刚开始与minix 很像(并且使用了minix 的文件系统),并且已经成功地将bash(1.08 版)和gcc(1.40 版)移植到了新系统上,而且再过几个月就可以使用了。林纳斯·托瓦兹申明他开发的操作系统没有使用一行minix 的源代码;而且由于使用了i386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,林纳斯·托瓦兹当时并没有考虑。但是Linux 几乎可以运行在任何一种硬件体系结构上。

1991 年的10 月5 日,林纳斯·托瓦兹在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux 的诞生宣言,并且一直广为流传。因此10 月5 日对Linux 社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。


主要特性:

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了图形界面的X-Window系统,用户可以使用鼠标对其进行操作。

丰富的网络功能

在Linux中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。

可靠的安全、稳定性能

Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。

桌面环境

主流的桌面环境有GNOME,Unity,KDE,MATE,XFCE等。

GNOME:GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。

Unity:Unity是基于GNOME桌面环境的用户界面, 由Canonical公司开发,主要用于Ubuntu操作系统。Unity 环境利用了来自 GNOME 3 中的一些关键组件,包括 Mutter 混合型窗口管理器和 Zeitgeist活动记录引擎。其启动器使用 Clutter 建立,这与构建 GNOME Shell所用的图形框架相同。虽然底层的技术相似,但 Unity 用户界面完全是不同的实现,它并没有使用来自 GNOME Shell 的任何代码。Unity 环境打破了传统的 GNOME 面板配置。它的左边包括一个类似 Dock 的启动器和任务管理面板;而顶面板则由应用程序 Indicator、窗口 Indicator、以及活动窗口的菜单栏组成。

KDE:(Kool Desktop Environment)项目始建于1996年10月,相对于GNOME还要早一些。KDE项目是由图形排版工具Lyx的开发者、一位名为Matthias Ettrich的德国人发起的。

MATE:基于已经停止维护的GNOME 2代码库开发而成。GNOME 3的发布,不再采用经典的GNONE 2桌面环境,而采用了建立在GNONE Shell之上的全新接口,这遭到了Linux社区一些人的批评。许多用户拒绝使用新的GNONE,并呼吁人们继续开发维护 GNONE 2。为了能够继续使用经典GNOME 2桌面环境,Arch Linux用户最先建立了MATE项目。它是Linux Mint 13已经将MATE作为默认桌面环境。MATE安装包同样可用于Arch Linux,Ubuntu, Debian, Salix OS 和 Sabayon Linux。今年底发布的Fedora 18将包含MATE桌面环境。

XFCE:(XForms Common Environment)创建于2007年7月,类似于商业图形环境CDE,原作者Olivier Fourdan最先设计XFce是基于XForms三维图形库。Xfce设计目的是用来提高系统的效率,在节省系统资源的同时,能够快速加载和执行应用程序。

 

Linux系统内核命名方式:

x.yy.zz

x主版本号:表示内核结构,功能等方面的重大升级,主版本升级比较缓慢。

y次版本号:用于表示内核版本是开发版还是稳定版,使用奇数代表开发版,使用偶数代表稳定版。

zz修订版版本号:表示对于同一个内核此版本的不断修订和升级,通常修订版升级只是对内核进行较小的改变。

 

常见Linux发行版本:

1、Ubuntu
    这或许是今天最常见的一个Linux发行版了,Ubuntu是一个南非的民族观念,着眼于人们之间的忠诚和联系。该词来自于祖鲁语和科萨语。大意是“人道待人”(对他人仁慈)。另一种翻译是:“天下共享的信念,连接起每个人”。

官方网址:http://ubuntu.org.cn

2、Red Hat

    Red Hat公司是成立较早的Linux发行版本的厂商,其推出的红帽系列Linux发行版本得到了软、硬件厂商的广泛支持,一直以来是许多企业首选的服务器平台,也成为许多商用开源操作系统的参照标准。

官方网址:http://www.cn.redhat.com

3、Suse

   Novell公司于2003年收购了德国的一件Linux发行版厂家,继续发展名为Suse Linux的操作系统项目。Suse Linux在欧洲占有很高的市场份额,面向服务器端和桌面电脑的应用均有优异的表现。

官方网址:http://www.novell.com/linux

4、Debian

    这个名字是Ian Murdock在1998年取的,由当初是女朋友现在是妻子的Debra和他的名字混合而来。该系列是完全有社区进行维护的Linux发行版本,也是在开源社区中作为项目运作的成功典范。

官方网址:http://www.debian.org

Linux的发行版本还有很多作者就不一一举例了,有兴趣的朋友可以自己去搜集相关资料。

 

Linux系统中的磁盘分区表示方法和支持的文件系统

硬盘和分区表示方法

硬盘:对于IDE接口的硬盘,表示为“hdx”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdx”形式的文件名。其中“x”可以为a、b、c、d、等字母的序号。列如:第一块IDE硬盘为“hda”,第二块SCSI硬盘则为“sdb”。

分区:表示分区时,以硬盘设备的文件名作为基础,在后面添加该分区(无论主分区、扩展分区、逻辑分区)对应的数字序号即可。列如:第一个IDE硬盘中的第一个主分区表示为“hda1”,第二个表示为“hda2”,第二块SCSI硬盘中的第三个主分区表示为“sdb3”,第五个分区表示为“sdb5”。

注意:由于硬盘中的主分区数目只有四个,因此主分区和扩展分区的序号也就限制在1~4,而逻辑分区的序号将始终从5开始。

支持的文件系统

EXT3:第三代扩展文件系统,用于存放文件盒目录数据的分区,是Linux默认使用的文件系统。现已更新至EXT4了。

SWAP:交换分区系统,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能过在一定的程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的1.5至2倍。

此外Linux系统还广泛支持其他各类类型的文件系统,如:XFS、JFS、FAT16、FAT32、NTFS等。

 

谢谢关注!

 

本文出自 “邓奇的Blog” 博客,谢绝转载!

这篇关于RHEL 5基础篇mdash;linux的简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097231

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命