linux操作系统概述
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。下边你们与学习啦小编一上去了解一下linux操作系统吧。
linux操作系统概述
一、Linux简介
Linux可以有狭义和广义两种定义。狭义来说linux cp,Linux实际上指Linuxkernel(内核)。内核负责管理硬件,并为下层应用提供插口。而广义来说,是指以Linuxkernel为基础的,包括OS和各类应用在内的各个Linux版本(distribution)。虽然看上去版本眼花缭乱,但实际上,各个版本之间也只是长治小异,其差异常常彰显在顾客群、升级维护和界面等方面。
LinusTorvalds是Linux之父。他按照Minix系统的代码,参照UNIX系统的设计,写出了第一给Linux内核。Linus的壮举在于将Linux内核的代码开源。后来,Linux内核和一套开源的应用软件GNU结合,共同采取开源合同,并迅速发展成熟。我们可以随便地使用和更改开源代码,但借此为基础开发的程序也要按照开源合同公开。Linux和GNU的开源性吸引了大批优秀的程序员参与到Linux相关的开发中。
从哲学和设计理念上,Linux与其他的UNIX版本相类似,并使用类似的插口。我们可以通过学习Linux的基本概念和机制来了解其它UNIX系统,例如Solaris,FreeBSD,还有基于FreeBSD的苹果公司的MacOS。以前Windows的盛行以前让许多人觉得UNIX将最终被Windows代替,但现在见到Linux和苹果产品的兴旺,我很感叹于UNIX体系的力量。
Linux的有如下比较重要的机制:用于存储数据以及管理权限的文件系统,用于IO的文本操作API,用于管理操作的进程,用于实现多任务运行的多线程,以及进程间通讯(我将讯号和网路也都划入这一类中)。
非常推荐下边的一些文章,便于你对Linux有一个概观:
大修道院和市集(TheCathedralandtheBazaar),作者EricRaymond
可以说是为Linux正名的一篇文章,深入剖析Linux成功的诱因。你也可以通过名子来搜索英文翻译版本。
该作者的其他文章也特别值得一读。
主要特点
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每位软件都有确定的用途。其中第一条详尽来讲就是系统中的所有都归结为一个文件linux平台,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特点或类型的文件。至于说Linux是基于Unix的,很大程度上也是由于这三者的基本思想非常相仿。[3]
完全免费
Linux是一款免费的操作系统,用户可以通过网路或其他途径免费获得,并可以任意更改其源代码。这是其他的操作系统所做不到的。正是因为这一点,来自全世界的无数程序员参与了Linux的更改、编写工作,程序员可以按照自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。[4]
完全兼容POSIX1.0标准
这促使可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转入Linux奠定了基础。许多用户在考虑使用Linux时,就想到曾经在Windows下常见的程序是否能正常运行,这一点就清除了她们的忧虑。[4]
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权力,保证了各用户之间互不影响。多任务则是现今笔记本最主要的一个特征,Linux可以使多个程序同时并独立地运行。[4]
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过按键输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用键盘对其进行操作。在X-Window环境中就和在Windows中相像,可以说是一个Linux版的Windows。[4]
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。据悉Linux还是一种嵌入式操作系统,可以运行在掌上笔记本、机顶盒或游戏机上。2001年1月份发布的Linux2.4版内核早已才能完全支持Intel64位芯片构架。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大增强。
文件系统
文件类型
普通文件(regularfile):就是通常存取的文件,由ls-al显示下来的属性中,第一个属性为[-],比如[-rwxrwxrwx]。另外,根据文件的内容,又大致可以分为:
1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是由于内容可以直接读到的数据,比如数字、字母等等。设置文件几乎都属于此类文件类型。举例来说,使用命令“cat~/.bashrc”就可以看见该文件的内容(cat是将文件内容读下来)。
2、二补码文件(binary):系统虽然仅认识且可以执行二补码文件(binaryfile)。Linux中的可执行文件(脚本,文本形式的批处理文件不算)就是这些格式的。举例来说,命令cat就是一个二补码文件。
3、数据格式的文件(data):有些程序在运行过程中,会读取个别特定格式的文件,这些特定格式的文件可以称为数据文件(datafile)。举例来说,Linux在用户登录时,就会将登陆数据记录在/var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读下来。但使用cat时,会读出乱码。由于它是属于一种特殊格式的文件。
目录文件(directory):就是目录,第一个属性为[d],比如[drwxrwxrwx]。
联接文件(link):类似Windows下边的快捷方法。第一个属性为[l],比如[lrwxrwxrwx]。
设备与设备文件(device):与系统外设及储存等相关的一些文件,一般都集中在/dev目录。一般又分为两种:
块设备文件:就是储存数据以供系统存取的插口设备,简单而言就是硬碟。诸如一号硬碟的代码是/dev/hda1等文件。第一个属性为[b]。
字符设备文件:即串行端口的插口设备,比如按键、鼠标等等。第一个属性为[c]。
套接字(sockets):这类文件一般用在网路数据联接。可以启动一个程序来窃听顾客端的要求,顾客端就可以通过套接字来进行数据通讯。第一个属性为[s],最常在/var/run目录中见到这些文件类型。
管线(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所导致的错误。FIFO是first-in-first-out(先进先出)的简写。第一个属性为[p]。[5]
文件结构
/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:bin就是二补码(binary)英语简写。在通常的系统当中,都可以在这个目录下找到linux常用的命令。系统所须要的这些命令坐落此目录。
/boot:Linux的内核及引导系统程序所须要的文件目录,例如vmlinuzinitrd.img文件都坐落这个目录中。在通常情况下,GRUB或LILO系统引导管理器也坐落这个目录。
/cdrom:这个目录在刚才安装系统的时侯是空的。可以将硬盘文件系统挂在这个目录下。诸如:mount/dev/cdrom/cdrom
/dev:dev是设备(device)的英语简写。这个目录对所有的用户都极其重要。由于在这个目录中包含了所有linux系统中使用的外部设备。并且这儿并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问那些外部设备的端口。可以十分便捷地去访问那些外部设备,和访问一个文件,一个目录没有任何区别。
/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下储存了系统管理时要用到的各类配置文件和子目录。要用到的网路配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
/home:假如构建一个用户,用户名是"xx",这么在/home目录下就有一个对应的/home/xx路径,拿来储存用户的主目录。
/lib:lib是库(library)英语简写。这个目录是拿来储存系统动态联接共享库的。几乎所有的应用程序就会用到这个目录下的共享库。为此,千万不要轻易对这个目录进行哪些操作,一旦发生问题,系统就不能工作了。
/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外死机,而形成一些文件碎片置于这儿。当系统启动的过程中fsck工具会检测这儿,并修补早已毁坏的文件系统。有时系统发生问题,有好多的文件被移到这个目录中,可能会用手工的方法来修补,或移到文件到原先的位置上。
/mnt:这个目录通常是用于储存挂载存储设备的挂载目录的,例如有cdrom等目录。可以参看/etc/fstab的定义。
/media:有些linux的发行版使用这个目录来挂载这些usb插口的联通硬碟(包括U盘)、CD/DVD驱动器等等。
/opt:这儿主要储存这些可选的程序。
/proc:可以在这个目录下获取系统信息。这种信息是在显存中,由系统自己形成的。
/root:Linux超级权限用户root的家目录。
/sbin:这个目录是拿来储存系统管理员的系统管理程序。大多是涉及系统管理的命令的储存,是超级权限用户root的可执行命令储存地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相像的,但凡目录sbin中包含的都是root权限能够执行的。
/selinux:对SElinux的一些配置文件目录,SElinux可以让linux愈发安全。
/srv服务启动后,所需访问的数据目录,举个反例来说linux多线程,www服务启动读取的网页数据就可以置于/srv/www中
/tmp:临时文件目录,拿来储存不同程序执行时形成的临时文件。有时用户运行程序的时侯,会形成临时文件。/tmp就拿来储存临时文件的。/var/tmp目录和这个目录相像。
/usr
这是linux系统中占用硬碟空间最大的目录。用户的好多应用程序和文件都储存在这个目录下。在这个目录下,可以找到这些不适宜置于/bin或/etc目录下的额外的工具
/usr/local:这儿主要储存这些自动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放在/usr/local目录下边、。
/usr/share:系统共用的东西储存地,例如/usr/share/fonts是字体目录,/usr/share/doc和/usr/share/man帮助文件。
/var:这个目录的内容是时常变动的,看名子就晓得,可以理解为vary的简写,/var下有/var/log这是拿来储存系统日志的目录。/var/www目录是定义Apache服务器站点储存目录;/var/lib拿来储存一些库文件,例如MySQL的,以及MySQL数据库的的储存地。
二、Linux的厂商版本
在Linux内核基础上,我们还有许多厂商版本。虽然有了内核和GNU软件,Linux的安装和编译并不是简单的工作,Linux厂商就是瞄准了这个市场。这种厂商会在Linux内核的基础上,结合自己开发的软件,帮助用户安装和使用Linux,并提供技术支持。因为在服务器领域,Linux操作系统远远领先于Windows系统,而那些被政府部门、银行或则学院拥有的服务器常常承当很重要的信息处理和IO(input/outpt)工作,所以虽然Linux开源,厂商还是可以按照其提供的商用软件和技术支持获得优厚的收益。
(IBM是Linux设备最大的供应商,同时它的咨询业务很大一部分也来始于提供Linux相关的支持。我们所熟知的Android操作系统,也算是Google提供的一个厂商版本。)
我们这儿主要介绍在PC上比较流行的Linux厂商版本:
1.红帽系列
RedHatlinux:大名鼎鼎的红帽,如今早已完结。借此为基础有以下分支:
RedHatEnterprise:这个是企业级的linux,主要面向服务器。作为商业版,有比较好的配套软件和技术支持。RH的教材也号称精典。
Fedora:由社区维护,去不仅一些商业软件。红帽实际上赞助了这个项目,便于借此作为技术测试平台。
CentOS:这个版本不来自红帽的公司,是搜集红帽公开的源码组成的免费版本,由社区维护,和红帽完全兼容。版本号升级较慢,但有持续的技术支持,所以适宜于不乐意频繁升级的情形,鸟哥中就推荐以CentOS来建站。
2.SUSE系列
SUSELinuxEnterprise:(和红帽商业版类似,是日本公司制做的,听说在法国比较流行,但我法国的同学表示没怎样据说过。SUSE系列比较有特色的是YAST2,就是拿来设置Linux的界面,对中级管理员比较便捷。
openSUSE:SUSE的免费版本。曾经SUSE不是很推这个免费版本,支持不好。如今虽然心态大大转变。就我个人的使用体验来说,还是认为社区支持不足。
3.Debian系列
Debian:完全免费,社区维护的Linux版本,有很大的用户群,所以遇见问题,基本都可以找到社区用户的支持。
Ubuntu:由一个基金提供支持的免费Linux版本。承继自Debian。界面很友好。发短信过去,就会送你免费安装CD(不晓得如今还有没有)。现今的版本加载的东西有些多,速率有些慢。写《大修道院和市集》的EricRaymond说它是最好的Linux。
Mint,基于ubuntu。它提供了愈发丰富的预装应用,以降低用户搜索并安装应用的麻烦。其使用的应用版本比较新,可能不是很稳定。
据悉,还有如下一些版本:
Gentoo基于源码的版本linux平台,提供给用户很大的自由度。为用户提供大量应用程序的源码,可以在用户的系统上重新编译建造。须要一定的系统配置的知识。
ArchLinux推崇简约,防止何必要和复杂的更改,是一个轻便灵活的版本。其配置文件有良好注释。
Mandriva一个很便捷用户使用的版本,其目标是促使新用户更容易使用linux。
Slackware稳定,基本。它的只包含稳定版本的应用程序。对于中级用户不是很友好。
TurboLinux在欧洲比较流行。商业版本,提供技术支持和咨询服务。
看过“linux操作系统概述”的人还看了:
1.Linux内核详尽介绍
2.关于Linux操作系统的相关知识介绍
3.操作系统教程大全
4.Linux操作系统发展历史
5.linux虚拟机如何安装