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-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级