linux 入门

合集下载

Linux操作系统基础

Linux操作系统基础

Linux操作系统基础主要内容Linux 安装常⽤命令VI编辑器的使⽤远程登录主机名的设置IP的设置防⽕墙的设置⽤户和组账户管理⽂件权限管理RPM软件包管理软件的安装Jdk,tomcat, eclipse第⼀章:Linux简介Linux是⼀种⾃由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使⽤了Linux内核。

Linux可安装在各种计算机硬件设备中,⽐如⼿机、平板电脑、路由器、台式计算机Linux介绍Linux出现于1991年,是由芬兰赫尔⾟基⼤学学⽣Linus Torvalds和后来加⼊的众多爱好者共同开发完成Linux介绍Linux出现于1991年,是由芬兰赫尔⾟基⼤学学⽣Linus Torvalds和后来加⼊的众多爱好者共同开发完成第三章:Linux常⽤命令命令格式:命令 -选项参数如:ls -la /usrls:显⽰⽂件和⽬录列表(l i s t)常⽤参数:-l (long)-a (all) 注意隐藏⽂件、特殊⽬录.和..-t (time)Linux命令的分类内部命令:属于Shell解析器的⼀部分cd 切换⽬录(c hange d irectory)pwd 显⽰当前⼯作⽬录(p rint w orking d irectory)help 帮助外部命令:独⽴于Shell解析器之外的⽂件程序ls 显⽰⽂件和⽬录列表(l ist)mkdir 创建⽬录(m a k e dir ectoriy)cp 复制⽂件或⽬录(c o p y)查看帮助⽂档内部命令:help + 命令(help cd)外部命令:man + 命令(man ls)操作⽂件或⽬录常⽤命令pwd 显⽰当前⼯作⽬录(p rint w orking d irectory)touch 创建空⽂件mkdir 创建⽬录(m a k e dir ectoriy)-p ⽗⽬录不存在情况下先⽣成⽗⽬录(p arents)cp 复制⽂件或⽬录(c o p y)-r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并拷贝(r ecursive)mv 移动⽂件或⽬录、⽂件或⽬录改名(m o v e)操作⽂件或⽬录常⽤命令rm 删除⽂件(r e m ove)-r 同时删除该⽬录下的所有⽂件(r ecursive)-f 强制删除⽂件或⽬录(f orce)rmdir 删除空⽬录(r e m ove dir ectoriy)cat显⽰⽂本⽂件内容(cat enate)more、less 分页显⽰⽂本⽂件内容head、tail查看⽂本中开头或结尾部分的内容haed -n 5 a.log 查看a.log⽂件的前5⾏tail -F b.log 循环读取(follow)常⽤命令wc 统计⽂本的⾏数、字数、字符数(w ord c ount)-m 统计⽂本字符数-w 统计⽂本字数-l 统计⽂本⾏数find 在⽂件系统中查找指定的⽂件find /etc/ -name "aaa"grep 在指定的⽂本⽂件中查找指定的字符串ln 建⽴链接⽂件(l i n k)-s 对源⽂件建⽴符号连接,⽽⾮硬连接(s ymbolic)top 显⽰当前系统中耗费资源最多的进程ps 显⽰瞬间的进程状态-e /-A 显⽰所有进程,环境变量-f 全格式-a 显⽰所有⽤户的所有进程(包括其它⽤户)-u 按⽤户名和启动时间的顺序来显⽰进程-x 显⽰⽆控制终端的进程kill 杀死⼀个进程kill -9 piddf 显⽰⽂件系统磁盘空间的使⽤情况du 显⽰指定的⽂件(⽬录)已使⽤的磁盘空间的总-h⽂件⼤⼩以K,M,G为单位显⽰(human-readable)-s只显⽰各档案⼤⼩的总合(summarize)free 显⽰当前内存和交换空间的使⽤情况netstat 显⽰⽹络状态信息-a 显⽰所有连接和监听端⼝-t (tcp)仅显⽰tcp相关选项-u (udp)仅显⽰udp相关选项-n 拒绝显⽰别名,能显⽰数字的全部转化成数字。

Cumulus Linux 4.x 新手快速入门

Cumulus Linux 4.x 新手快速入门

Cumulus Linux 4.x 基础配置命令介绍Cumulus Linux是一款开源的交换机操作系统,它提供了许多强大的命令行工具,用于配置和管理交换机。

本文将介绍Cumulus Linux 4.x版本的基础配置命令,以帮助您快速上手。

以下是一些常见的Cumulus Linux交换机专有配置命令:net add hostname命令用于配置设备主机名。

net add interface命令用于配置网络接口。

net add bridge bridge vids命令用于配置VLAN。

net add bond命令用于配置绑定。

net show interfaces命令用于显示接口的详细信息。

net show lldp命令用于显示LLDP信息。

net show configuration 命令用于显示全局配置net commit 用于提交生效配置命令,自动保存举例:cumulus@cumulus:~$net add hostname cl-switch01cumulus@ cl-switch01:~$ net add interface eth0 ip address 192.168.1.88/24cumulus@ cl-switch01:~$ net add interface eth0 ip gateway 192.168.1.1cumulus@ cl-switch01:~$ net add bridge bridge vids 10,20cumulus@ cl-switch01:~$ net add bridge bridge ports swp1-10,swp20cumulus@ cl-switch01:~$ net add interface swp1-10,swp20 bridge access 10cumulus@ cl-switch01:~$ net commit以上是Cumulus Linux交换机专有配置命令的一些常见例子,学习和掌握这些命令可以帮助您更好地管理和配置Cumulus Linux交换机。

linuxexpect命令使用入门

linuxexpect命令使用入门

linuxexpect命令使⽤⼊门
expect的核⼼是spawn expect send set
spawn:spawn是进⼊expect环境后才可以执⾏的expect内部命令,相当于shell中的内置命令,通过它,调⽤需要执⾏的命令
expect:捕获提⽰
send:发送交互值(结尾需要加上\n)
set:设置变量
interact:执⾏完保留交互状态
expect eof :与spawn对应表⽰捕获终端输出信息终⽌
$argv :相当于c语⾔中的参数变量,接收bash传过来的参数。

取值⽅式,索引⽅式[lindex $argv num],范围⽅式[lrange $argv 0 4],第⼀个参数到第第五个参数。

(没有参数本⾝)
⽅括号执⾏了⼀个嵌套命令. 例如, 如果你想传递⼀个命令的结果作为另外⼀个命令的参数, 那么你使⽤这个符号
双引号把词组标记为命令的⼀个参数. "$"符号和⽅括号在双引号内仍被解释
"some stuff"
⼤括号也把词组标记为命令的⼀个参数. 但是, 其他符号在⼤括号内不被解释
{some stuff}
反斜线符号是⽤来引⽤特殊符号. 例如:n 代表换⾏. 反斜线符号也被⽤来关闭"$"符号, 引号,⽅括号和⼤括号的特殊含义。

Linux设备驱动程序原理及框架-内核模块入门篇

Linux设备驱动程序原理及框架-内核模块入门篇

Linux设备驱动程序原理及框架-内核模块入门篇内核模块介绍应用层加载模块操作过程内核如何支持可安装模块内核提供的接口及作用模块实例内核模块内核模块介绍Linux采用的是整体式的内核结构,这种结构采用的是整体式的内核结构,采用的是整体式的内核结构的内核一般不能动态的增加新的功能。

为此,的内核一般不能动态的增加新的功能。

为此,Linux提供了一种全新的机制,叫(可安装) 提供了一种全新的机制,可安装) 提供了一种全新的机制模块” )。

利用这个机制“模块”(module)。

利用这个机制,可以)。

利用这个机制,根据需要,根据需要,在不必对内核重新编译链接的条件将可安装模块动态的插入运行中的内核,下,将可安装模块动态的插入运行中的内核,成为内核的一个有机组成部分;成为内核的一个有机组成部分;或者从内核移走已经安装的模块。

正是这种机制,走已经安装的模块。

正是这种机制,使得内核的内存映像保持最小,的内存映像保持最小,但却具有很大的灵活性和可扩充性。

和可扩充性。

内核模块内核模块介绍可安装模块是可以在系统运行时动态地安装和卸载的内核软件。

严格来说,卸载的内核软件。

严格来说,这种软件的作用并不限于设备驱动,并不限于设备驱动,例如有些文件系统就是以可安装模块的形式实现的。

但是,另一方面,可安装模块的形式实现的。

但是,另一方面,它主要用来实现设备驱动程序或者与设备驱动密切相关的部分(如文件系统等)。

密切相关的部分(如文件系统等)。

课程内容内核模块介绍应用层加载模块操作过程内核如何支持可安装模块内核提供的接口及作用模块实例内核模块应用层加载模块操作过程内核引导的过程中,会识别出所有已经安装的硬件设备,内核引导的过程中,会识别出所有已经安装的硬件设备,并且创建好该系统中的硬件设备的列表树:文件系统。

且创建好该系统中的硬件设备的列表树:/sys 文件系统。

(udev 服务就是通过读取该文件系统内容来创建必要的设备文件的。

)。

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础

linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础今天的笔记主要是关于Linux操作系统根底的相关学问。

那就从我⾯前的电脑开端讲起。

计算机和操作系统计算机主要包括五个部分:运算器,控制器,存储器,输⼊设备和输出设备。

通常,运算器,控制器再加上其他⼀些部件如寄存器等构成了我们通常所说的CPU(central processing unit),存储器则主要是内存。

运算器,控制器和存储器可以实现数据的处理.但是数据从何⽽来,运算之后的结果去往哪⾥?这就需要输⼊设备和输出设备(I/O设备)。

我们通常⽤到的输⼊设备包括键盘⿏标等,输出设备为屏幕,打印机等。

值得⼀提的是,计算机中有个叫做硬盘的东西,它并不是存储器,⽽是⼀个I/O设备。

在将数据读取到内存时,它是⼀个输⼊设备;⽽将结果保存到磁盘时,它就变成了⼀个输出设备。

这么多设备整合在⼀起,就成了⼀台计算机。

它可以接收我们的指令(键盘⿏标),通过运算(CPU),把结果展⽰给我们(屏幕,硬盘等)。

但是这么多硬件是如何协调作⽤,共同完成⼀个任务⽽不会我⾏我素地乱来呢?我们需要⼀个东西,它可以控制硬件有序地⼯作,各⾃执⾏⾃⼰的任务,这个东西就是操作系统(Operating System)。

操作系统是⼀个特殊的软件,它的任务就是硬件管理—控制CPU的运算,控制内存的分配,控制计算机的⼏乎⼀切。

假如⼀台电脑没有操作系统,它可能只是⼀个艺术品,或者⼀堆废铁。

⼀个完整的操作系统包括内核和⼀些辅助软件。

内核的主要任务就是进⾏硬件管理,它是⼀个操作系统最基础最底层的东西。

内核若想很好地控制硬件并使其发挥相应的功能,需要和硬件相识相知相爱,他俩可以成为完美的⼀对,全都仰仗于驱动的帮忙。

驱动是硬件的灵魂,它向操作系统提供了访问和使⽤硬件的接⼝,以便在某项任务中最⾼效地调⽤硬件。

什么是LinuxLinux就是⼀个操作系统,它可以管理整个计算机硬件,并且可以接收我们的指令,来指挥硬件完成相应的任务,并把结果反馈给我们。

SUSELinux简易入门

SUSELinux简易入门
B、KDE 组件:配置 KDE 性能、资源、会话管理器(登录界面)、拼写检查工具、文件关联、文件管理器(KDE 外观)、 服务管理器、桌面搜索、组件选择程序。
C、区域和辅助功能 设置 :
国家/地区和语言 辅助(铃声、修饰键等) 键入动作 键盘布局
4
键盘快捷键
D、声音和多媒体 声音系统 系统通知:出了什么岔子,可以设置这个嚎两声 系统铃声 音频 CD
要装 bison 和 flex,C++IDE 稍后说 去除软件:就是删除不要的软件,这个不要瞎搞。许多东西都不认得,删掉了说不定哪个连带的就不能用了。 更新软件:先联网再说吧,开机自启动的,不过到现在也没见它更新 Sax2:设置显示器的 SCIM 输入法设置:Linux 下功能强大的输入法,我用 简体中文-》智能拼音或自然码输入法。这里面配置
打开 home 文件夹,左边栏目 有常见的类似 Windows 资源管理器目录的树形目录。 最重要的是最不起眼的在树形左边的一列小按钮,有 Amarok ,书签,历史,主文件夹,Metabar 动作,网络,根文件夹, 服务,系统。 这个叫导航面板,很有用。一般可以在浏览器的 窗口菜单-》显示或隐藏导航面板 (最下面一个)可以设置显示 与否。 (1)常见默认的是进入系统 项目,对应树形目录 有主文件夹、回收站、存储介质、文档文件夹、用户文件夹、远程 位置 主文件夹是用户默认文件夹,比如 winland 用户就在 /home/winland 文件夹下。文档文件夹是/home/winland/ documents 目录,保密的,只有自己能看。 存储介质是本机挂载的硬盘分区等。可以快速访问各个 Windows 分区。 用户文件夹是本机所有普通用户的目录,比如用户 public、winland 等,可以看见各个用户公开的文件。 远程位置,比如 Windows 局域网共享就在这个目录下的 SMB 共享 子目录下面。

第1章第1讲 linux简介PPT课件

文件结构和实用工具。
1. Linux内核
2. Linux Shell 3. Linux文件结构
文件结构是文件存放在磁盘等存储设备 上的组织方法
4. Linux实用工具 一般来将,实用工具可分三类: (1)编辑器:用于编辑文件。 (2)过滤器:用于接收数据并过滤数据。 (3)交互程序:允许用户发送信息或接收
所谓GNU(General Public License, ) ,是Stallman在1984年提出的一个计划 ,它的思想是“源代码共享,思想共享”, 。
1.1.2 Linux的特点 1. 自由与开放 2. 配置要求低廉 3. 功能强大而稳定 4. 独立工作
1.1.3 Linux操作系统的架构 Linux一般有四个主要部分:内核、Shell、
1984:GNU与FSF计划的成立 GNU:Stallman建立一个自由开放的UNIX系统 GPL:通用公共许可证 获取软件源代码 复制 修改 再发行 回馈 不能修改授权 不能单纯销售
GPL好处: 软件安全性好 软件执行性能好 软件除错时间短 贡献的源代码永远存在
Torvalds在Minix基础上编写与unix兼容的操作 系统
来自其他用户的信息
切换X Window与命令模式 Ctrl+Alt+F1~F7 开始执行命令 ls –al date cal bc
为方便学习与使用课件内容, 课件可以在下载后自由调整
Learning Is To Achieve A Certain Goal And Work Hard, Is A Process To Overcome Various Difficulties For A Goal
第一章 linux入门及安装
1.1 Linux入门 1.1.1 什么是Linux Linux是一套免费使用和自由传播的类Unix

linux系统内核参数优化-linux快速入门教程

linux系统内核参数优化-linux快速⼊门教程内核的 shmall 和 shmmax 参数SHMMAX= 配置了最⼤的内存segment的⼤⼩ ------>这个设置的⽐SGA_MAX_SIZE⼤⽐较好。

SHMMIN= 最⼩的内存segment的⼤⼩SHMMNI= 整个系统的内存segment的总个数SHMSEG= 每个进程可以使⽤的内存segment的最⼤个数配置信号灯( semphore )的参数:SEMMSL= 每个semphore set⾥⾯的semphore数量 -----> 这个设置⼤于你的process的个数吧,否则你不得不分多个semphore set,好像有process+n之说,我忘了n是⼏了。

SEMMNI= 整个系统的semphore set总数SEMMNS=整个系统的semphore总数shmall 是全部允许使⽤的共享内存⼤⼩,shmmax 是单个段允许使⽤的⼤⼩。

这两个可以设置为内存的 90%。

例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的⼤⼩为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。

修改 /etc/sysctl.confkernel.shmmax=15461882265kernel.shmall=3774873kernel.msgmax=65535kernel.msgmnb=65535执⾏ sudo sysctl -p可以使⽤ ipcs -l 看结果。

ipcs -u 可以看到实际使⽤的情况========================================================================linux 内存管理⼀、前⾔本⽂档针对OOP8⽣产环境,具体优化策略需要根据实际情况进⾏调整;本⽂档将在以下⼏个⽅⾯来阐述如何针对RedHat Enterprise Linux 进⾏性能优化。

Linux-opensuse小白入门中文指南

本文为WPS文档,有“文档结构”,用wps阅读更轻松。

一、概述(第三次修补版)可能是喜欢开源的理念吧,开始接触linux,经过一年多断断续续的接触,今天正式选定linux-openSUSE13.2(KDE)作为自己的桌面系统。

(个人认为,所有的系统中,作为个人操作系统的,opensuse是做的最细腻的。

请注意:本文档的介绍,都是以作者为出发点的,不一定适应所有人;请根据自己的习惯调整。

)但在作为普通用户的一员,深感更换系统的艰难;自己接触/了解opensuse的过程中发现,网上全都是高手、他们不需要基础的指导。

所以一些基本的入门引导基本上找不到。

也许高手们不屑一顾的地方,却刚好是我们最需要的地方。

一些具体的细节的东西,才是我们所需要的。

像我们这样完全只是因为爱好和理念等选择opensuse的普通用户来说,数量更多,但却没有系统的入门指导、尤其是中文入门指导,以至于很多人明明很喜欢,但却是在入门过程中,就不得不放弃。

这其实很遗憾的。

既然喜欢开源,我也想尽自己的一份力量。

(本引导主要针对自己遇到的一些难点做解析;一般步骤网络上都有,就不再点缀。

请善用搜索引擎!)这是一份完全小白的引导,不会有任何的代码、命令之类的东东,我希望大家如同用win那样,点点鼠标就完成工作,并让opensuse成为我们的工具。

最近win的流氓软件之类的越来越多,广告弹窗让人心烦,我们自己的工作工具、却成为某些广告公司的盈利工具。

本文将尽量以win的操作方式和习惯,图文并茂的形式展开讲解。

(本文档将以文档形式公开,方便任何有志者修改,大家共同完善,个人力量终究有限。

此文档为第三次修改版。

)二、获取与安装官方资料1:https:///sites/opensuse-guide/index.php官方资料2:https:///新手指南1,获取:百度(以及一切搜索引擎)国人还是比较喜欢直接上搜索引擎搜索的。

百度搜索“opensuse”就有,不用纠结你的CPU品牌,就分清32位(bit)和64位(bit)就好;大约4.3G文件。

Linux命令神器 lsof入门

Linux命令神器 lsof入门lsof是系统管理/安全的尤伯工具。

我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。

将这个工具称之为lsof真是名副其实,因为它是指“列出打开文件(lists openfiles)”。

而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

有趣的是,lsof也是有着最多开关的Linux/Unix命令之一。

它有那么多的开关,它有许多选项支持使用-和+前缀。

age: [-?abhlnNoOPRstUvV] [+|-c c] [+|-d s] [+D D][+|-f[cgG]]2. [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]]3. [-p s] [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]正如你所见,lsof有着实在是令人惊讶的选项数量。

你可以使用它来获得你系统上设备的信息,你能通过它了解到指定的用户在指定的地点正在碰什么东西,或者甚至是一个进程正在使用什么文件或网络连接。

对于我,lsof替代了netstat和ps的全部工作。

它可以带来那些工具所能带来的一切,而且要比那些工具多得多。

那么,让我们来看看它的一些基本能力吧:关键选项理解一些关于lsof如何工作的关键性东西是很重要的。

最重要的是,当你给它传递选项时,默认行为是对结果进行“或”运算。

因此,如果你正是用-i来拉出一个端口列表,同时又用-p来拉出一个进程列表,那么默认情况下你会获得两者的结果。

下面的一些其它东西需要牢记:∙默认 : 没有选项,lsof列出活跃进程的所有打开文件∙组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数∙-a : 结果进行“与”运算(而不是“或”)∙-l : 在输出显示用户ID而不是用户名∙-h : 获得帮助∙-t : 仅获取进程ID∙-U : 获取UNIX套接口地址∙-F : 格式化输出结果,用于其它命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章 概述 本章将简述开源的历史与发展,对Linux和它的前身Unix进行简单的介绍,并对其优势与不足一并指出。并且阐述Linux的文化与哲学,让读者体会到开源的文化魅力所在。同时,本章将会谈到如何合理地利用网络解决问题、解答问题的技巧。

1.1 GNU/Linux与开源

小时候,老师教育我们要把我们手中的糖果分给身边的伙伴一起吃。 ──Richard Stallman

1.1.1 何为开源? 开源(OpenSource),顾名思义就是程序开放源代码。事实上,开源与计算机可以说是同时诞生的,在那个年代,计算机科学家们通过亲自交换手头的源代码来达到程序交换与共享的目的。而这,就是开源。 当用户在使用一个使用起来不称心的,有那么一些瑕疵的闭源软件时,常常会抱怨为什么程序不能像他们所想那样完美一些,完美一些,再完美一些。而正是开源,让这类问题的解决变得简单,变得方便。用户可以自行修改或者拓展正在使用的程序的功能。 也许你会问:“我们自己有修改程序的能力和必要么?”的确,如今大部分的普通用户并没有修改软件的能力和需要。但在早期,计算机及其软件主要被设计应用于科学研究领域。同时,它们也是黑客手中的珍贵玩具。除了计算机软件销售商(vendor),没有人喜欢闭源的软件,人们都希望投入到计算机这一令人兴奋的新领域的探索中去,而闭源软件昂贵的版权费和没有弹性的程序让一部分人极为不满。于是,他们要解放软件,使软件自由。 开源运动(OpenSource Movement)就此拉开宏伟的序幕。

1.1.2 GNU项目的诞生 在20世纪80年代,软件工业迅速发展,各IT行业的厂家都要在市场中保持竞争力,并想通过一些办法来隔离用户并控制他们,于是这些软件销售商们就把各自的软件源代码封闭了起来,并禁止购买其软件的用户进行分享。而这大大损害了软件用户的利益。 在1983年,一位名叫Richard Stallman的黑客率先站了出来,宣布了一个名叫GNU的项目,该项目要开发一个包含系统内核和系统程序在内的操作系统GNU。GNU是GNU's Not Unix的缩写形式,这个无限递归的趣名表明了这个操作系统将会是一个Unix的自由变种。 第18章 常用插件扩展点 ·217· 图1.1 GNU的Logo 为了保护GNU软件,防止任何人对其进行私有化,GNU发布了Copyleft的法规,也就是著名的GPL协议。Copyleft的宗旨是给予用户运行程序,拷贝软件,修改源代码并且发布的权限,但阻止任何人将其私有化。

图1.2 Copyleft的Logo 由于当时人们对GNU emacs编辑器的喜好,越来越多的人愿意加入到GNU项目中去。于是,在1985年,自由软件基金会由Richard Stallman一行人创立了。自由软件基金会征募了一批热爱自由软件的程序员进行编写与维护软件的工作。基金会的收入大部分来自分发软件拷贝、捐助以及相关的技术服务。 到了1990年,GNU几乎已经完成了整个系统构建,大量如编译器,编辑器,系统管理工具等系统必要工具已经具备,唯一缺少的就是内核了。而内核GNU Hurd尚未成熟,无法产品化,就在这时,GNU迎来了Linux的横空出世。

1.1.3 Linux横空出世 操作系统(Operating System)作为一个底层软件,负责着系统的任务调度,内存分配,处理计算机外部硬件接口等很多重要任务。操作系统的内核是驱动整台计算机的核心,而在早期,操作系统内核的源代码是各个计算机销售商小心看管的机密,它们不对外公布。 GNU项目的诞生给了人们新的选择。当时,整个世界都在Richard Stallman的带领下创建自由软件,但始终缺少一个平台来将这些优秀的软件整合在一起,时势造英雄,Linux就在这样诞生了。 事实上,Linux只是一个操作系统内核(Kernel)。1991年,在芬兰赫尔辛基大学计算机科学系就读的二年级学生Linus Benedict Torvalds为了克服当时MINIX系统的一些缺点,自行开发了Linux,并于当年在网上发布了该系统内核。 Linux是因特网爆炸时代的产物,在当时,操作系统的源代码而当Linux内核源代码被自由共享到网络上后,来自全世界的黑客为之振奋,纷纷开始为内核义务进行拓展,并进一步开发系统需要使用的各种工具(Utilities),同时增加与增强系统功能,这使得Linux以惊人的速度开始发展。 Eclipse从入门到精通 ·218· 图1.3 Linux的吉祥物Tux Linux操作系统使用了大量的GNU工具,一直以来,人们忽视了GNU对于Linux的重要性,准确地说,Linux应该称为GNU/Linux。因为正是与GNU的联姻,才成就了Linux。 Linux的关键词就是Have Fun,它是一款自由的操作系统,任何人都能学习它,修改它,并进行重新发布。任何人可以从网络上免费下载Linux的内核、大部分自由软件、文档,通过新闻组(Usenet) ,邮件列表(Mailing list),IRC(Internet Relay Chat)等Internet资源得到强有力的技术支持。

1.1.4 自由软件的保护伞——GPL协议 大多数商业软件的许可证都会剥夺用户分享与修改软件的自由,而GNU通用公共许可证,也就是GPL协议的发布,就是为了保护用户分享软件、修改软件的自由。 GPL禁止任何人不承认用户自由的权利,或者逼迫用户放弃这些自由。它给予软件以版权的保护,禁止任何人将其私有化,同时提供给用户许可证,许可证给予用户分享、发布、修改软件的法律许可。 GPL的最新版本是GPLv3,于2007年6月29日发布,但是Linux仍然采用着GPLv2,没有升级到GPLv3。 用户可以从GPL的官方网站(http://www.gnu.org/licenses/gpl.html)上了解到GPL协议的最新动态与信息。

1.2 Linux的优势

有这样一句广为流传的描述:“Linux做不了的事就是不需要做的事。”这话不免有些偏激,但也不是没有道理,它很形象地说明了Linux的实用性。Linux的众多优点与特点使其在许多领域都有着极其重要的应用。

1.2.1 开放性 Linux作为一款开源的操作系统,其内部是完全透明的。它继承了Unix的开发理念与哲学,提供了各类编程接口和工具,用户可以根据自己的需要为系统开发各种程序或工具,这些小工具往往能够互相协作从而完成更为复杂的任务。 在Linux操作系统中,用户甚至可以自己修改、编译内核,打补丁,然后上传给Linus本人或者是第18章 常用插件扩展点 ·219· Linux的内核开发团队。而正是这样的开放性的开发模式使得Linux一步步走向成功。 1.2.2 价格与费用 Linux操作系统不仅公开源代码,而且绝大多数发行版本都是免费的,更有像ubuntu这样的发行版本为用户提供免费邮寄业务。 价格的优势对于Linux来说是无比巨大的。即使是Linux的商业版本,例如Redhat Enterprise Linux,它所收取的费用相比较于其它商业操作系统,还是非常低的。

1.2.3 可移植性 有这样一句对Linux可移植性的评论:“只要有CPU,就能装上Linux”,确实,由于Linux操作系统的源代码95%以上是用C语言实现的,而C语言是一种与计算机无关的高级语言,所以Linux操作系统移植性非常好。 Linux不仅可以运行于Intel芯片架构的机器上,同样能够移植到基于Alpha的Compaq机、基于MIPS的计算机、基于Motorola 68K的计算机、PowerPC还有IBM S/390机。只要愿意,甚至可以将它安装在PlayStation 3这样的游戏机上以及苹果公司的iPod音乐播放器内,等等。 在嵌入式应用领域,Linux也有着不俗的表现,电视机机顶盒、手机、导航系统等设备的内部都有Linux操作系统的身影。

1.2.4 多用户多任务 Linux是一个完全受保护的多用户多任务操作系统,它可以支持上百甚至上千个用户同时使用一台计算机来运行他们需要使用的程序,而每个程序的进程间可以通信,并且这些进程都是受到保护的,不会受到其他进程的干扰。 多用户多任务的功能可以让一台计算机的资源充分地被利用起来。比如,用户A在使用打印机打印文件,用户B在使用浏览器浏览网页,用户C在使用编辑器编写代码„„他们之间互不影响,互不干扰,而系统资源可以最大程度地被各个用户所利用,使用成本就减到了最少,这就是多用户多任务操作系统的根本目的所在。 Linux操作系统无时无刻不在出色地完成这样的多用户多任务工作。

1.2.5 应用领域 Linux如今的应用领域已经极为广泛。在服务器领域,Linux一直以来都是最佳候选系统之一,Linux+Apache+Mysql+PHP被人们称为开源黄金组合LAMP。LAMP在成千上万台运行着关键业务的企业服务器上服役,在世界前500强的企业中扮演着极为重要的角色。 在桌面应用领域,用户可以从各种Linux发行版本的软件仓库中找到合自己心意的自由软件,它们能够为用户处理文字,加强网络安全,便于系统管理,等等。 Linux下的自由软件最大的特点就是其开放性吸引了许多职业或是业余的开发者志愿为软件进行拓展。例如网络即时通讯协议集合软件pidgin,其爱好者和开发团队为其写了几十种实用的插件,用户可以根据自己的需要利用插件来拓展程序的功能。

相关文档
最新文档