社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 112237阅读
  • 89回复

★ Linux&Unix→专辑 ★

楼层直达
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 45 发表于: 2007-05-05
引用
八、建立Apache站点的基本安全机制


引用
对于WWW服务来说,在WWW服务器和WWW浏览器之间并不始终维持对话过程。办要WWW服务器完成对一个URL请求的服务,连接就断开了。

在这种情况下,在WWW上保证可以使用的唯一认证机制是由HTTP本身提供 的。在标准的Apache服务器实现了这样的认证,它能控制哪些主机可能访问特定的站点或特点的站点的一部分。

这种认证可以分为两种,一种是基于主机的的认证,另一种是基于用户名/口令的认证。由于互联网上的决大多数用户的IP地址是动态获得的,所以基于主机的认证方式并不总适用。所以在大多数情况下,传统的基于用户名/口令的认证方式更为现实。下面我们就对这两种认证的实现做一简要的介绍。

8.1 基于主机的认证方式

在种认证模式顾名思义,访问是用主机名或主机IP地址来控制的。支持这种认证方式的是Apache的mod_access模块,这个模块缺省状态下是被安装了的。该模块用以下几种Apache命令来提供访问控制功能。

 

allow命令
 

语法:allow from host1 host2 host3 ...

这个命令定义了允许访问站点或目录的主机清单。主机清单可以用以下几

种形式表示:

ALL:代表所有主机;

主机的全域名,如www.mot.com

主机的部分域名,如:.mot.com;

完整的IP地址,如:202.98.2.32;

部分IP地址,如:202.98

网络地址/网络掩码对,如:202.98.0.0/255.255.0.0

网络地址/nn(CIDR定义),如:202.98.0.1/16

 

deny命令
 

语法:deny from host1 host2 host3 ...

这个命令定义了禁止访问站点或目录的主机清单,其他与allow命令相似。

 

order命令
 

语法:order deny,allow | allow,deny

这个命令定义评价allow和deny命令的先后顺序。

例如:

 

order deny,allow

deny from www.mot.com

allow all





 

这组命令设置了禁www.mot.com访问/home/httpd/html目录下的文件。

请大家注意,顺序是先deny后allow,如果是:order allow,deny 那么,先允许所有的主机访问,然后再禁止,这样是无效的,所有主机仍然能够访问。

8.2 基于用户名/口令的认证方式

这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL

时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给WWW服务器,WWW服务器验证它的正确性,如果正确,返回页面,否则返回401错误。要说明的一点是,这种认证模式是基本的,并不能用于安全性要求极高的场合。

Apache中有许多模块可以支持这种认证方式,下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样,mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户,它能工作得很好。如果你需要对大量的用户,如数以千计的用户做认证时,这种方法的性能将急剧下降到不可忍受,所以当这种情况下,就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。

 

实例一:需要用户名和口令的访问控制
 

下面我们就一起来看一下如何建立需要用户名/口令才能进行访问的目录。

基本情况: www.xxx.com

的站点有设置为:

DocumentRoot /home/httpd/html

AccessFileName .htaccess

AllowOverride All

需求:限制/home/httpd/html/backup/目录的访问,只允许用户“super”以口令“fill-06”访问此目录。

实现步骤:

 

使用htpasswd建立用户文件
 

htpasswd –c /home/httpd/secr/.htpasswd super

此程序会询问用户“super”的口令,你输入“fill-06”,两次生效。

 

建立.htaccess文件
 

用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入

以下几行:

AuthName My Friend Only (注:这个名字是任取的)

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

require user super

 

设置文件权限,确保Apache用户有读的权限
 

这样就完成了设置工作,你可以试一试效果了。

 

实例二:允许一组用户访问一个目录
 

假设,现www.xxx.com想让myfriend组中的mf1与mf2两个用户分别能

使用口令“mf001-1”“mf002-2”访问/home/httpd/html/backup/目录。

实现步骤:

 

使用htpasswd建立用户文件
 

htpasswd –c /home/httpd/secr/.htpasswd mf1

htpasswd –c /home/httpd/secr/.htpasswd mf2

 

建立组文件
 

用vi/home/httpd/secr/目录下建立一个文件.htgroup,写入:

myfriend:mf1 mf2

 

建立.htaccess文件
 

用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入

以下几行:

AuthName My Friend Only

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

AuthGroupFile /home/httpd/secr/.htgroup

require group myfriend

配置工作到此结束,试一试吧!

 

实例三:混合使用基于主机与基于用户名/口令的认证方式
 

如果你除了只允许让mf1与mf2两个用户访问外,还想禁止www.mot.com

外的主机访问这个目录的话,就将/home/httpd/html/backup/.htaccess修改成为:

AuthName My Friend Only

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

AuthGroupFile /home/httpd/secr/.htgroup

require group myfriend

order deny,allow

deny from all

allow from www.mot.com
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 46 发表于: 2007-05-05
引用
九、解读Apache日志


引用
当你一步步地看到这里的时候,相信你的WWW站点已经建好,并且已经在

Internet上展现出来了。这时你可能就会关心谁造访过你的站点,或者想知道你的Apache服务器现在的运行状态与性能如何。下面我们一起通过解读Apache的日志来实现这个伟大的愿望。

9.1 盯着Apache服务器

Apache允许通过WWW监视服务器的配置信息与运行状态。

1.观看配置信息

如果你的Apache象缺省配置一样加入了mod_info模块的话,你就可以通过访问http://localhost/server-info查看服务器信息。

2.使用状态页

如果你的Apache象缺省配置一样加入了mod_status模块的话,你就可以

通过访问http://localhost/apache-status查看服务器的运行状态信息,其中包括:

¨ 服务器系统的当前时间;

¨ 服务器最近一次重启时间;

¨ 服务器启动后的运行时间;

¨ 到目前为止服务的访问总数;

¨ 到目前为止传输的字节总数;

¨ 服务请求的子进程数;

¨ 空闲子进程数;

¨ 每个进程状态、子进程服务的请求数以及该子进程传输的字节总数;

¨ 每秒平均请求数、每秒传输的字节数、每次请求平均传输字节数;

¨ 目前每个子进程CPU占用及Apache的总的CPU占用率;

¨ 当前主机及处理的请求。

9.2 什么是日志文件

日志文件是Apache工作的记录,Apache包括了mod_log_config模块,它

用来记录日志。在缺省情况下,它用通用日志格式CLF规范来写。

CLF日志文件内对每个请求均有一个单独行,形如:

host ident anthuser date request status bytes

其含义如下:

¨ host��客户端主机的全称域名或IP地址;

¨ ident��存放客户端报告的识别信息;

¨ authuser��如果是基于用户名认证的话,值为用户名;

¨ date��请求的日期与时间;

¨ request��客户端的请求行;

¨ status��返回到客户端的三们数字的HTTP状态码;

¨ bytes��除去HTTP头标外,返回给客户端的字节数。

9.3 分析日志文件

有了日志文件后,我们可以利用UNIX的一些工具和一此专门的日志分析工具对日志文件进行分析。

 

实例一:列出访问过本网站的主机名或IP:
 

对于这个需求,我们可以通过一个Unix的一个脚本语句来完成:

cat /var/log/httpd/access_log | awk ‘{print $1}’

 

用上面的方法虽然可以得到访问过本网站的主机名或IP,但是由于有些是多次访问的,我们希望在上面得到的结果的基础上做一些优化,使得列出的表中,每个主机只出现一次。我们可以使用:
 

cat /var/log/httpd/access_log | awk ‘{print $1}’ | wc –l

3.当然,我们可以根据需要选择第三方提供日志分析工具甚至自己开发一些日志分析工具来满足我们的需求。常见的第三方日志分析工具有:WebTrends、Wusage、wwwstat、http-analyze、pwebstats、WebStat Explorer、AccessWatch。

9.4 一些提示

日志一方面是我们分析网站的第一手资料,一方面却是吞噬大量磁盘空间的罪魁祸首。所以别忘了定期转储或删除一些老的日志文件。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 47 发表于: 2007-05-05
引用
十、Apache与代理服务器


引用
代理服务器是位于客户和客户要访问的服务器之间的系统。当客户机使用URL请求访问远程资源时,代理服务器接受该请求并取得该资源以满足客户机的请求。在通常情况下,代理服务器是客户机的服务器,同时也是远程服务器的客户。

代理服务器可以在自己的缓冲区中存储被请求的内容,当这些信息再次被请求的时候,代理服务器就无需再从远程服务器上取了,这样代理服务器就减轻了网络的瓶颈问题。

Apache可以配置成为代理服务器。

10.1 前向代理服务器和逆向代理服务器

1.前向代理服务器

前向代理服务器通常位于用户主机和要访问的远程网络之间。它从远程服务器取得所要求的资源,然后返回给用户,同时存在磁盘上,以供下次使用。

在这种情况下,客户端的主机知道它们正在使用代理服务器,因为每个主机都必须配置为使用代理服务器。

例如,必须告诉WWW浏览器使用代理服务器,它才能使用代理服务器。所有的远程请求都通过代理服务器传输。

这类代理服务器也称为缓冲代理服务器。逆向服务器也可以缓冲数据,但它的作用愉好与前向服务器相反。


2.逆向代理服务器

逆向代理服务器位于互联网资源前面,逆向服务器从原始服务器找到被请求的资源,并反它返回给用户主机。

与前向代理服务器不同的是,逆向代理服务器的用户并不知道它们连接的是代理服务器而不是资源服务器本身。10.2 配置代理服务器

为了允许Apache作为代理服务器,需要将ProxyRequests设为On,然后根据你希望代理服务器做什么而增加什么附加配置。无论你希望做什么,你所选的代理配置都应该放入一个特殊的容器中。







 

实例一:将私有IP网连到互联网
 

假设私有网上只有一台计算机被分配了互联网上合法的IP地址,这台计算

机运行Apache代理服务器,ProxyRequest设置为On,并且不需要附加其他配置,所有请求均可由这台代理服务器代理服务。

 

实例二:让Apache允当远程WWW站点的缓冲
 

第一步:将ProxyRequest设置为On

第二步:创建配置如下:



CacheRoot /www/cache

CacheSize 1024

CacheMaxExpire 24



这里的意思是设置Cache目录为/www/cache;大小为1024KB,即1MB;缓冲中的内容在24小时后失效。

 

实例三:建立镜像站点(其实这也就是所谓的逆向代理服务器)
 

第一步:将ProxyRequest设置为On

第二步:创建配置如下:



ProxyPass / www.mot.com /
CacheRoot /www/cache

CacheDefaultExpire 24



10.3 一些提示

代理服务器,我们将会在后面的章节中详细介绍,这里只是针对Apache的功能介绍的。用Apache作代理服务器的性能并不高,效果并不好。不建议使用
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 48 发表于: 2007-05-05
引用
Linux99问


引用
摘要
  本文采用一问一答的形式,对Linux初学者在学习Linux操作系统时会遇到的一些典型问题做了详细的解答,相信对于这些读者而言会用一些作用


引用
一、 直击Linux:12问

1.什么是Linux?

  Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作系统的想法,当年,Linux就诞生了,为了不让这个羽毛未丰的操作系统矢折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。

  Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。

  现在,Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。

2.什么是自由软件?

  自1984年起,麻省理工学院开始支持“世界最后一名黑客”Richard stallman在软件开发团体中发起自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件革命的序章。

  GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。

  而GNU项目的目标是建立可自由发布的、可移植的UNIX类操作系统。

3.从技术上说,Linux有什么优点?

  1) 提供了先进的网络支持:内置TCP/IP协议;
  2) 真正意义上的多任务、多用户操作系统;
  3) 与UNIX系统在源代码级兼容,符合IEEE POSIX标准;
  4) 核心能仿真FPU;
  5) 支持数十种文件系统格式;
  6) 完全运行于保护模式,充分利用了CPU性能;
  7) 开放源代码,用户可以自己对系统进行改进;
  8) 采用先进的内存管理机制,更加有效地利用物理内存;

4.我需要学习Linux吗?

  电脑初学者:强烈建议你远离配置、管理均相当繁琐的Linux,去拥抱Windows那通俗易懂的图形界面;

  文字处理者:Windows多年的发展,已经开发出了一套“所见即所得”文字处理软件,犯不着与黑底白字的vi较劲;

  编程爱好者:Linux的源代码完全公开,是编程爱好者的福音。剖析内核,量身定做不是你的愿望吗?怎么样,试试吧!

  网络管理员:拥抱Linux吧。据权威机构评测 ,Linux在同配置机器上的网络服务效率是NT的1.8倍,而且还是免费的,老板一定会笑的。

  总之,如果你具备以下条件之一,就拥抱Linux吧:
  1) 对编程有狂爱,总喜欢用程序解决问题;
  2) 具有较强的钻研精神,喜欢对问题刨根问底;
  3) 对构造网络服务器有兴趣的人;
  4) 你的PC老掉牙了,跑Windows像蜗牛;
  5) 想学习、了解UNIX操作系统;
  6) 极其厌恶Windows的蓝屏死机;
  7) 不想花钱,又想用正版软件的人。


5.Linux会取代Windows 9x吗?

  计算机在应用中可以分为桌面应用(工作站/客户机)和服务器应用,桌面应用直接面向客户,实现一些个性化的工作;服务器应用则是一些后台处理系统,实现一些共性的服务工作。对于桌面应用来说,易用性十分重要,而对于服务器而言,性能可靠、稳定才是更重要的。

  所以为服务器设计的性能可靠、稳定的UNIX操作系统与为桌面系统设计的用户界面友好的Windows 9x系统一直是长期并存的主流操作系统。

  Linux操作系统是一种类UNIX操作系统,其设计上对稳定性的考虑比易用性考虑要多得多,它不是一种桌面系统,它也不是为了取代桌面系统而出现的。所以Linux不会取代Windows 9x。

6.Linux与WindowsNT谁更好?

  WindowsNT操作系统是微软公司进军服务器操作系统的利器,设计系统时在满足服务器需求的前提下,融入了Windows 9x的图形化界面的优势,使得其易于使用,深受用户喜欢,其市场占有率也因此节节上升。

  然而图形界面的代价,使系统的效率降低了,所以它适合中小企业、个人用户、对性能要求不严格的场合选用。

  而Linux则适用于强调性能指标,对用户界面要求不大的的应用上。

7.Linux与UNIX有什么不同?

  Linux也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它们之间的最大区别在于以下两点:
  1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上;
  2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。

8.Linux能应用在哪些领域呢?

  1) 教育领域:设计先进、公开源代码这两大特性使得Linux成为了操作系统课的活教材;
  2) 网络服务器领域:稳定、健壮、系统要求低、网络功能强使得Linux成为现在Internet服务器操作系统的首选,现已达到了25%的占有率;
  3) 企业Intranet:可以用低廉的投入架设E-MAIL服务器、WWW服务器、代理服务器、透明网关、路由器;
  4) 视频制作领域:著名的《泰坦尼克号》就是由200多台Linux协作完成其中的特技效果的。

9.Linux操作系统发展现状和未来如何?

  在2000年的LinuxWorld大会上,明显感觉到:社会各界对免费发布的操作系统的支持的力度大大增强了,特别是许多硬件厂商,比如 IBM、HP和 Dell 纷纷加入到Linux领域,极大地促进了这种操作系统的发展。

  虽然,现在纷繁复杂的多种Linux发行版,各自为阵,降低了Linux的整体战斗力。但业界认为,不同的发行版本最终会产生不断细分的市场,各个版本将专注处理比较专业的东西。

  Linux操作系统经历过市场的洗礼之后,一定会创造出更大的辉煌。

10.Linux对软件业有什么影响呢?

  最早,程序是程序员思想的结晶,是人类共同的文化。后来,微软公司的创始人比尔.盖茨先生创建了一个全新的软件产业模式:程序是花钱购买的,源程序是程序员的知识产权,是需要保护的。这个软件的商业模式缔造了微软帝国,也将比尔推到了世界首富的位置。

  如果说,微软的Windows为世界做了很大的贡献的话,那么同时它也会软件业的发展带来了垄断和铜臭。自由软件FSF组织就是想通过GNU项目来打破这一格局,再次让所有人共享程序员思想的结晶----源代码。

  而Linux的加盟,使得自由软件组织更具有战斗力,事实证明,的确对现在的软件业造成了深远影响。同时,Linux奇特的开发方式,也为软件业的创新提供了宝贵经验。

11.我该如何学习Linux呢?

  1) 多阅读Linux书籍,如《Linux大全》、《RedHat Linux奥秘》、《Linux系统管理白皮书》等;
  2) 敢于尝试,经常使用Linux,从实践中学习Linux,别怕“try again”;
  3) 经常通过网络与Linux爱好者们互相交流,提高自己。

12.网上有哪些Linux资源?

  在Internet上,关于Linux的网站很多,其中比较优秀的中文网站有:
  1) www.linuxaid.com.cn:设有Linux论坛、在线答疑、知识库、在线培训、解决方案等栏目;
  2) www.linuxforum.net:这里应该是人气最旺的Linux论坛;
  3) www.lslnet.com/linux:是一个更新较快的Linux专题网站;
  4) www.linuxbyte.com:是一个较好的Linux网站;
  5) www.clinuxdevelop.org:中国Linux开发联盟;
  6) clyan.hongnet.com:linux数据库应用指南。




二、 Linux大观:7问

13.RedHat Linux 6.5和Linux 2.4哪个版本高?

  最近许多报刊、网站都介绍了Linux的最新版 2.4怎样,怎样?而许多Linux初学者正在使用的是RedHat Linux 6.5版。哪个版本更高?

  其实,这两个版本号是不同的!RedHat Linux是将Linux内核与Linux的一些常用配套软件、应用软件捆绑在一起的发行版,6.5是这个发行版的版本号。而Linux 2.4则是指Linux内核的版本。

  Linux核心是由linus维护的,它的版本号一般由二到三个部分组成,例如现在最稳定的2.2.15:
  1) 第一个2是主版本号,一般在一个时期内比较稳定;
  2) 第二个2是次版本号,如果是偶数,代表是正式版,如果是奇数,代表是开发过程中的测试版,如在2.4正式出来时,2.3.x就是在开发者间使用的测试版的版本号;
  3) 最后一个15是修改号,如2.2.15就是对2.2.14做了一些小的修改而来。

  这种特殊的版本命名法是为了便于在Internet上共同开发而制定的。

14.Linux的发行版有哪些?

  Linux的发行版就是将Linux核心与应用软件做一个打包。较知名的有:SlackWare、RedHat、Debain、Mandrake、SuSE、Xlinux、TurboLinux、BluePoint、RedFlag、Xterm等。

15.RedHat Linux有哪些特点?

  RedHat Linux是最成熟的一种Linux发行版,其无论在销售还是装机量上都是市场上的老大。在中国老一辈Linux爱好者中几乎都是RedHat的使用者。市场上有大量的文章是针对RedHat来说的。

  RedHat Linux朴实、简洁、稳定,是作为商业应用、钻研Linux的好平台。

16.TurboLinux有哪些特点?

  TurboLinux是一家美国公司建立的发行版,早期其致力于Linux的国际化工作,它的中文版,是最早的成熟中文Linux发行版。TurboLinux注重面向具体应用,开发出针对不同应用的发行版,在国际影响力方面越来越大,是RedHat的一个主要竞争对手。

17.BluePoint、Xterm、RedFlag三种中文Linux谁好?

  BludePoint Linux是由Devin、Samuel、hahalee三个中国内核黑客通过互联网联手合作的杰作,在互联网上深受中国Linux爱好者的好评。它最主要的特点是:内核级的汉化,有许多自己的东西。

  Xterm是由北京冲浪公司制作的Linux发行版,可以算得上中国最早的Linux发行版。它的最大特点是:用户界面好,进入门槛低,适合初学Linux人试用。

  RedFlag是由中科院、北大方正、康柏公司联合开发,是基于RedHat Linux改进的中文版。它的特点是:开发力量强大,比较权威,可以一试。

18.哪种版本Linux适合我?

  相对来说,SlackWare、RedHat、Debain这三种发行版比较适合一些有一定基础,或很强调性能、稳定性的人。笔者强烈推荐使用RedHat。

  TurboLinux、BluePoint、RedFlag、Mandrake则在用户界面比前三种更友好,稳定性适中,其中Turbo、BulePoint、RedFlag还内置了中文支持,应该是刚从Windows转到Linux中的人的最好选择。

  而象Xterm、联想Happy等这些的用户界面更加优秀,内置的中文支持,捆绑了更多游戏、办公软件,比较适合Linux的尝试者或初学者使用。

  以上皆为本人观点,随着时间的变化,以上评价会有失偏颇,仅供参考。

19.如何得到Linux?

  你可以通过以下方法获得Linux:
  1) 从网站上下载,www.redhat.com、freesoft.cei.gov.cn等;
  2) 购买Linux发行版的光盘;
  3) 复制Linux发行版的光盘,这种方法在GPL中是合法的!!





三、 走进Linux殿堂:35问

20.安装Linux,对硬件有什么要求?

  Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上。但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步。

21.安装Linux需要做哪些准备?

  1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组、时钟芯片、显存大小等相关信息;
  2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动;
  3) 如果你的Linux安装盘无法自启动的话还需制作启动盘;
  4) 为Linux的安装腾出硬盘空间,最好有1G左右。

22.安装Linux前要有哪些基础知识呢?

  安装Linux时,至少需要两个分区:Linux native主分区、Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。

  交换区每个8-256M,最多可以有8个,一般建立一个与内存等大的就行了。

  DOS中,不管物理上、逻辑上,每个分区就是一个独立的部分,比如:C盘、D盘、E盘,每个盘都有一个根目录。而在Linux中,物理上是一个个分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。

23.Linux如何命名我的硬盘?

  Linux对硬盘的处理,与DOS系统基本上是一样的,先做分区,然后再做格式化。分区的命令是不同的,DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。

  如“hda1”,hd是一个部分,代表IDE硬盘,如果是SCSI硬盘的话,为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。

24.如何安装Linux?

  每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:
  1) 一些基本设置:如安装语言、键盘;
  2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉硬盘分区的爱好者最好在行家指导下进行;
  3) 选择要安装的软件包:建议初学者全部安装,待以后熟悉了后再重新定制,以免在学习过程中丢这落那的;
  4) 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;
  5) 安装LILO:建议装在主引导扇,使用LILO来完成多系统引导;
  6) 为Linux的超级用户root设置密码。

  大家可以参考每种Linux的相关资料来尝试安装。

25.如何在一块硬盘上安装多个操作系统?

  许多Linux爱好者都希望能够在保留Windows9x操作系统的同时,安装Linux。为了能够在多个操作系统的自动选择,就需要一个启动管理器,Linux带了一个很好的启动管理器---lilo。

  所以在安装多个操作系统时,你只需先安装其它操作系统,最后安装Linux,并将lilo安装在主引导扇上,这样重新启动系统时,将出现lilo:等待你选择你要启动的操作系统。

26.如何配置linux启动管理器lilo?

  根据需要修改/etc/lilo.conf文件,然后执行/sbin/lilo让设置生效。下面是一个lilo.conf文件的示例:

  boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda1
initrd=/boot/initrd-2.2.5-15.img
read-only
other=/dev/hda2
label=windows



  其中,timeout是用来设置lilo等待输入的时间,在此表示如果5秒不选择的话就进入default;

  default选项用来指定默认启动哪个系统;

  image小节用来指定linux的启动信息,包括启动位置,名字--linux;

  other小节用来指定其他操作系统的启动信息,包括启动位置、名字。

27.如何启动、关闭系统?

  启动Linux很简单,只要在lilo中选择linux(输入linux)就可以了,在启动过程中,将会向控制台写许多信息,直到出现用户登录提示login:,输入用户名和密码就可以登录系统,开始Linux世界的探索。

  关机时一定要注意,不能直接关闭计算机电源,那样会破坏Linux的文件系统,你可以使用以下命令来实现:
  1) 重启:执行reboot命令或同时按下Ctrl+Alt+Del键;
  2) 关闭系统:执行shutdown –h now命令。

28.Linux下的目录操作与DOS/Windows有什么不同?

  Linux的文件系统与DOS类似,也是采用树形结构的。但目录的表示有一点是完全不同的,Linux用“/”表示根目录,而DOS用“”表示根目录。以下是在Linux下常用的目录操作命令:
  1)“mkdir 目录名”:建立目录;
  2)“rmdir 目录名”:删除空目录;
  3)“cd 目录名”:改变目录;
  注:cd与目录名之间一定要空格,比如到根目录,需用“cd /”,而非“cd/”
  4)“pwd”:查看自己所在的目录;

29.在Linux如何对文件进行操作?

  你可以使用ls -l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示:


total 2
drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1
-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt



  最左边一列是文件/目录权限,第3列是的属主信息,第4列是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目录名。以下是一些常用文件操作命令:
  rm:删除文件 more:浏览文件 cp:拷贝文件

30.如何编辑一个文本文件?

  你可以使用vi来编辑一个文件文件,它是在 Unix 世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。
  1) 启动vi:执行“vi 文件名”,一启动vi在命令状态,可以输入各种vi的命令,不能编辑;
  2) 存盘:w、存盘退出:wq、不存盘退出:q!;
  3) 进入编辑状态:插入:i、新增:a;
  4) 退出编辑状态:按ESC键;
  5) 进入编辑状态后,编辑起来很像DOS下的edit;
  6) 在命令状态下还有一些常用的命令:

  x 删除游标所在字元;
  dd 删除游标所在的列。




31.安装完Linux后,根目录下一大堆,都是些什么?


/bin:存放最常用命令;
/boot:启动Linux的核心文件;
/dev:设备文件;
/etc:存放各种配置文件;
/home:用户主目录;
/lib:系统最基本的动态链接共享库;
/mnt:一般是空的,用来临时挂载别的文件系统;
/proc:虚拟目录,是内存的映射;
/sbin:系统管理员命令存放目录;
/usr:最大的目录,存许应用程序和文件;
/usr/X11R6:X-Window目录;
/usr/src:Linux源代码;
/usr/include:系统头文件;
/usr/lib:存放常用动态链接共享库、静态档案库;
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;



32.如何安装网卡?

  你可以用root登录后运行netconf来安装网卡。输入网卡的设备名、选择网卡的模块号,IO地址、IRQ中断等信息,然后存盘退出,执行:/etc/rc.d/init.d/network restart;

  如果你的网卡未能列在可选的网卡模块列表中的话,你就需要下载驱动程序,然后将其编译成模块。最后用“insmod 模块名”命令完成安装。

33.如何驱动D-Link DE220网卡?

  D-Link的DE220是一款性价比较好的,支持即插即用的ISA网卡。但正是由于即插即用功能使得其在Linux下安装会遇到一些麻烦:
  1) 在DOS环境下,用DE220网卡的驱动程序盘中的一个工具setup将其设置成非PNP的;
  2) 到Windows的控制面板中获取其IO地址和中断号,一般情况下,IO地址是240,中断号是10;
  3) 启动Linux,登录后执行“netconf”,将第一块网卡设为Enable,设备名为eth0,模块为ne,IO地址为0x240,IRQ为10;
  4) 存盘退出后,运行/etc/rc.d/init.d/network restart即可。

34.如何驱动D-Link DFE530 TX网卡?

  D-Link 530 TX网卡是一款性价比较好的10M/100M自适应的PCI网卡,拥有广大的用户群,然后Linux在安装向导中却没有列在列表中。

  其实,一般Linux都已经包含了这款网卡的驱动模块:tulip.o,你可以直接执行“insmod tulip”来完成网卡的安装。

35.如何驱动D-Link DFE540 TX网卡?

  如果你的网卡是D-Link DFE540 TX,那么在安装时不要选网卡,否则可能造成一些不必要的麻烦。
  1) 从http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html下载最新的tulip.c文件,并复制到/usr/src/tulip下;
  2)执行以下命令,编译生成tulip.o:

#cd /usr/src/tulip
#gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -Wall
-Wstrict-prototypes -O6 -c tulip.c


  3)执行insmod tulip.o;
  4)执行/etc/rc.d/init.d/network restart,让网卡生效。


36.如何驱动Davicom 9201网卡?

  Davicom 9201 PCI网卡在安装Linux时,不能直接完成。其实,大多数的Linux发行版都提供了这款网卡的驱动模块---dmfe.o,如果你的机器也是这种网卡的话,可以在安装Linux时略过网卡配置,安装完启动系统、登录后,执行:“insmod dmfe”命令添加驱动模块,然后执行“/etc/rc.d/init.d/network restart”就可以了。

37.如何驱动第二块网卡?

  在Linux系统中,你可以很容易地使用配置工具netconf安装第二块网卡,在netconf中选择第二块网卡,设备名:eth1、选择其驱动模块、输入IO地址和IRQ中断号,存盘退出后,执行:

/etc/rc.d/init.d/network restart




38.如何驱动普通声卡?

  在Linux系统中提供了一个十分方便使用的声卡配置工具sndconfig,如果你的声卡比较大众化,就可以使用它来驱动你的声卡:
  1) 用root登录系统,运行/usr/sbin/sndconfig;
  2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用SoundBlaster;
  3) 选完后,sndconfig需要你设置声卡的IO地址和IRQ中断号,根据你的实际情况选择;
  4) 设置完成按OK按钮,如果听到Linus说话的声音就大功告成了。

39.如何驱动YAMAHA719声卡?

  Yamaha719声卡在Linux下的驱动是十分麻烦的:
  1) 重新编译核心,不选择SB或SB PRO之类的声卡,选中CRYSTAL SOFTWARE …的芯片;
  2) 然后,重新配置声卡,选CS4xxx选项;
  3) 再填写好相应的I/O地址、IRQ中断、DMA即可。
  如果你的声卡是Yamaha 724的话,请使用OSS来解决。

40.通用声卡安装程序OSS如何使用?

  OSS是一款解决Linux下声卡难以配置问题的商业软件,它支持绝大部分的Linux发行版,你可以到http://www.opensound.com/下载。
  1) 将下载的OSS软件包osslinux392v-glibc-2212-UP.tar.gz解压:

tar zxvf osslinux392v-glibc-2212-UP.tar.gz


  2) 在解开的目录下执行./oss-install,程序一般会提示你已经安装了其它声卡模块,选择去掉;
  3) 接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss);
  4) oss一般可以自动检测出大部分声卡,如果与你的实际情况相符,就直接在菜单中选择“Save changes and Exit.."就完成了设置;
  5) 你可以使用/usr/lib/oss/soundon命令用来打开oss驱动,用/usr/lib/osssoundoff关闭oss驱动。

41.通用声卡安装程序ALSA如何使用?

  ALSA,Advanced Linux Sound Architecture,是一个遵从GPL版权的通用PCI声卡解决软件。这个软件包括rpm和tar两种格式,其中rpm格式比较容易安装,这里就以rpm包为例介绍。
  1)到http://www.alsa-project.org下载以下四个文件:

alsa-driver-0.4.1d-1.i386.rpm
alsa-lib-0.4.1d-1.i386.rpm
alsa-utils-0.4.1-1.i386.rpm
alsaconf-0.4.1-1.386.rpm


  2)执行以下命令完成安装:

rpm –ivh alsa-driver-0.4.1d-1.i386.rpm
rpm –ivh alsa-lib-0.4.1d-1.i386.rpm
rpm –ivh alsa-utils-0.4.1-1.i386.rpm
rpm –ivh alsaconf-0.4.1-1.386.rpm


  3) 然后执行alsaconf命令,选择合适的声卡类型;
  4) 重新启动系统,然后执行命令:/usr/doc/alsa-driver/snddvices

42.Linux下如何安装Modem?

  1) 在Windows中查看你的Modem位于什么端口上;
  2) 在Linux中通过直接与端口交互来使用Modem,其对应关系如下:

COM1:/dev/cau0 COM2:/dev/cau1
COM3:/dev/cau2 COM4:/dev/cau3


  3) 设置Modem的最高速率:

#setserial /dev/cau1 spd.hi (最高速率设为57600bps)
#setserial /dev/cau1 spd.vhi (最高速率设为115200bps)




43.如果通过Modem拔号上网?

  1) 执行命令ln /dev/modem /dev/cau1(根据实际情况)
  2) 创建一个脚本:touch sw,加入:

/usr/sbin/pppd connect ′/usr/sbin/chat ″ ″ ATDT163 CONNECT ″ ″
ogin:username
word:password ′ /dev/modem 38400 modem defaultrout


  将username与password用你的上网帐号和密码代入。
  3) 你还可以使用KDE中的kppp工具方便地实现。

44.Linux下有图形界面吗?

  为了完善Unix系统的图形界面,麻省理工学院在1984开始了一个X-window开发计划,通过十余年的发展,X-window这一自由软件已经成为了Unix/Linux世界图形界面的事实标准。

  X-window分为三个层次:
  1)X-Window底层库,是最低实现层;
  2)X-SERVER,与显卡相关的中间层;
  3)窗口管理器,实现最终用户界面,如KDE、GNOME等。

45.如何配置X-Window?

  所谓配置X-Window就是根据机器的实际设备选择X-SERVER。可以通过xf86config或图形化界面的Xconfigure等程序来配置。
  1) 运行Xconfigure程序,然后选择合适的显卡类型,如果没有,则需要下载显卡的驱动;
  2) 选择显存大小,和X-SERVER;
  3) 选择合适的分辨率、色深组合
  4) 存盘退出后,运行startx启动X-Window。

46.如何驱动intel i740显卡?

  如果你的Linux无法识别i740的话,你可以这么做:
  1)下载新的 显卡数据库 和 i740 XBF驱动程序:xf86config-glibc-1.0.0.i386.tgz 和 xfcomi740.tgz
  2)解压这两个包,覆盖原来目录:

tar xvfz /tmp/xf86config*.tgz
tar xvfz /tmp/xfcomi740.tgz


  3)执行cp /usr/X11R6/bin/XFCom_i740 /usr/X11R6/bin/XF86_XBF_i740;
  4)用xf86config进行配置:显示器水平扫描频率选6;垂直刷新频率选2;在显卡库选择时,选311(即i740);显卡服务器类型选5;
  5)配置完成后运行startx就行了。


47.如何驱动intel i810显卡?

  Intel公司的两大显卡i740、i810都为Linux爱好者驱动带来不小麻烦,Intel公司为了以实际行动支持Linux,特意在网站上详细介绍了如何在Linux下配置i810显卡,你可以到下面的网址下载安装说明和软件:http://support.intel.com/support ... 810/linuxinstal.htm

48.如何驱动Savage4显卡?

  1) www.linhardware.com下载savage2000的驱动程序;
  2) 使用tar –xvfz 文件名解开驱动程序;
  3) 解压后,你能看到五个文件,其中有一个是XF86_SVGA;
  4) 备份/usr/X11R6/bin/XF86_SVGA,然后将新的XF86_SVGA复制到这个目录下,替换掉这个文件;
  5) 重新运行xf86config配置,不选显卡,在选X-server时,选3(也就是SVGA),并且不检测;
  6) 完成后,运行startx –bpp32,就可以了。

49.如何驱动SAVAGE3D显卡?

  1) 到ftp.lib.pku.edu.cn/incoming/savageX下载Savage3D显卡的驱动程序:SavageX_0_1_4.tar.gz;
  2) 解压这个程序,用新的XF86_SVGA替换/usr/X11R6/bin的原文件;
  3) 运行Xconfigurator,配置显卡时选择Unlisted Card, 然后选择Xserver为SVGA;
  4) 完成后,运行startx运行x-win。

50.有没有通用的显卡驱动方法?

  由于显卡产商支持有限,使得在Linux下驱动显卡一直都是难题。为了解决这个问题,Linux 2.2.x以上版本提供了一种新的解决方案---使用frame buffer设备,通过VESA VBE 2.0标准,利用显卡SVGA特性,配合XFree86的XF86_FBDev,驱动你的显卡。这的确可以帮你个忙。
  1)确认你有XF86_FBDev文件,如果没有就从ftp.xfree86.org下载;
  2)执行“mknod /dev/fb0 c 29 0”建立frame buffer设备;
  3)修改/etc/lilo.conf文件,加入:

image = /boot/vmlinuz-2.2.5-fb (新编译的内核)
label = linuxfb (启动标号,可自定)
root = /dev/hda2 (参照lilo.conf其他部分)
vga = 0x314 (显示模式,参照下表)

附:显示模式表
640x480 800x600 1024x768 1280x1024
256色 0x301 0x303 0x305 0x307
32k色 0x310 0x313 0x316 0x319
64k色 0x311 0x314 0x317 0x31A
16M色 0x312 0x315 0x318 0x31B


  4) 执行/sbin/lilo,使配置生效,然后重启系统,以新的内核启动系统。当然,如果你的内核已经支持了,就无需做这个修改,直接加上vga=那一行就行了。
  5) 接着进行frame buffer Server的配置:参照/etc/X11/XF86Config中vga的配置,加入一个screen小节,如下所示:

Section "Screen"
Driver "fbdev"
Device "My Video Card"
Monitor "MAG XJ500T"
Subsection "Display"
Depth 16 (色深,须与前面所选显示模式的色深一致)
Modes "default"
ViewPort 0 0
EndSubsection
EndSection


  6) 将X指向XF6_FBDev:

cd /etc/X11
mv X X.bat
ln -snf /usr/X11R6/bin/XF86_FBDev X




51.如何通过ISDN上网?

  ISDN的应用越来越普及,它速度快、价格便宜,深受网民的喜欢,那么在Linux下如何通过ISDN上网呢?
  1) 确认你的Linux内核已经包含了对ISDN的支持模块;
  2) 驱动ISDN卡:
  对于非即插即用的Teles 16.3 ISDN卡可以使用命令:
    #modeprobe hisax io=0x180 irq=10 type=3 protocol=2 id=isdn0
  对于即插即用型,则使用:

    #pnpdump〉/etc/isdn.con
    #isapnp/etc/isdn.conf
    #modprobe hisax irq=10 io=0x680 type=14 protocol=2 id=isdn0


  3) 安装Isdn4Linux,再执行scripts目录下的“makedev.sh”脚本程序,加入ISDN设备;
  4) 执行echo 1〉/proc/sys/net/ipv4/ip_dynaddr命令让其支持动态IP;
  5) 然后根据ppp的脚本再写一个用ISDN的脚本就行了。

52.如何在Linux下使用光驱?

  1)创建一个目录,用来挂上光盘目录树:
    mkdir /mnt/cdrom
   当然目录名可以根据你自己的习惯命名;
  2)插入光盘,执行“mount –t iso9660 /dev/hdc /mnt/floppy”命令;注意,如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;
  3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问;
  4)当你不使用时,执行“umount /mnt/cdrom”,再取出光盘。

53.如何在Linux下使用软驱?

  1) 与光盘类似,创建floppy目录;
  2) 软盘插入后,执行“mount –t msdos /dev/fd0 /mnt/floppy”命令, 注:若是软盘中是长文件名格式的,将上条命令中的“msdos”改为“vfat”,若是 Linux文件格式,则去掉“-t msdos”;
  3) 当你不使用时,执行“umount /mnt/floppy”,再取出软盘。

54.如何在Linux下读取非Linux分区的内容?

  1) 创建一个目录:mkdir /mnt/other
  2) 执行“mount –t 文件系统类型 分区 /mnt/other”命令;
  注:文件系统类型包括:modos—FAT16、vfat—FAT32、ntfs—NTFS;
  分区指该分区的设备名。
  3) 当你不需要使用时,执行“umount /mnt/other”。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 49 发表于: 2007-05-05
引用
四、 Linux下的“神兵利器”:15问

55.KDE是什么,有什么特点?

  KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境。KDE现在除了拥有KFM(类似于IE4.0)、KPresenter(类似PowerPoint)、KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎。

  但由于KDE是基于由TrollTech公司开发的Qt程序库的,所以也受到了许多批评。虽然Qt本身作为一基于C++的跨平台开发工具是非常优秀,但可惜的是它不是自由软件。Qt的License允许任何人使用Qt编写免费软件及免费拷贝给其他用户使用,但如果利用Qt编写非免费软件则需要购买他们的License。更重要的是任何人都不可以随意修改Qt源代码。如果TrollTech公司更改Qt License、公司倒闭或给人收购等都会令KDE前功尽弃。

56.GNOME是什么,有什么特点?

  1997年8 月,为了克服KDE所遇到的QT许可协议和单一C++依赖的困难,以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目,完全从头开始,这就是GNOME。

  经过14个月的共同努力,终于完成了这个工程。现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop 媲美的图形图像处理软件Gimp 等。

  现在GNOME与KDE成为了两大竞争阵营,必将使得Linux更加易于使用。

57.在Linux下如何播放CD?

  当你成功地在Linux环境下驱动了你的声卡之后,你就可以通过使用X-window中的一个CD播放器来播放CD了,它在多媒体工具中。

58.能不能在Linux下播放VCD?

  你可以使用MpegTV Player 1.0这个Linux下的VCD播放器实现你的愿望。

  安装MpegTVPlayer不需要特殊的硬件设备,只需运行X Window即可使用。

  它模仿了录像机的播放控制键,如 : 播放、快进、快退、停止、定格、搜索、音量调节、静声、音量平衡、循环播放、画面放大缩小、自动播放等。播放过程会显示整个节目要用时间、已用时间。

  你可以到下面站点下载MpegTV Play:http://www.mpegtv.com

59.有没有Linux下MP3播放工具?

  Linux下有很多MP3的播放工具,其中mpg123 应该是最经典的一种,它可以在控制台使用。许多图形界面的mp3播放软体都是利用这个程式来 播放mp3的。下面是它的一些基本的参数介绍:

  -a device 设定所使用的音效装置,预设为/dev/audio或/dev/dsp
  -@ file 从档案file中读取要播放的mp3档案名称列表
  -z 随机播放

  如果只是要单纯地播放一两首歌,或是要播放一整个目录下的歌,利用mpg123倒是个不错的选择,若是要复杂一点的功能如选择多目录内的特定mp3档案,那可能需要写个script来执行。

60.如何在Linux下浏览网页?

  想要浏览网页,需要满足两个条件:

  1) 你的电脑已经连上了Internet;

  2) 使用浏览器软件来实现浏览;在Linux下有两种常用的浏览器:
  控制台下可以使用lynx;
  X-window中可以使用netscape的Linux版本;

  它们的使用方法与在Windows中的浏览器基本类似。

61.如何在Linux下收发E-Mail

  在Linux下你可以使用mail、pine在控制台命令行下收发E-Mail,在X-window中可以使用Kmail来收来E-Mail。

62.能不能让Linux显示中文呢?

  用的英文版的Linux,你可以安装中文模拟终端chdrv使Linux能在命令行状态下显示和汉字。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。

  到ftp://ftp.ihep.ac.cn/pub/chinese/system获取已编译的chdrvbin-0.23.gb.tar.gz文件和字体文件chdrvfont.tar.gz,然后执行:


tar xvzf chdrvbin-0.23.gb.tar.gz
mv chdrvfont.tar.gz chdrv-0.23.gb/ cd chdrv-0.23.gb 进入此目录
./installbin 运行安装文件




63.有没有Linux下的中文输入法?

  如果你使用的Linux是中文版,就无需另外安装了。如果你使用英文版的Linux的话,你可以安装chinput来实现中文输入。你可以到下面网址下载:http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz

  1) 下载后,解开该文件:tar -xvzf chinput-2.1.tar.gz
  2) 解开后,进入 Chinput-2.1/src 里,修改 chinput.c文件,查找 GBK字样,将其改为 GB2312。再查找system("/usr/bin/zwincontrol &");语句,将其取消(在前面加上 // );
  3) 修改完后,执行make命令编译;
  4)编译完成后,就可以在X-Window环境下使用了。

64.除了VI,还有其他文字编辑软件吗?

  Vi是UNIX/Linux环境下最通用的一种编辑软件,但是它不是很友好。如果你对它不满意的话还可以尝试其它一些如emacs、joe等编辑工具。

  笔者极力推荐emacs,这是自由软件基金FSF之父stallman的杰作,也是GNU项目第一个重磅炸弹,的确十分优秀,值得一试。不过最大缺点就是太复杂。

65.Linux下有没有像office一样的软件?

  有,StarOffice就是基于Linux的一个办公软件的套件,它是一个商业软件包,其中包括字处理、电子表格、幻灯片制作等MS Office软件包含有的软件。对于个人用户还提供一个免费的版本。用户可以到以下站点下载:http://studio.linux.org.cn

  StarOffice Office Suite for Linux是为非商业用户准备的,商业用户要使用StarOffice Office 则需要许可证。ftp://ftp.gwdg.de/pub/linux/staroffice

66.Linux下有没有像photoshop一样的软件?

  有,Linux下有一款十分著名的平面图形处理软件—GIMP。它的界面比Photoshop更简洁,启动时只有一个工具栏,看起来和Photoshop差不多.主菜单在用鼠标右键单击打开的图象时才弹出,像Channels,layers,brushes......一应俱全,外观也和Photoshop极为相似,用不着花时间去适应了. ....

  这还不算特点.比Photoshop优越的地方也不少:如支持的图象格式极多,支持Texture Brush,像Painter那样刷出底纹图案来. Filter也更多了,比如有一种叫Alien Map的,把RGB三色进行sin,cos运算,达到特殊效果,真是奇思妙想.Undo功能也不错,我试了一下,至少支持5次undo.还有更令人欣喜的,就是对Web的支持,可以很轻松的做出定制的箭头,按钮,背景图案等,比Photoimpact更强大。

  如果你离不开PHOTOSHOP,又付不起ADOBE掌柜的帐,又自认为玩艺术的人不用D版,试试GIMP吧!

67.能在Linux下玩游戏吗?

  现在已经有For Linux的游戏了,除了大名鼎鼎的Doom之外,还用一些像acm—空战模拟游戏、xdemineur—挖地雷、xjewel—俄罗斯方块、xboard—国际象棋、xboing—弹珠台游戏。而且现在越来越多,为你在枯燥的学习中添上一丝乐趣。

68.在Linux下有C语言吗?其它语言呢?

  在Linux下有自由软件基金FSF创建的重磅炸弹---GCC,它是一个强大的编译器,目前堪称是全世界效率最高的C/C++编译器,现在已经广泛应用在各种UNIX环境下。虽然,现在还没有C语言的集成开发环境,但这丝毫不影响GCC的流行,这也许就是自由的力量吧!

  同时,Linux下也提供Fortran、Pascal、Perl、Cobol等多种语言的支持。

69.Linux下有哪些数据库软件?

  Linux下有许多种数据库软件可供使用,其中有Oracle for Linux、IBM DB2 for Linux、Mysql、mSql、Post等。


五、 做好Linux的管理员:21问

70.如何检查Linux硬盘使用情况?

  在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df –T –h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:


Filesystem Type Size Used Avail Use% Mountedon
/dev/hda1ext2 7.5G 4.7G 2.5G 65% / /dev/hda2ext2 653M 6.6M 613M1% /root
/dev/hdb1ext2 7.5G 3.5G 3.7G 49% /usr




71.Linux下有哪些压缩工具?

  在Linux下有很多种压缩工具,常用的有:


  1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为“.gz”。使用方法很简单,例如:


gunzip eos.gz
gzip /home/test/*.txt;



  2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 “.Z”。

  3)除此之外还有:zip/unzip、bzip2/bunzip2等。

72.如何管理进程?

  进程是程序的一次执行。可以使用“ps –auxw”列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过“kill 进程ID号”来终止这个进程。

73.文件或目录的权限是什么意思?

  文件或目录的权限位由10位构成,如-rwxr-xr-x。
  1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;
  2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。
  3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。

  也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。

74.什么是用户帐号?

  在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。

  然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。

75. 在Linux下,如何管理用户?

  如果你想要新增一个用户:
  1) 以root登录,然后执行“adduser 用户帐号名”
  2) 执行“passwd 用户帐号名”来为这个用户帐号设置密码。

  执行“userdel 用户帐号”删除一个用户;

  执行“groupadd 用户组名”新增一个用户组;

  执行“groupdel 用户组名”删除一个用户组;

76. 如何为用户作磁盘限额?

  1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:
    /dev/hda2 /home ext2 defaults,usrquota 1 2

  2)在要设置磁盘限额的分区目录下创建空文件 quota.user


#touch /home/quota.user
#chmod 600 /home/quota.user



  3)重启系统后,就可以使用edquota –u 用户名来设置。

77.如何备份系统?

  在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:


dump –O –f /dev/rmt8 /usr



  其中-O参数代表备份全部文件,“-f 设备文件名”参数指定备份到什么地方,最后的目录名指定要备份的内容。

  然后,你可以使用以下命令恢复:


restore –r –f /dev/rmt8




78.如何安装.tar的软件包?

  Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。

  你可以直接使用“tar xvfz 文件名”完成解压缩,解tar包工作。

  如果你取得是可执行文件包,安装工作结束。

  如果你取得是源代码包,则还需编译一下:
  1) 在解压目录下运行“./configure”进行配置;
  2) 在解压目录下运行“make”进行编译;
  3) 运行“make install”安装。

79.如何使用RPM安装Linux软件?

  RedHat公司提供的RPM工具,使得Linux软件安装更为方便。

  1) 安装:rpm –ivh somesoft.rpm
  2) 反安装:rpm –e somesoft.rpm
  3) 查询:rpm –q somesoft

80.如果忘了root的密码,怎么办?

  如果你忘了root的密码,可以通过以下方法恢复:
  1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;
  2) 这时无需密码就取得了root权限;
  3) 再运行passwd重新设置root的密码。

81.重装Windows而破坏了Lilo时,怎么办?

  这种情况可以使用两种方法恢复:

  1)用Linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;

  2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。

82.如何制作Linux启动盘?

  在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:
  1) 查看系统的版本,可以通过ls /usr/src来看;
  2) 插入一张空软盘;
  3) 执行“mkbootdisk --verbose 2.2.5”。

83.如何远程使用Linux?

  我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。

如何构建安全的远程登录?

  使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。
  1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;
  2) 用tar xvpf ssh-1.26.tar.gz解开这个包;
  3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;
  4) 执行make和make install来完成编译和安装。
  5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。

85.如何运行计划任务?

  大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:

  1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;

  2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。

86.Linux的开机过程都做了什么?

  1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;
  2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;
  3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;
  4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init
  5) init进程根据/etc/inittab的配置运行一系列初始化脚本;
  6) 完成后,启动getty进程接受用户的登录。

87.如何设置开机自动运行程序?

  你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:


/etc/rc.local
/etc/rc.sysinit
/etc/rc.d/init.d。




88.为什么需要重新编译内核?

  以下情况你需要重新编译内核,或加入动态内核模块:
  1) 更新驱动程序;
  2) 根据自己的需求定制最可靠的内核;
  3) 升级Linux内核。

89.如何重新编译内核?

  1) 进入Linux源代码目录:cd /usr/src/linux
  2) 执行“make config”或“make menuconfig”、“make xconfig”配置内核选项,选中你想要的模块,去掉不想要的模块;
  3) 执行“make zImage”命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;
  4) 然后将其拷贝到/boot目录下;
  5) 修改lilo.conf文件,加入:

image=/boot/zImage
label=newlinux
root=/dev/hda1 (根据原来的文件)


  运行/sbin/lilo使修改生效。
  6)重新启动,在Lilo时,输入newlinux就可以新内核启动。

90.什么是动态内核模块?

  动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用“insmod 模块名”命令加入内核、用“rmmod 模块名”命令将其移出内核。


六、 廉价的网络解决方案---Linux:9问

91.如何使用Linux架设WEB服务器?

  Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:
  1)rpm –ivh apache-1.3.12.i386.rpm
  2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;
  3)将主页文件放到/home/httpd/html目录下;
  4)执行“/etc/rc.d/init.d/httpd start”启动Apache服务器
  如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。

92.如何使用Linux架设FTP服务器?

  在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:


rpm -ivh wu-ftpd-2.6.0-9.i386.rpm



  编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:


ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l a



  到此为止,你的Linux就可以接受FTP服务了。

93.如何使用Linux架设E-MAIL服务器?

  Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。

  1) 在DNS服务器上为E-Mail服务器做一条MX记录;
  2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;
  3) 执行kill –HUP inetd,使修改生效;

  这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。

94.如何使用Linux架设News服务器?

  在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码。

  1)配置/etc/news/inn.conf:

domain: foo.com
organization: foo company news site
server: localhost


    根据实际情况填写;
  2)配置/etc/news/nnrp.access nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。
  3)添加新闻组:
  可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:

ctlinnd reload active "modify active"




95.如何使用Linux架设BBS?

  1) 从ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;
  2) 执行tar zxvf pbbs.tar.gz解开文件;
  3) 进入pbbs目录,运行Install;
  4) 根据具体需求改变默认的设置。

96.如何让Linux成为文件服务器?

  在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。

1) 编辑/etc/smb.conf,修改配置:

  netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9. 127.
  securoty=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no


  2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart
  3)编辑客户机的hosts文件,加入对Samba Server的解析;
  4)最后你就可以在网上邻居上看到它了。

97.如何使用Linux架设代理服务器?

  1) 到http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;
  2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz
  3) 执行./configure
  4) 执行make,make install安装到/usr/local/squid目录下;
  5) 编辑/usr/local/squid/squid.conf文件,加入:

acl allowed_hosts src 192.168.9.0/255.255.255.0


    注:假设你的内网IP地址是192.168.9.0;
  6) 执行/usr/local/squid/bin/squid –z进行初始化
  7) 执行/usr/local/squid/bin/squid开启服务
  8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。

98.如何使用Linux架设透明网关?

  确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:

  注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。


#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24
-d 192.168.9.0/24
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24



  运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。

99. Linux还能构建什么服务器?

  Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 50 发表于: 2007-05-05
引用
Linux基础系列讲座(全集)


引用
前言

Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并可以免费使用的操作系统。

我们并不能使同学们通过这次系列讲座成为一个UNIX类操作系统的高手,这次系列讲座的目的就是在同学们中间普及Linux基础知识,为今后我们更加接近的了解Linux做一个好的开端。


引用
第一讲 Linux基础


引用
在这一讲中,我们主要是了解一下Linux的概况,以及对Linux有一个初步的感性认识。

一.什么是Linux?

Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MS Windows, OS2, MINIX..)就可以进行直接的安装。

Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux Torvalds (Torvalds@kruuna.helsinki.fi)写了Linux核心程序的0.02版开始的,但其后的发展却几乎都是由互联网上的Linux社团(Linux Community)互通交流而完成的。Linux不属于任何一家公司或个人,任何人都可以免费取得甚至修改它的源代码(source code)。Linux上的大部分软件都是由GNU倡导发展起来的,所以软件通常都会在附着GNU Public License(GPL)的情况下被自由传播。GPL是一种可以使你免费获得自由软件的许可证,因此Linux使用者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样,需要为购满许可证付出高价还要受到系统安装数量的限制。我在讲义的最后面附有GPL的非官方中文译稿。

目前Linux中国的发行版本(Linux Distribution)主要有Red Hat(红帽子), Slackware, Caldera, Debian, Red Flag(红旗), Blue Point(蓝点), Xteam Linux(冲浪), Happy Linux(幸福Linux), Xlinux等若干种,我推荐同学们使用的发行版本是Red Hat(事实标准)和Xlinux(安装最容易)。

二.安装Linux的好处?

Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用X Windows的情况下,它占用系统资源较少,可以使一台Intel486摇身一变成为高效工作站。对于想要学习UNIX的用户来说,使他们熟悉UNIX操作环境,通往“骨灰级”高手境界的一大捷径。最重要的是,Linux上有公认的C语言世界最好的编译器gcc,如果你想得到一个效率更高的开发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下Linux。

三.如何得到Linux?

据我所知,大多数的Linux发行版本(Linux distribution)和核心(Kernel)都是可以从网上下载的,但是我不推荐易用这种方法得到Linux,因为仅仅核心就有几十个Mbit的数据量,而一个完整的发行版本大概都是1Gbit左右的数据量,你自己可以估计一下得用多少时间来下载它们?

我建议你最好去软件商店买光盘来,因为Linux的产品光盘是非常便宜的,连带许可证GPL在内你大概支付50元人民币就可以,而具有同样功能的Windows NT 4.0你至少得付出17000元人民币(有一点需要声明:在你购买光盘时GPL许可证你是不会肉眼看到的)。直接到商店去买,可以省去你很多麻烦,因为从网上下载的Linux有很多它还是要求你有光盘刻录工具将安装文件刻到光盘上。

四.如何得到Linux的最新消息?

关于Linux的站点现在到处都是,我这里向大家推荐的是一个关于Linux核心最新消息的一个网站,你可以得到核心(Kernel)发展情况的最新信息。网址如下:

http://www.kernel.org

另外还有一个非常著名的讨论组,你也可以去看看:

http://www.linuxforum.net

另外还有一个我常去的讨论组,这个讨论组是有高手专门维护的,而且回应贴子的速度很快:

http://www.coventive.com.cn/club/default.htm

在我这份讲义快写完的时候,又有一个非常好的自由软件团体出现了,那就是AKA,大家可以到他们的网页上去看看,里面有许多很实用的信息:

http://www.aka.org.cn

五.Linux操作系统上有什么应用?

Linux上有丰富的的应用软件,在这里我给大家做一个简单的介绍,具体它们是什么样子我会在讲座上为大家一一演示。

文本处理方面(控制台界面,X Window界面在后面介绍)

l vi

最令UNIX类操作系统初学者裹足不前的editor,然而只要你习惯于操作,你会觉得它比任何的editor都好用,且功能强大。

l pico

一种风格很像Microsoft DOS的EDIT的一种文本编辑器。

中文化方面

XCIN+Crxvt

缺省的Linux系统是不支持显示中文的,虽然现在国内涌现出许多著名的Linux汉化厂商,但是一些著名的Linux distribution如Red Hat、Debian、Caldera仍然不支持中文的输入和输出。这套汉化工具组合在控制台(console)方式和X Window方式下都可以显示和输入汉字信息。

l Cxterm

可以很容易的自行设置输入法,或者修改现有的输入法表格。

视窗界面(window manager)方面

l KDE

这是X Window System使用率最高的Window Manager。

l Fvwm

公认的最为好用的Window Manager之一。

l Fvwm95

拥有和Microsoft Win95 同样界面的Window Manager。

l Afterstep

公认的最好看的Window Manager,但号内存也很大。

l Enlightenment

界面最华丽的Window Manager, Win95和它相比简直就是nothing,但是号内存太大,有点华而不实。

l Icewin

又一个极富个性的Window Manager。

视窗应用软件方面

l WWW Browser

Netscape公司的navigator3.x和communicator4.x版可用,使用方法和MS Windows上一样。

l 图像处理

GIMP是类似于Photoshop的绘图软件,号称是Linux上最强的绘图软件。

l 看图工具

l MTV

这是一个可以播放VCD的软件,但是它是共享软件(Shareware),不是免费软件,我们也得不到它的源代码。

l Star Office

这是一套著名的办公软件,我个人认为它无论在界面上还是在功能上都强于Microsoft Office产品。唯一的缺憾是他不支持汉字,无论GB还是BIG5。

l Word Perfect

这是一个非常精彩的字处理软件,功能类似于Microsoft Word。

l 文杰字处理系统

这是一套由韩国人开发的字处理系统,功能强大,有专门的中文版推出,类似于Microsoft Word。

编译环境

l gcc

公认的C语言世界*****能最为强大的编译器,但是界面不是很友好。

l 除此之外还有FORTRAN、Pascal、GNU make、GNU debugger、GNU LISP、GNU PERL、TCL。

这里因为本人对这些编译工具都不熟悉,因此不多介绍。

MS Windows的模拟环境

l WINE

可以使绝大多数的16位MS Window程序运行在这个模拟环境中。但是不支持32位的程序。

六.在那里可以找到讨论区?

大家最熟悉的是北邮的BBS: 202.204.7.235 port:23

另外还有如下著名讨论区:

七.安装过程

这是非常重要的一部分,希望大家仔细了解本部分内容。

就我个人认为,对于初学者来说,Linux的安装过程是相当难的,新手往往会遇到系统屡装不成的情况。遇到这种事情,是非常痛苦的,但是几乎每个新手又都会遇到,因此我觉得安装过程应当仔细的说明一下。但是由于篇幅有限,我不见这个这个问题在讲义的正文中陈述,而是把它放在附文2中仔细说明。希望没有安装过Linux的同学们将这篇文章看一看。我想在上课的时候我会给大家演示一遍安装的过程。


[ 本帖最后由 尉迟小乐 于 2007-5-5 14:58 编辑 ]
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 51 发表于: 2007-05-05
引用
第二讲 Linux基础进阶


引用
经过上一节课的探讨,我想同学们应该对Linux有了一个初步的感性认识,但我们的认识还只是处在一个尚需进步的表层上。通过这一节的学习,同学们会对Linux的体系结构,它的基本操作,基本功能有一个更进一步的认识。

一.Linux的文件系统结构

Linux的文件系统和MS-Windows的文件系统有很大的不同,对于微软视窗系统的文件结构我在这里不再多说,我们主要了结一下linux的文件系统结构.

linux只有一个文件树,整个文件系统是以一个树根"/"为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以"驱动器盘符为基础的MS-Windows系统是大不相同的.

Linux的文件结构体现了这个操作系统简洁清析的设,常我们能够接触到的linux发行版本的根目录大都是以下结构:

/bin /etc /lost+found /sbin /var /boot /root

/home/mnt /tmp /dev /lib /proc /usr

现在我将这些目录给大家做一个简要的介绍:

l /bin和/sbin

使用和维护UNIX和Linux系统的大部分基本程序都包含在/bin和/sbin里,这两个目录的名气之所以包含bin,是因为可执行的程序都是二进制文件(binary files).

/bin目录通常用来存放用户最常用的基本程序,如:

login

Shells

文件操作实用程序

系统实用程序

压缩工具

/sbin目录通常存放基本的系统和系统维护程序,如:

fsckfdiskmkfsshutdownliloinit

存放在这两个目录中的程序的主要区别是:/sbin中的程序只能由root(管理员)来执行.

l /etc

这个目录一般用来存放程序所需的整个文件系统的配置文件,其中的一些重要文件如下:

passwdshadowfstabhostsmotdprofileshellsservices

lilo.conf

l /lost+found

这个目录专门是用来放那些在系统非正常菪机后重新启动系统时,不知道改网哪里恢复的“流浪”文件的。

l /boot

这个目录下面存放着和系统启动有关系的各种文件,包括系统的引导程序和系统核心部分。

l /root

这是系统管理员(root)的主目录。

l /home

系统中所有用户的主目录都存放在/home中,它包含实际用户(人)的主目录和其他用户的主目录.Linux同UNIX的不同之处是,Linux的root用户的主目录通常是在/root或/home/root,而UNIX通常是在/。

l /mnt

按照约定,像CD-ROM,软盘,Zip盘,或者Jaz这样的可以动介质都应该安装在/mnt目录下,/mnt目录通常包含一些子目录,每个子目录是某种特定设备类型的一个安装点。例如:

/cdrom /floppy /zip /win ....

如果我们要使用这些特定设备,我们需要用mount命令从/dev目录中将外部设备挂接过来。在这里大家可能看到了有一个win的目录,这是我的机子上面做的一个通向windows文件系统的挂接点,这样我通过访问这个目录就可以访问到我在windows下面的文件了。但如果你的windows文件系统是NTFS格式,那么这个办法就不行了。

l /tmp和/var

这两个目录用来存放临时文件和经常变动的文件。

l /dev

这是一个非常重要的目录,它存放着各种外部设备的镜像文件,其中有一些内容我们是要牢牢记住的。例如第一个软盘驱动器的名字是fd0;第一个硬盘的名字是hda,硬盘中的第一个分区是hda1,第二个分区是hda2;第一个光盘驱动器的名字是hdc;此外,还用modem和其他外设的名字,在这么多的名字中,我们只需要记住最最常用的那几个外设就可以了。

l /usr

按照约定,这个目录用来存放与系统的用户直接相关的程序或文件,这里面有每一个系统用户的主目录,就是相对于他们的小型“/”。

l /proc

这个目录下面的内容是当前在系统中运行的进程的虚拟镜像,我们在这里可以看到由当前运行的进程号组成的一些目录,还有一个记录当前内存内容的kernel文件。

就个人经验,我认为这些目录以及在它们下面应该存储什么内容,我们都应当很熟练的记下来,这对于我们进一步的使用系统是很有帮助的。

二.Linux的文件类型

本来我是想把基本操作命令放在这里介绍一下,但是这些命令中又不少是涉及到文件类型的,所以我就只好先介绍一下文件类型了。

Linux的文件类型大致可分为五类,而且它支持长文件名,不论是文件还是目录名,最长可以达到256个字节。如果你能够用128个汉字写一片小作文,那你也可以用它来做某个文件的文件名(当然这里面不能有不合规定的命名字符存在)。

1. 一般性文件

一般性文件,例如纯文本文件mtv-0.0b4.README,设置文件lilo.conf,记录文件ftp.log等等都是。一般类型的文件在控制台的显示下都没有颜色,系统默认的是白色。

2. 目录

至于目录是什么意思我就不解释了,我的任务是要告诉大家,你可以用cd+目录名进入到这个目录中去,而这个目录在控制台下显示的颜色是蓝色的,非常容易辨认。如果你用ls -l来观看它们,会发现它们的文件属性(共10个字符)的一个字符是d,这表明它是一个目录,而不是其它的东西。

三.Linux基本操作命令

首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。

有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

l ls

这个命令就相当于dos下的dir命令一样,肯定是我第一个就要介绍的,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。

ls -a

Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

ls -l(这个参数是字母L的小写,不是数字1)

这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

位置12 34567

文件属性 文件数拥有者 所属的group 文件大小 建档日期 文件名

drwx------ 2 Guestusers1024 Nov 21 21:05 Mail

-rwx--x--x 1 root root 89080Nov 7 22:41 tar*

-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

lrwxrwxrwx 1 root root 4Nov 24 19:30zcat->gzip

-rwxr-xr-x 1 root bin 308364 Nov 29 7:43zsh*

-rwsr-x--- 1 root bin 9853 Aug 15 5:46su*

下面,我为大家解释一下这些显示内容的意义。

第一个栏位,表示文件的属性。

Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

rwx(Owner)r-x(Group)r-x(Other)

这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。

如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三个栏位,表示该文件或目录的拥有者。

若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。

每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏位,表示文件大小。

文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。

第六个栏位,表示创建日期。

以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

第七个栏位,表示文件名。

我们可以用ls –a显示隐藏的文件名。

Ls –F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

l cd命令

这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。

首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。

其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。

l mkdir,rmdir命令

mkdir命令用来建立新的目录,rmdir用来删除以建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。

l cp命令

这个命令相当于dos下面的copy命令,具体用法是:

cp –r 源文件(source) 目的文件(target)

参数r是指连同元文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

l rm命令

这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。Rm命令常用的参数有三个: -i,-r,-f。

比如我现在要删除一个名字为text的一个文件:

rm –i test

系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

rm –r 目录名

这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

rm –f 文件名(目录名)

这个操作可以进行强制删除。

l mv命令

这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:

mv 原文件(目录)名 新的文件(目录)名

l du,df命令

du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。

l cat命令

这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:

cat text 显示text这个文件

cat file1 file2依顺序显示file1,file2的内容

cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。

如果〉左边没有文件的名称,而右边有文件名,例如:

cat >file1

结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。

另外,如果你使用如下的指令:

cat file1>>file2

这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

l more,less命令

这是两个显示一般文本文件的指令。

如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或网下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

l clear命令

这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的clr具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

l pwd命令

这个命令的作用是显示用户当前的工作路径,这个命令不用多说,大家一试即知。

l ln命令

这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:

ln –s 源文件 目标文件

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:

ln –s /bin/less /usr/local/bin/less

-s 是代号(symbolic)的意思。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

l man命令

如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常吗,记得一些基本用法就可以了。

l logout命令

一看就知道了,这是退出系统的命令,我就不多说了。要强调的一点是,linux是多用户多进程的操作系统,因此如果你不用了,退出系统就可以了,关闭系统你就不用操心了,那是系统管理员的事情。但有一点切记,即便你是单机使用linux,logout以后也不能直接关机,因为这不是关机的命令。

四.基本的系统管理命令

系统管理基本上可以分为两种,一种是root(系统管理员)对linux的系统管理部分,root本身的职责就是负责整个linux系统的运行稳定,增加系统安全性,校验使用者的身份,新增使用者或删除恶意的使用者,并明确每一个在机器上的使用者权限等等。另一种就是每一个使用者(包括root)对自己文件的权限管理。因为linux是多用户多任务系统,每一个使用者都有可能将其工作的内容或是一些机密性的文件放在Linux工作站上,所以对每个文件或是目录的归属和使用权,都要有非常明确的规定。下面我就按管理员和一般用户分类来介绍基本的系统管理命令。

1. 管理员使用的系统管理指令

l adduser命令

新增使用者账号的命令,如果你想新增一个叫做jack的用户,那么需在控制台下输入:

adduser jack

这样就增加了一个名字为jazk的用户,要注意这里对大小写是敏感的。另外,新增的用户是没有口令的,你还应当为用户设置口令或者是吩咐用户在第一次登录系统的时候为自己设置口令。

l passwd命令

这个命令可以修改特定用户的口令,使用格式是:

passwd 用户名

这是,系统会提示你输入新密码,你输入第一遍后,还要输入第二遍进行确认。输入两遍相同的密码之后,系统就接受了新的密码。如果这个命令是一般用户来使用的话,那就只能改变它自己的密码。

l find,whereis,locate命令

这三个命令都是用来查找文件的,使用格式是:

find 路径名称 -name 文件名 参数(我们这里就不讨论参数了)

whereis 文件名

locate 文件名

一般来说,find命令功能最为强大,但是对硬件的损耗也是最大的,当你使用find去查找你个文件时,你会发现硬盘等在不停的闪动,这就意味着你的硬盘可能会比别人的少用个三四年。当你使用whereis或locate去查找文件时,你会发现硬盘却是安安静静的,这是因为这两个命令是从系统的数据库中查找文件,而不是去拼命的读硬盘。所以,如果平常你只是想找一些笑文件的话,使用whereis或locate就可以了,如果你是要进行系统管理的工作,那么使用find再加上一些参数就可以满足你的要求了。

l su命令

这个命令可以让普通用户变成具有管理员权限的超级用户(superuser),只要它知道知道管理员的密码就可以。多用户多任务系统的强调的重点之一就是系统的安全性,所以应避免直接使用root身份登录系统去做一些日常性的操作,因为时间一久root密码就有可能被知道而危害到系统安全。所以平常应避免用root身份登录,即使要管理系统,也请尽量使用su指令来临时管理系统,然后记住定期的更换root密码。

加入你现在是以一个普通用户的身份登录系统,现在你输入:

su

系统会要求你输入管理员的口令,当你输入正确的密码后,就可以获得全部的管理员权限,这是你就是超级用户(superuser)。但你执行完各种管理操作以后,只要输入logout就可以退回到原先的那个普通用户的状态。

l shutdown,halt命令

这两个命令是用来关闭linux操作系统的。

在前面我说过,作为一个普通用户是不能够随便关闭系统的,因为虽然你用完了机器,可是这时候可能还有其它的用户正在使用系统。因此,关闭系统或者是重新启动系统的操作只有管理员才有权执行。另外linux系统在执行的时候会用部分的内存作缓存区,如果内存上的数据还没有写入硬盘,就把电源拔掉,内存就会丢失数据,如果这些数据是和系统本身有关的,那么会对系统造成极大的伤害。一般,我们建议在关机之前执行三次同步指令sync,可以用分号“;”来把指令合并在一起执行,如:

# sync;sync;sync

使用shutdown关闭系统的时候有以下几种格式:

shutdown (系统内置2分钟关机,并传送一些消息给正在使用的user)

shutdown –h now(下完这个指令,系统立刻关机)

shutdown –r now(下完这个指令,系统立刻重新启动,相当于reboot)

shutdown –h 20:25 (系统会在今天的20:25关机)

shutdown –h +10(系统会在十分钟后关机)

如果在关机之前,要传送信息给正在机器上的使用者,可以加“-q”的参数,则会输出系统内置的shutdown信息给使用者,通知他们离线。

halt命令就不用多说了,只要你输入halt,系统就会开始进入关闭过程,其效果和shutdown –h now是完全一样的,我每次关机的时候都是用halt。

l reboot命令

一看这个词,就知道这个命令是用来重新启动系统的。

当你输入reboot后,你就会看到系统正在将一个一个的服务都关闭掉,然后再关闭文件系统和硬件,接着机器开始重新自检,重新引导,再次进入linux系统。

2.普通用户使用的系统管理指令

l chown命令

这个命令的作用是改变文件的所有者。

如果你有一个文件名为classment.list的文件,所有权要给于另一个账号为golden的同学,则可用chown来实现这个操作,但是当你改变了文件的所有者以后,该文件虽然在你的Home目录下,可是你已经无任何修改或删除该文件的权限了,这一点同学们千万要注意。通常会用到这个指令的时机,应该是你想让linux机器上的某位使用者到你的Home下去用谋个文件是会用到。不过,泼出去的水就收不回来了,你用这个命令的时候可一定要想清楚呦。

l chmod命令

这个命令用来改变目录或文件的属性,是linux中一个应当熟悉的命令。

对这个命令,使用的方法很多,鉴于篇幅的原因,我只例出其中我最常用的一种。前面讲过,一个文件用10个小格来记录文件的权限。前三个小格是拥有者(user)本身的权限,中间三个小格是和使用者同一组的成员(group)的权限,最后三个小格是表示其它使用者(other)的权限。现在我们用三位的2进制数来表示相应的三小格的权限,例如:

111 rwx 101 r-x 011 –wx001 –x100 r—

这样一来,我们就可以用三个十进制的数来表示一个文件属性位上的十个格,其中每一个十进制数大小等于代表每三格的那个三位的二进制数。例如,如果一个文件的属性是: rwxr—r--,那么我们就可以用744来代表它的权限属性;如果一个文件的属性是:rwxrwxr--,那它对应的三个十进制数就是774。这样一来我们就可以用这种简便的方法指定文件的属性了。例如,我想把一个文件test.list的属性设置为rwxr-x---,那么我只要执行:

chmod 750 test.list

就可以了,对于改变后的权限,你用ls –l就可以看到。

到这里,我们第二讲的内容就基本结束了,可以说,这一讲是比较无聊的,但它又是必不可少的。这里列出的仅仅是最最常用的控制台命令,要进一步的熟悉Linux操作系统,了解类UNIX操作系统的管理思想,我们还有很多要学习,有兴趣的同学可以参看其它的相关参考书籍。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 52 发表于: 2007-05-05
引用
第三讲 Linux下的网络服务,配置问题和常用工具


引用
这一讲我们会接触到Linux下能够提供的一些典型的网络服务,大家会对这些服务有一个感性的认识,除此之外我们还会看到Linux下面一些非常重要的配置文件以及他们的用法。最后我们会看到Linux下面最常用的几个工具软件。

一.Linux下的网络服务

一般来说,各种操作系统在网络方面的性能比较是这样的顺序BSD>Linux>Win NT>Win 9X, 由此说来,Linux的网络功能仅次于UNIX,而强于Win NT和其它的视窗系列产品,对于Win2000我还不能评价太多,因为不是很熟。

Linux的网络功能除了基本的连线功能如telnet, ftp, rsh, login, finger等等以外,架设各种服务器的功能更把Linux网络功能发挥的淋漓尽致,下面我大概的为大家介绍一下Linux下的各种网络服务。

l Mail Server

Email现在是网络上最重要的服务了,你可能没有用过FTP, BBS, INN,但是如果你连电子邮件都没有用过,那作为BUPT的一员,你得自己好好反省一下了。

现在又很多功能强大的mailserver供你选择,例如freemail.263.net, hotmail.com, freemail.sohu.com,等等,这些都是免费的。但这是从使用者角度来看,如果你是想为一个局域网内部提供一个交换电子邮件的服务,那它们对你来说可就是一笔巨款了,再说人家卖不卖给你还不好说呢。Linux下面最著名的mail server是Sendmail,它是一个负责监控和传送电子邮件的邮件代理程序,你使用它就可以在在一个小的局域网(例如宿舍网)里提供一个电子邮件服务,这是多么神奇的事情啊!使用Linux下面的MailServer最大的好处是性价比高,这些软件的功能强大,却又是完全免费的,我们完全不用去花几万元买一个功能有限还要按照人头收费的Exchange Server,或者是使用D版软件被别人扎脊梁骨。

l Router和Gateway

如果你的计算机可以连接到外面的Internet上去,然而一些可以连接到你这台机器上的计算机却只能访问里面的局域网,那么你可以安装Router或Gateway的服务,这样别人就可以通过你的机器和外面的世界联系了。当然了,这么做的前提是你有一颗大公无私的信,要我就不行,我可舍不得把我的PIII的机器贡献给宿舍的网虫们。

l Samba

在Windows横行的今天,Samba的出现对于Linux的茁壮成长是非常重要的,它大大拓宽了Linux的应用领域。Samba可以提供一种转换SMB(windows使用的一种信息格式)和NFS(Linux使用的一种信息格式)的服务,通过Samba, 运行Windows的工作站就可以同运行Linux的服务器之间进行通信,还可以 让网络上的使用者(包括Windows用户)共享一台打印机,这样Linux的服务器就可以运行在Windows的环境中了。

l NFS Server

Linux还可以作为文件服务器,为网络上具有存取权限的Windows/Linux机器分享相同的文件系统,这样一来,不论是在Windows还是在Linux的网络中,Linux的文件服务器都能够发挥作用了。

l Terminal Server

这种服务能够提供PPP/SLIP Dialup(包括multi-port,就是一台计算机连多个调制解调器上网),让一般的民用网络Moden使用者可通过Terminal Server与Internet连接起来。

l BBS

在北邮如果你没有上过BBS(Bulletin Board System电子布告版)我会很吃惊的,202.112.101.44或者是202.204.7.235你至少应该去过一个吧?如果没有去过,那么赶快把这一课补上。关于BBS到底能做什么我就不多说了,我假定你已经知道了,现在网络上流行的免费BBS版本很多,著名的有Phoenix,Maple,Firebird,Pivot等等,这些都可以在Linux上使用。另外还有许多基于WWW的BBS,例如著名的跨平台的Motiff Community,可以非常稳定的在Linux下运行,这是“瘟都死”所不能比拟的。

l WWW

在Linux下面也有功能强大的WWW服务器,你完全可以不必去使用又贵又不稳定的IIS。但是不可否认IIS的操作非常的简单,如果你觉得自己有钱,可以买得起Win2000 Advanced Server,又出得起“人头税”,那你就用“瘟都死”吧。在Linux上的WWW服务程序很多,现在最著名最流行的是Apache,在北邮,有许多的服务器就是跑Apache的。现在在Linux上使用Apache+PHP+MySQL是实现动态页面的最佳搭配,立志于搞网站建设的朋友可一定要留心这一块,因为它可以为你的网站建设节省大笔的成本(现在可是操作系统比机器贵)。我知道一个讨论组www.coventive.com.cn/club/default.htm,它就是用Apache+PHP+MySQL这种组合建立起来的,有兴趣的朋友可以去看看。

二.几种重要的配置文件

Linux下面的配置文件非常的多,对于初学者来说,我们只需要知道最最常用的几个配置文件就可以了。由于片符合时间的原因,在这里我只介绍四个非常经典的配置文件(lilo.conf, passwd,inittab,fasttab),这四个文件中我重点介绍lilo.conf,其余三个文件会简单的在课堂上演示。至于Linux其它众多的配置文件必须各位同学自己下去查找相关资料自己学习了。

l lilo.conf

这是Linuxloader(lilo)的配置文件。对于初学者来说,这个配置文件是非常重要的,因为它直接关系到你的系统是否能够正确的引导到Linux上来。我在这里主要将一下如何使用lilo实现多个在一台机器上安装多个操作系统。

一般来说,第一次安装Linux后,缺省引导的系统是Linux,但是对大多数Linux用户来说,他们使用windows的时间会多于Linux,所以我们最好能够将缺省引导的系统改为windows,这样的话,就省去了每次启动时敲一串字符的麻烦。要修改引导顺序,就要修改Linux系统中的一个配置文件,这个文件就是/etc/lilo.conf。我使用的是Xlinux OS 1.5,用vi打开这个文件后,会出现下面的文字:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

linear

default=xlinux

image=/boot/vmlinuz-2.2.14-5.0

label=xlinux

read-only

root=/dev/hda4

other=/dev/hda1

label=win

这就是刚刚安装完毕后的LILO配制文件.这个文件是按照由前到后顺序引用的,通过修改这个文件就可以改变lilo执行时的一些特性.首先我将这个文件中比较重要的几个地方给大家介绍一下:

首先请看第5行:timeout=100,这是一个设置在lilo引导缺省的系统之前等候用户输入系统别名的等候时间长度.它的时长好象不是按秒一级的数量级进行计算的,总之用户可以按照自己的实际需要设置相应的时长.我一般是设置成timeout=500.

然后我们看第7行:default=xlinux,这里是关键之一!这一行指明缺省引导的系统的别名是xlinux,要想改变系统的缺省引导顺序,这里是需要修改的,稍后就会说到是怎么修改的.

再看第8行到第11行,这四行指明了引导Linux系统的一些细节. image=/boot/vmlinuz-2.2.14-5.0指明了操作系统核心是放在哪里的,以便于引导程序装载操作系统核心;label=xlinux指明了引导这个操作系统时用的别名,这里是xlinux; root=/dev/hda4指明了引导程序需要到哪一个硬盘的第几个分区去寻找init过程,在这里是要到第一个硬盘的第四个分区中去将引导系统的控制权交给这个分区里的init过程.

最后我们看看文件中的最后两行.other=/dev/hda1说明除了linux操作系统以外,机器中还安装了别的操作系统(当然我知道这个另外的操作系统是我的win2000了),它位于第一块硬盘中的第一个分区,一般来说,这个路径是在安装的时候就设置好的,不需要我们手工修改,但是我认为知道这些信息还是很有必要的;label=win指明了这个系统引导时使用的别名为win.因为lilo是顺序引用的,所以如果我们想要让缺省引导的系统变成windows,就需要将这两行移动到image=.....那一行之前的位置,我建议的位置是放在image=...之前和default=.....之后.这是关键之二!

当你将前面的两个关键步骤完成之后,还需要将default=....那一行改成default=win,这是比较重要的一步,虽然即使你不改动这里,系统也可以按照你的想法去引导,但是我可不敢保证你这样做不会出一点问题.再说,如果你不改动这里那多别扭啊!

做到这里,我们对lilo.conf这个文件的改动就结束了,然后只要退出vi,然后键入 lilo -v -v -v这个命令来更新一下LILO,我们就大功告成了.当你reboot以后,就会发现在"lilo:"那里敲入回车键后,系统就会缺省的引导到windows系统去了.

l Passwd

这个配置文件是关于用户口令的。如果你是一名系统管理员,有可能会一次新增很多的用户,这时用adduser就相当麻烦了。一般有功力的管理员会直接去修改/etc/passwd文件。利用passwd文件,可以控制用户的口令状态及一些个人配置。

对于这个文件,普通单机用户使用的并不是很多,主要是多用户的管理员使用,对于它的一些基本配置方法,我会在课堂上为同学们演示,这里不再赘述。

l Inittab和fasttab

这两个文件都是存放在/etc这个目录下面的,Inittab文件用来配置Linux初始化的一些动作,我们最常用的是设定Linux的启动方式。Fasttab文件用来设定一些在Linux启动时的动作,主要是文件系统或者是外设的挂接动作,如果你想让你的Linux一开始就能够使用光盘驱动器,就可以把mount指令加到这个文件中去。

因为这两个文件对我们初学者来说,可以利用的地方不是很多,所以我不用过多的文字来描述它们的功能,具体的操作我会在课堂上为同学们演示,这里不再赘述。

三.Linux下常用的工具软件

这里我会为大家介绍Linux世界里最常用的几种工具软件,包括:vi, tar, gzip, rpm。

l 文字编辑

vi是Linux(UNIX)世界最强大的文本编辑工具,我在第一讲中提到过它,现在我把它的一些基本使用方法介绍给大家。

Vi的三种状态

1.Command mode : 控制萤幕游标之移动,字元或游标之删除,搬移复制某区段及进入 Insert mode 下,或者到 Last line mode 。

2.Insert mode : 唯有在 Insert mode 下, 才可做文字资料输入,按Esc键可到 Command mode 。

3.Last line mode : 将档案写入或离开编辑器,亦可设定编辑环境, 如寻找字串、列出行号..等。

vi 的基本操作

1. 进入 vi

在系统提示符号下输入 vi 及档案名称後即进入 vi 全萤幕编辑画面,且在 Command mode 下。

2. 切换至 Insert mode 编辑文件:

在 Command mode 下可按 'i' 或 'a' 或 'o' 三键进入 Insert mode。

3. 离开 vi 及存档:

在 Command mode 下可按 ':' 键进入 Last line mode,

:w filename (存入指定档案)

:wq (写入并离开 vi)

:q! (离开并放弃编辑的档案)

Command mode 下功能键简介

1. 进入 Insert mode

i : 插入, 从目前游标所在之处插入所输入之文字。

a : 增加, 目前游标所在之下一个字开始输入文字。

o : 从新的一行行首开始输入文字。

2. 移动游标

h、j、k、l : 分别控制游标左、下、上、右移一格。

^b : 往後一页。

^f : 往前一页。

G : 移到档案最後。

0 : 移到档案开头。

3. 删除

x : 删除一个字元。

#x : 例, 3x 表删除 3 个字元。

dd : 删除游标所在之行。

#dd : 例, 3dd 表删除自游标算起之 3 行。

4. 更改

cw : 更改游标处之字到字尾 $ 处。

c#w : 例, c3w 表更改 3 个字。

5. 取代

r : 取代游标处之字元。

R : 取代字元直到按 为止。

6. 复制

yw : 拷贝游标处之字到字尾。

p : 复制(put)到所要之处。(指令 'yw' 与 'p' 必须搭配使用。)

7. 跳至指定之行

^g : 列出行号

#G : 例, 44G 表移动游标至第 44 行行首。

Last line mode 下指令简介

注意: 使用前请先按 键确定在 Command mode 下。按 ':' 或 '/' 或 '?' 三键即可进入 Last line mode。

1.列出行号 :set nu (可用 :set all 列出所有的选择项。)

2.寻找字串 /word (由首至尾寻找) ?word (由尾至首寻找)

l 压缩工具

tar,gzip的使用方法

1.压缩一组文件为tar.gz后缀。

# tar cvf backup.tar /etc

#gzip -q backup.tar



# tar cvfz backup.tar.gz /etc/
2.释放一个后缀为tar.gz的文件。

#gunzip backup.tar.gz

#tar xvf backup.tar



# tar xvfz backup.tar.gz

3.用一个命令完成压缩

#tar cvf - /etc/ | gzip -qc > backup.tar.gz

4.用一个命令完成释放

# gunzip -c backup.tar.gz | tar xvf -

5.如何解开tar.Z的文件?

# tar xvfz backup.tar.Z



# uncompress backup.tar.Z

#tar xvf backup.tar

6.如何解开.tgz文件?

#gunzip backup.tgz

7.如何压缩和解压缩.bz2的包?

#bzip2 /etc/smb.conf

这将压缩文件smb.conf成smb.conf.bz2

#bunzip2 /etc/smb.conf.bz2

这将在当前目录下还原smb.conf.bz2为smb.conf

注: .bz2压缩格式不是很常用,你可以man bzip2

l 安装工具

RPM是世界著名的Red Hat公司推出的一种软件包安装工具,全称为Redhat Package Manager。RPM的出现提供了一种全新的软件包安装方法,在方便性上甚至超过了微软的Windows。下面我就介绍一下RPM的基本使用方法。

1.安装一个包

# rpm -ivh < rpm package name>

2.升级一个包

# rpm -Uvh < rpm package name>

3.移走一个包

# rpm -e < rpm package name>

4.安装参数

--force 即使覆盖属于其它包的文件也强迫安装

--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

5.查询一个包是否被安装

# rpm -q < rpm package name>

6.得到被安装的包的信息

# rpm -qi < rpm package name>

7.列出该包中有哪些文件

# rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包

#rpm -qf 文件名称

9.可综合好几个参数一起用

# rpm -qil < rpm package name>

10.列出所有被安装的rpm package

# rpm -qa < rpm package name>

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?

# rpm -qilp < rpm package name>
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 53 发表于: 2007-05-05
引用
尾语


引用
到这里,我们这次Linux基础讲座的授课部分就基本结束了,祝愿大家能够开始对这个新兴的操作系统赋予足够的关注,并能够在Linux的世界里得到丰厚的收获。我们这个系列讲座也只能起到一个抛砖引玉的作用,希望大家能够在今后的学习中不断的充实自己的实力,早日成为“骨灰级”的Linux高手。

如果条件允许的话,我们还会在第四次讲座的时候请一位Linux高手来和大家一起谈谈,解答大家在使用Linux时的一些问题。

在本书的最后我附上了GPL的非官方中文译本,这对于每一个Linux的基础学习材料都是必需的,copy left是Linux的另一大精髓。

GNU GPL -- GNU通用公共许可证

译者不详,转载自linuxforum.net

1991.6第二版

版权所有(C)1989,1991 Free Software foundation,Inc.675 Mass Ave,Cambridge,MAO2139,USA 允许每个人复制和发布这一许可证原始文档的副本,但绝对不允许对它进行任何修改。

序言

大多数软件许可证决意剥夺你的共享和修改软件的自由。对比之下,GNU通用公共许可证力图保证你的共享和修改自由软件的自由——保证自由软件对所有用户是自由的。GPL适用于大多数自由软件基金会的软件,以及由使用这些软件而承担义务的作者所开发的软件。(自由软件基金会的其他一些软件受GNU库通用许可证的保护)。你也可以将它用到你的程序中。

当我们谈到自由软件(free software)时,我们指的是自由而不是价格。我们的GNU通用公共许可证决意保证你有发布自由软件的自由(如果你愿意,你可以对此项服务收取一定的费用);保证你能收到源程序或者在你需要时能得到它;保证你能修改软件或将它的一部分用于新的自由软件;而且还保证你知道你能做这些事情。为了保护你的权利,我们需要作出规定:禁止任何人不承认你的权利,或者要求你放弃这些权利。如果你修改了自由软件或者发布了软件的副本,这些规定就转化为你的责任。例如,如果你发布这样一个程序的副本,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;

并且将这些条款给他们看,使他们知道他们有这样的权利。

我们采取两项措施来保护你的权利。

(l)给软件以版权保护。

(2)给你提供许可证。它给你复制,发布和修改这些软件的法律许可。同样,为了保护每个作者和我们自己,我们需要清楚地让每个人明白,自由软件没有担保(no warranty)。如果由于其他某个人修改了软件,并继续加以传播。我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引人的任何问题,不应损害原作者的声誉。

最后,任何自由软件不断受到软件专利的威胁。我们希望避免这样的风险,自由软件的再发布者以个人名义获得专利许可证。事实上,将软件变为私有。为防止这一点,我们必须明确:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。

有关复制,发布和修改的条款和条件

0.此许可证适用于任何包含版权所有者声明的程序和其他作品,版权所有者在声明中明确说明程序和作品可以在GPL条款的约束下发布。下面提到的“程序”指的是任何这样的程或作品。而“基于程序的作品”指的是程序或者任何受版权法约柬的衍生作品。也就是说包含程序或程序的一部分的作品。可以是原封不动的,或经过修改的和/或翻译成其他语言的(程序)。在下文中,翻译包含在修改的条款久每个许可证接受人(license)用你来称呼。许可证条款不适用于复制,发布和修改以外的活动。这些活动超出这些条款的范围。运行程序的活动不受条款的限止。仅当程序的输出构成基于程序作品的内容时,这一条款才适用(如果只运行程序就无关)。是否普遍适用取决于程序具体用来做什么。

1.只要你在每一副本上明显和恰当地出版版权声明和不承担担保的声明,保持此许可证

的声明和没有担保的声明完整无损,并和程序一起绘每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你可以为转让副本的实际行动收取一定费用。你也有权选择提供担保以换取一定费用。

2.你可以修改程序的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。

a)你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。

b)你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。

c)如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明)。

这些要求适用于修改了的作品的整体。如果能够确定作品的一部分并非程序的衍生产品,可以合理地认为这部分是独立的,是不同的作品。当你将它作为独立作品发布时,它不受此许可证和它的条款的约束。但是当你将这部分作为基于程序的作品的一部分发布时,作为整体它将受到许可证条款约束。准予其他许可证持有人的使用范围扩大到整个产品。也就是每个部分,不管它是谁写的。

因此,本条款的意图不在于索取权利;或剥夺全部由你写成的作品的权利。而是履行权利来控制基于程序的集体作品或衍生作品的发布。此外,将与程序无关的作品和该程序或基于程序的作品一起放在存贮体或发布媒体的同一卷上,并不导致将其他作品置于此许可证的约束范围之内。

3.你可以以目标码或可执行形式复制或发布程序(或符合第2款的基于程序的作品),只要你遵守前面的第l,2款,并同时满足下列3条中的1条。

a)在通常用作软件交换的媒体上,和目标码一起附有机器可读的完整的源码。这些源码的发布应符合上面第1,2款的要求。或者

b)在通常用作软件交换的媒体上,和目标码一起,附有给第三方提供相应的机器可读的源码的书面报价。有效期不少于3年,费用不超过实际完成源程序发布的实际成本。源码的发布应符合上面的第1,2款的要求。或者

c)和目标码一起,附有你收到的发布源码的报价信息。(这一条款只适用于非商业性发布,而且你只收到程序的目标码或可执行代码和按b)款要求提供的报价)。

作品的源码指的是对作品进行修改最优先择取的形式。对可执行的作品讲,完整的源码包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的script。作为特殊例外,发布的源码不必包含任何常规发布的供可执行代码在上面运行的操作系统的主要组成部分(如编译程序,内核等)。除非这些组成部分和可执行作品结合在一起。

如果采用提供对指定地点的访问和复制的方式发布可执行码或目标码,那么,提供对同一地点的访问和复制源码可以算作源码的发布,即使第三方不强求与目标码一起复制源码。

4.除非你明确按许可证提出的要求去做,否则你不能复制,修改,转发许可证和发布程序。任何试图用其他方式复制,修改,转发许可证和发布程序是无效的。而且将自动结束许可证赋予你的权利。然而,对那些从你那里按许可证条款得到副本和权利的人们,只要他们继续全面履行条款,许可证赋予他们的权利仍然有效。

5.你没有在许可证上签字,因而你没有必要一定接受这一许可证。然而,没有任何其他东西赋予你修改和发布程序及其衍生作品的权利。如果你不接受许可证,这些行为是法律禁止的。因此,如果你修改或发布程序(或任何基于程序的作品),你就表明你接受这一许可证以及它的所有有关复制,发布和修改程序或基于程序的作品的条款和条件。

6.每当你重新发布程序(或任何基于程序的作品)时,接受者自动从原始许可证颁发者那里接到受这些条款和条件支配的复制,发布或修改程序的许可证。你不可以对接受者履行这里赋予他们的权利强加其他限制。你也没有强求第三方履行许可证条款的义务。

7.如果由于法院判决或违反专利的指控或任何其他原因(不限于专利问题)的结果,强加于你的条件(不管是法院判决,协议或其他)和许可证的条件有冲突。他们也不能用许可证条款为你开脱。

在你不能同时满足本许可证规定的义务及其他相关的义务时,作为结果,你可以根本不发布程序。例如,如果某一专利许可证不允许所有那些直接或间接从你那里接受副本的人们在不付专利费的情况下重新发布程序,唯一能同时满足两方面要求的办法是停止发布程序。

如果本条款的任何部分在特定的环境下无效或无法实施,就使用条款的其余部分。并将条款作为整体用于其他环境。

本条款的目的不在于引诱你侵犯专利或其他财产权的要求,或争论这种要求的有效性。

本条款的主要目的在于保护自由软件发布系统的完整性。它是通过通用公共许可证的应用来实现的。许多人坚持应用这一系统,已经为通过这一系统发布大量自由软件作出慷慨的供献。作者/捐献者有权决定他/她是否通过任何其他系统发布软件。许可证待有人不能强制这种选择。

本节的目的在于明确说明许可证其余部分可能产生的结果。

8.如果由于专利或者由于有版权的接口问题使程序在某些国家的发布和使用受到限止,将此程序置于许可证约束下的原始版权拥有者可以增加限止发布地区的条款,将这些国家明确排除在外。并在这些国家以外的地区发布程序。在这种情况下,许可证包含的限止条款和许可证正文一样有效。

9.自由软件基金会可能随时出版通用公共许可证的修改版或新版。新版和当前的版本在原则上保持一致,但在提到新问题时或有关事项时,在细节上可能出现差别。

每一版本都有不同的版本号。如果程序指定适用于它的许可证版本号以及“任何更新的版本”。你有权选择遵循指定的版本或自由软件基金会以后出版的新版本,如果程序未指定许可证版本,你可选择自由软件基金会已经出版的任何版本。

10.如果你愿意将程序的一部分结合到其他自由程序中,而它们的发布条件不同。写信给作者,要求准予使用。如果是自由软件基金会加以版权保护的软件,写信给自由软件基金会。我们有时会作为例外的情况处理。我们的决定受两个主要目标的指导。这两个主要目标是:我们的自由软件的衍生作品继续保持自由状态。以及从整体上促进软件的共享和重复利用。

没有担保

l1.由于程序准予免费使用,在适用法准许的范围内,对程序没有担保。除非另有书面说明,版权所有者和/或其他提供程序的人们“一样” 不提供任何类型的担保。不论是明确的,还是隐含的。包括但不限于隐含的适销和适合特定用途的保证。全部的风险,如程序的质量和性能问题都由你来承担。如果程序出现缺陷,你承担所有必要的服务,修复和改正的费用。

12.除非适用法或书面协议的要求,在任何情况下,任何版权所有者或任何按许可证条款修改和发布程序的人们都不对你的损失负有任何责任。包括由于使用或不能使用程序引起的任何一般的,特殊的,偶然发生的或重大的损失(包括但不限于数据的损失,或者数据变得不精确,或者你或第三方的持续的损失,或者程序不能和其他程序协调运行等)。即使版权所有者和其他人提到这种损失的可能性也不例外。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 54 发表于: 2007-05-05
引用
新手必看-----Linux入门


引用
扫盲行动之一:Linux常用命令简介


引用
su
su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令:
$su user2
然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。
su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令 ,则系统提示输入根口令,输入之后则可切换为根用户。
如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。

pwd
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。

cd
cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下的cd命令基本一致。
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录

ls
ls命令跟dos下的dir命令一样,用于显示当前目录的内容。
如果想取得详细的信息,可用ls -l命令, 这样就可以显示目录内容的详细信息。
如果目录下的文件太多,用一屏显示不了,可以用ls -l |more分屏显示 。

find
find命令用于查找文件。这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。
find命令的基本结构如下:
$find
其中指定从哪个目录开始搜索。指定搜索条件。表示找到文件怎么处理。一般来说,要用-print动作,显示 整个文件路径和名称。如果没有这个动作,则find命令进行所要搜索而不显示结果,等于白费劲。
例如,要搜索系统上所有名称为ye的文件,可用如下命令:
$find / -name ye -print
这样就可以显示出系统上所有名称为ye的文件。

tar
tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。可用如下方法建立tar档案:
$tar cvf
例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:
$tar cvf ye.tar *.*
要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:
$tar tvf ye.tar
要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:
$tar xvf ye.tar

gzip
gzip命令用于压缩文件。 例如,如果要将ye.txt文件压缩,可用如下命令:
$gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
$gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解 压缩文件,效果跟用gzip -d命令一样。
旧版的tar命令不压缩档案,可用gzip压缩。例如:
$tar cvf ye.tar *.txt
$gzip ye.tar
则可建立压缩档案ye.tar.gz。
新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:
$tar czvf ye.tar *.txt
生成压缩档案ye.tar.gz,
$tar tzvf ye.tar *.txt
显示压缩档案ye.tar.gz的内容,而
$tar xzvf ye.tar *.txt
取出压缩档案ye.tar.gz的内容。

mkdir
这个命令很简单,跟dos的md命令用法几乎一样,用于建立目录。

cp
cp命令用于复制文件或目录。
cp命令可以一次复制多个文件,例如:
$cp *.txt *.doc *.bak /home
将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中。
如果要复制整个目录及其所有子目录,可以用cp -R命令。

rm
rm命令用于删除文件或目录。
rm命令会强制删除文件,如果想要在删除时提示确认,可用rm -i命令。
如果要删除目录,可用rm -r命令。rm -r命令在删除目录时,每删除一个文件或目录都会显示提示,如果目录太大,响应每个提示是不现实的。这时可以用 rm -rf命令来强制删除目录,这样即使用了-i标志也当无效处理。

mv
mv命令用于移动文件和更名文件。例如:
$mv ye.txt /home
将当前目录下的ye.txt文件移动到/home目录下,
$mv ye.txt ye1.txt
将ye.txt文件改名为ye1.txt。
类似于跟cp命令,mv命令也可以一次移动多个文件,在此不再赘叙。

reboot
重启命令,不必多说。

halt
关机命令,不必多说。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 55 发表于: 2007-05-05
引用
扫盲行动之二:轻松安装、卸载Linux软件


引用
以下三篇文单大部分内容是雷同的,懒得整理,所以全放上来了!!
第一篇:

Linux下软件的安装与卸载

在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:

一、二进制分发软件包的安装与卸载
Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。
如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸载:手动删除
说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
3、提供安装程序的软件包
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。

二、源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
1、*.src.rpm形式的源代码软件包
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
然后进入解压后的目录:
./configure 配置
make 编译
make install 安装
卸载:make uninstall 或 手动删除
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!

第二篇:

如何安装Linux的软件

在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦!
linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的文件+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用程序,-U(注意是大写):升级软件包,-pql:列出rpm软件包的相关信息,-qf:查找指定文件属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些文件,然后进入刚才解压缩后文件目录用“ls -F -color”指令看一下所得到的文件,一般有两种情况:第一种是文件为已经编译好的程序(无须再编译了)用上面的察看文件命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的程序。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行
./configure
make
make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。
介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。(上海 张国荣)

第三篇:

轻松安装、卸载Linux软件

Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。

软件的安装
Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。

对于第一种,安装方法如下:

1.首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

#cp xxx.tar.gz /root

2.由于该文件是被压缩并打包的,应对其解压缩。命令为:

#tar xvzf filename.tar.gz

3.执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:#./configure。

5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为:#make。

6.成功编译后,键入如下的命令开始安装:

#make install

7.安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

#make clean
#make distclean

至此,软件的安装结束。

对于第二种,其安装方法要简单得多。

同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下:

#rpm -i filename.i386.rpm

rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。

软件的卸载
1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:

#rpm -q -a

即可查询到当前系统中安装的所有的软件包。

2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件:

#rpm -e [package name]

参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

#rpm -e [package name] -nodeps

忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。

补充:

如果是以.bin结尾的二进制软件,可以用以下方法安装(以so-6_0-beta-bin-linux-zh-Tw1.bin为例):

在so-6_0-beta-bin-linux-zh-Tw1.bin所在文件夹下运行模拟终端
输入:
./so-6_0-beta-bin-linux-zh-Tw1.bin
并按回车!

当然也可以输入:
./so 再用[Tab]键补全

(./表示当前目录,如果终端不在该软件所在目录下打开,则在软件名前尚需输入相应的路径。)

如果在图形界面,也可直接单击(或双击,视具体的鼠标设置而定)进行安装
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 56 发表于: 2007-05-05
引用
扫盲行动之三:LINUX的目录树



引用
/bin bin是binary的缩写。这个目录是对UNIX系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。
/boot 这里存放的是启动LINUX时使用的一些核心文件。
/dev dev是device(设备)的缩写。这个目录下是所有LINUX的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在LINUX中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home 用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用~wang表示,说到这里,打个岔,你现应该明白在我们访问一些个人网页(如http://www.netease.net/~zhangjia)的时候,~zhangjia就是表示访问www.netease.net站点中的用户zhangjia的用户主目录。
如果这个网站的操作系统是LINUX,那就是表示/home/zhangjia。
/lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found 这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。
/mnt 这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊!?
/root 系统管理员,也叫作超级权限者的用户主目录。当然系统的拥有者,总要有些特权啊!
/sbin s就是Super User的意思,也就是说这里存放的是一些系统管理员使用的系统管理程序。
/tmp 这个目录不用说,一定是用来存放一些临时文件的地方了。
/usr 这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。具体来说:
/usr/X11R6 存放X-Windows的目录;
/usr/bin 存放着许多应用程序;
/usr/sbin 给超级用户使用的一些管理程序就放在这;
/usr/doc 这就是LINUX文档的大本营;
/usr/include LINUX下开发和编译应用程序需要的头文件,在这找;
/usr/lib 存放一些常用的动态链接共享库和静态档案库;
/usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合;
/usr/man man是什么,对了是帮助。这里就是帮助文档目录啊!
/usr/src LINUX开放的源代码,就存在这个目录,爱好者们别放过哦!
/var 这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
这里列出了最常见的目录,根据LINUX发行套件的不同,目录结构也是有一定差别的。还有你自己建立的目录,我当然不知是存什么的。希望上面的文字能使你在大脑里留下了LINUX的全景图,以便大家深入掌握LINUX的其它方方面面。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 57 发表于: 2007-05-05
引用
扫盲行动之四:GRUB三步通


引用
朋友,你装好linux后是不是每次启动后系统就默认进入到linux,想让它变成windows吗?请修改你的引导装入器吧(当然它不止这个功能)!由于现在的linux都喜欢用GRUB来引导,LILO已越来越少用了,所以我在这里主要给大家讲讲GRUB这个东东!!

##################
# GRUB的优点 #
##################
GRUB 是引导装入器(boot loader) -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。
GRUB 是一个很棒的boot loader。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。

更令人惊讶的是,这是一个自由软件!!!

##################
# GRUB菜单 #
##################
先来看一个例子,这是位于/boot/grub/目录下的menu.lst文件。
此文件将在开机是产生一个菜单,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四个选择项。我一共分了8个区,一个fat16(0x6),一个ntfs(0x7),三个ext2fs分区(0x83),一个swap分区(0x82)。ntfs用来装win2000,三个ext2fs装了三个linux,c盘fat16分区没有装任何东西。
#例子由此开始

######################
# #
# 一个GRUB configure 的例子 #
# #
######################

timeout 10
default 2

# --> Debian linux <--

title Debian linux
root (hd0,2)
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro
initrd /boot/initrd-2.2.18.gz

# --> Debian END <--

# --> Windows 菜单选项 <--

title Windows2000
root (hd0,0)
chainloader +1

# --> Winddows 结束 <--

# --> RedHat linux 菜单选项 <--

title RedHat linux
root (hd0,8)
chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。

# --> RedHat linux 结束 <--

# --> Mandrake linux 菜单选项 <--

title Mandrake linux
root (hd0,5)
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro
initrd /boot/initrd-2.4.3-20mdk.img

# --> Mandrake linux 结束 <--

#例子到此结束

以符号井"#"开头的行表示被注释掉,没有任何意义。

timeout表示默认等待的时间,这儿是10秒钟。超过10秒,用户还没有作出选择的话,系统将自动选择默认的操作系统。

默认的操作系统就是由default控制的。default后加一个数字n,表明是第n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 表示默认的操作系统在这儿是 Redhat linux。

接下来,正如你所想象的,title表示的是“Debian linux”菜单项。root (hd0,2)表示第一个硬盘,第三个分区。这儿的root 于linux的root分区及其不同,此root非彼root也!

在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区。

到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。

知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro说明/boot/vmlinuz-2.2.18 就是要载入的内核。后面的都是传递给内核的参数。root=/dev/hda3就是linux的硬盘分区表示法,ro是以readonly的意思。
initrd用来初始的linux image,并设置相应的参数。

是不是感觉很简单啊!再来看一看windows的定义段吧。
这里,我添加了一项来引导 Windows2000。要完成此操作,GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 win2000 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。

我的RedHat linux在硬盘主引导分区装了lilo,所以也用了chainloader。

GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red",惊喜吗? 有趣吧!

######################
# GRUB的交互性 #
######################

GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。

只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬!

GRUB的最大的特点就是交互性特别强。在开机时,按一下“c”,将进入GRUB 控制台。显示如下:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub>

欢迎使用 GRUB 控制台。现在,再研究命令:
我将通过GRUB 控制台绕过lilo来启动RedHat linux,

grub> root (h

现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:

grub> root (hd0,

现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:

grub> root (hd0, (tab,按tab一下键)
Possible partitions are:
Partition num: 0, Filesystem type is fat, partition type 0x6
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x7
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
Partition num: 6, Filesystem type is fat, partition type 0xb
Partition num: 7, Filesystem type is fat, partition type 0xb
Partition num: 8, Filesystem type is ext2fs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82

如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了
grub> root (hd0,8)
现在已安装了 root 文件系统,到装入内核的时候了

grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro
[Linux-bzImage, setup=0x1200, size=0xe1a30]

您已经安装了 root 文件系统并装入了内核。现在,可以引导了。只要输入 "boot",Linux 引导过程就将开始。是不是很cool啊,GRUB的menu.lst更像一个linux下的脚本程序。

#####################
# GRUB启动盘 #
#####################
要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗?

将一张空盘插入 1.44MB 软驱,输入:

# mke2fs /dev/fd0
创建了 ext2 文件系统后,需要安装该文件系统:

# mount /dev/fd0 /mnt/floppy
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:

# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /boot/grub/stage1 /mnt/floppy/boot/grub
# cp /boot/grub/stage2 /mnt/floppy/boot/grub
再有一个步骤,就能得到可用的引导盘。

在linux bash中,从 root 用户运行“grub”,该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。
在 grub> 提示符处,输入:

grub> root (fd0)
grub> setup (fd0)
grub> quit

现在,引导盘完成了。
如果要把GRUB装到硬盘上,也很容易。这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件复制到该目录中,可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda):

grub> setup (hd0)

如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入:

grub> setup (hd0,4)

现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。

小结:在这里只是介绍了 GRUB 的一部分。例如,可以使用 GRUB 来执行网络引导,引导 BSD 文件系统,或更多操作。另外,GRUB 有许多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,请阅读 GRUB 出色的 GNU 文档。只要在 bash 提示中输入 "info grub" 就可以阅读该文档
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 58 发表于: 2007-05-05
引用
扫盲行动之五:在Linux中共享Windows系统资源


引用
在一部电脑上装有Linux和Windows的用户,可能需要在Linux中用到包括软盘、光盘以及Windows分区中的文件,如当你在Windows操作系统中上网,却下载了Linux的应用软件的时候。下面我就向大家详细介绍这方面的知识和具体的应用。
  一、装载(mount)
  (一)准备知识
  在Linux系统中想要使用软驱的话,要先把它们装载到系统中,装载指令mount的格式如下:
  mount -t 文件系统类型 设备文件名 装载目录
  1.文件系统类型
  文件系统类型一般来说就是分区格式,依操作系统的不同而不同。下面将Linux系统支持的文件系统类型择要分列如表一:
  2.设备文件名
  在Linux系统中,各个驱动器设备的命名和Windows中的规则(如A:、C:等)有很大的区别。所有的系统硬件设备都可以在/dev目录下找到对应的设备文件名。例如/dev/mouse就用来表示系统中的鼠标。磁盘驱动器的各个不同分区所对应的设备文件名列表如表二:
  假设第一个IDE硬盘驱动器被分成数个分区,通常,第一个分区可以肯定其设备文件名为/dev/hda1,但其它分区的设备文件名就不是可以依次类推得到的(特别是当用户使用了诸如PTM之类的磁盘分区工具的时候)。如果你想要知道硬盘各分区所对应的设备文件名,可以在控制台下执行cfdisk的指令,则各分区对应的设备文件名就可以一目了然了。
  3.装载目录
  通常我们都会在/mnt目录下面为需要装载的磁盘驱动器创建一个目录,不过这并不意味着它们不可以被装载于其它未被使用的目录中。再者,所谓装载目录,并不是将被装载的磁盘驱动器整个复制到本地,而仅仅是在本地提供一个装载点用以联系其它需要装载的磁盘驱动器。
  Linux系统对字符的大小写是敏感的,但是在Windows中就不是这样。而当你装载一个Windows系统中的驱动器后,对其上的文件操作时,字符的大小写就变得不敏感了,这意味着用户不可以在装载的Windows驱动器的同一目录中建立这么两个文件:ABC.TXT和abc.txt,因为在Windows系统中,它们代表同一个文件。
  (二)装载实例
  1.装载软盘
  首先在/mnt目录下为软磁盘创建一个目录floppy(有时Linux系统在安装的时候已经为你做了这一步):
  mkdir /mnt/floppy
  接着用装载指令将软盘中的内容装载到这一目录中:
  mount -t msdos /dev/fd0 /mnt/floppy
  此后你就可以在/mnt/floppy下完全访问到软磁盘中的内容了。当然你亦可以用vfat这一文件系统类型代替msdos以使你能正确访问到软盘上的长文件名字,或者是用ext2代替它以使你可以访问到Linux文件格式的软盘。
  2.装载FAT 32格式的C盘
  在/mnt目录下为之创建一个目录winc(winc以及其他的装载目录是笔者的假设,你可以用自己喜欢的其他合法字符去命名这些目录):
  mkdir /mnt/winc
  用装载指令将C盘内容装载入该目录:
  mount -t vfat /dev/hda1 /mnt/winc
  3.装载光盘
  在/mnt目录下为你的光盘驱动器创建一个目录cdrom(有的Linux系统安装时已为你完成了这件事):
  mkdir /mnt/cdrom
  如果你的光盘驱动器安装在primary slave上,设备文件名就是/dev/hdb;如果安装在secondary master上,设备文件名就是/dev/hdc。假设你的光盘驱动器挂在secondary master,就用下面的装载指令:
  mount -t iso9600 /dev/hdc /mnt/cdrom
  由于Linux版本的不同,你所用的系统或者会使用这样的指令来装载光盘:
  mount /dev/cdrom
  或mount /mnt/cdrom
  二、卸载(umount)
  如果你已经用指令将软盘装载进相应目录,就不要直接将它们从软驱中取出来,否则可能会导致信息丢失;已经装载的光盘驱动器更是会令面板上的弹出键暂时失效以阻止你将光盘直接取出。
  在你取出它们之前,首先要确定已经没有用户对它们进行访问操作,包括没有工作窗口处在该磁盘驱动器被装载的目录。卸载指令的格式如下:
  umount 卸载目录名
  如用户想要卸载软盘,可以用如下指令:
  umount /mnt/floppy
  三、进阶使用
  (一)为装载指令增加简捷的形式
  用户可以在系统的配置文件/etc/fstab中指定一些常用的需要装载的驱动器,以便用更简捷的指令来装载它们,下面给出一个添加Windows系统的C盘进配置文件的例子:用文件编辑工具vi(也可以用其它你熟悉的文件编辑工具)打开/etc/fstab,我们会看到系统已经为根目录“/”、软磁盘驱动器、光盘驱动器等指定了文件系统类型和设备文件名以及装载目录(可能会因为所用的Linux版本不同,被指定的驱动器会有出入,不过用户可以参照下面的例子做出改动)。你既可以改变它们的预设值,也可以在其中添加新的驱动器。用箭头将光标移到最后一行,将下面一行加入文件:
  /dev/hda1 /mnt/winc vfat defaults 0 0
  如果还想装载硬盘内的其它分区,可以依次加入。完成后保存文件并退出。不要忘记相应的创建目录/mnt/winc。此后你就可以用如下指令装载Windows系统的C盘了:
  mount /mnt/winc
  (二)启动时自动装载磁盘驱动器
  用户可能会希望系统在启动时可以将你惯用的磁盘驱动器(如硬盘中的Windows分区或者是光盘驱动器)自动装载,以减轻每次启动后都要手动装载的麻烦。你可以用以下方法实现自动装载的功能:
  用文件编辑工具打开/etc/fstab,将刚才我们加入的那一行中的defaults改成auto,如:
  /dev/hda1 /mnt/winc vfat auto 0 0
  对于其它想在启动时就装载的磁盘驱动器,都可以将defaults改成auto。需要注意的是,对于硬盘上的Linux分区(包括ext2和swap)并不需要作出这样的改动。
  重新启动系统以后,在/mnt/winc目录下,你就可以看到系统在启动时就装载好的Windows系统的C盘了。
  四、使用Mtools
  在Linux中想要共享Windows系统资源,除了上面介绍的装载(mount)命令之外,还有一组名为Mtools的软件包可以实现这一功能。和大多数实用工具一样,Mtools软件包亦是Linux系统默认的安装套件。你可以在http://mtools.ltnb.lu/下载到它的最新版本mtools-3.9.7.tar.gz。
  (一)Mtools命令
  对于熟悉DOS命令的用户来说,Mtools命令会让他们感觉到像回到了DOS的世界。在下面的表格中我们可以看出它们有多么相似:
  很显然,Mtools命令是简单地在DOS命令前加上了一个m前缀,功能还是和在DOS下一样的。须要注意的是,更改目录路径在DOS命令中可以有cd和chdir两种命令格式,但是在Mtools中只有mcd一种格式。类似的在Mtools中没有对应的命令还有mkdir、rmdir、rename等等。
  (二)mtools.conf文档的配置
  因为Mtools是一个仿真DOS命令的软件包,所以它也保存着DOS系统下的磁盘驱动器概念。Mtools不但可以实现A盘 、B盘、 C盘的概念,对于一些特殊驱动器(如ZIP驱动器)更有专门的命令(mzip)以让用户方便地进行操作。在默认的环境下,A盘和B盘分别对应着两个软盘驱动器(如果有的话),N盘则对应着DOSMU启动盘的镜像文件。
  我们可以通过修改/etc/mtools.conf文档来改变默认的配置,当然在做出修改之前你仍要对Linux下的设备文件名有相当的认识才行(请参考上一期本版有关设备及其文件名的介绍)。假设你的机器有一个1.44MB软驱(A),硬盘挂在第一个IDE接口的主位置上,在第一个分区(C盘)中安装有Windows操作系统,光驱挂在第二个IDE接口的主位置上(D盘),以及SCSI盘等,则可以对mtools.conf文档简单配置如下:
  mtools.conf
  drive a: file=″/dev/fd0″ exclusive 1.44m
  drive c: file=″/dev/hda1″
  drive d: file=″/dev/hdc″
  drive X: file=″/dev/rdsk/c0t5d0s2″ partition=4 scsi=1 nodelay
  (三)Mtools命令的使用
  Mtools的命令系统和DOS有很多相似之处,比如在命令后面可以加不同的参数以实现更为丰富的功能(Mtools命令的参数使用方法是在命令后面加“-<参数>”,你可以把它想象成用“-”代替了DOS命令使用的“/”),可以使用通配符“?”和“*”。更为方便的是,使用Mtools不需要事先装载(mount)和事后卸载(umount)。
  下面我们以目录列表命令mdir为例作说明(想知道其它命令的使用格式和更多的可用参数可以用man 命令查看相关帮助系统)。mdir的功能是对DOS目录和其中的文档进行列表操作。命令格式如下:
  mdir [-/] [-f] [-w] [-a] [-X] msdosfile [msdosfile]
  各命令参数的功能分述如下:
  /:输出当前路径下的所有目录和文档,相当于DOS命令dir中的“s”参数;
  f:列表时不尝试计算当前分区的自由空间,对于大硬盘来说,这样做可以节省一些读入和扫描分区表(FAT)的时间;
  w:列表时在一行中显示多个目录文档,这种输出格式将不显示文档的大小和创建时间,相当于DOS命令dir中的“w”参数;
  a:列出隐藏的目录文档;
  X:简要列表, 列出路径名而不列出其它附加的信息。
  一些具体的应用实例:
  1.列表A盘下的所有目录文档(不包括隐藏的目录文档)
  mdir -/ a:
  2.列表C盘Windows目录下含有“abc”的目录文档
  mdir c:/windows/*abc*
  或者mdir c:\windows\*Abc*
  注:在Mtools命令中,/和\是可以混用的。又因为列表的是DOS系统下的文档,对大小写并不敏感,所以“abc”和“Abc”在这里是等价的。而通配符“*”的用法和DOS命令亦有所不同。
  五、在Windows系统中共享Linux系统的文档
  无论对于刚接触Linux的新手还是对之已经熟悉的高手,恐怕都免不了想在Windows系统中调阅Linux系统的文档。这可以使用在Windows系统下观看Linux分区的小软件(如fsdext2等)。这里再向各位推荐两种可以实现这种功能的小软件。
  (一)Linuxindos
  Linuxindos是一个不到500KB的小程序,笔者找到的版本是Beta 0.9的DEMO版,用户可以在http://best.163.com/~linux/soft/下载试用。程序不需安装就可以在Windows系统下运行,使用也非常简单。
  在Windows系统下将linuxindos.zip解压到硬盘目录,用户就会看到一个带着企鹅图标的可执行程序LiD95Demo.exe。启动程序后,会出现一个接口非常简单的窗口,当用户挑选一个含有Linux系统文档的磁盘驱动器以后,Linux分区中的所有文档就会显示出来,左边窗口列出的是Linux分区中的目录,而右窗口就列出了目录内的文档,感觉就像在Windows的资源管理器中一样。
  (二)Explore2fs
  这是一个更为小巧的自由软件,大小约308KB,用户也可以在http://best.163.com/~linux/soft/下载使用。正如它的名字一样,这是一个有着类似资源管理器窗口的程序,通过它你可以读取Linux系统下的分区。和Linuxindos一样,Explore2fs的主视窗亦分为左右两个,左边显示的是Linux中的目录,而右边显示的就是目录中的文档了,可以简单地将右边视窗中的文档直接拖到Windows系统分区中。
  在右边视窗中选择好文档后,按下鼠标右键可以选择相应的操作,“Export file”是直接导出文档,而“Export to Text”则是除去文档的分隔符后导出和TEXT兼容的文本文档。
级别: 光盘初级
发帖
301
飞翔币
335
威望
48
飞扬币
1311
信誉值
0
只看该作者 59 发表于: 2007-05-05
引用
扫盲行动之六:Linux下其它格式文件系统的自动挂装


引用
不同的操作系统使用不同的文件系统格式,MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,而Linux差不多支持所有的文件系统格式,但一般使用ext2文件系统。
  对于普通的PC用户,使用的大多是Microsoft的windows98操作系统,如果想同时使用Linux操作系统的话,一般使用多重启动。这时,用户可能希望在Linux下访问Windows文件,比如原来Windows下的mp3、电影等等。通常,有多种方法实现Linux下对其它文件系统的访问,下面就以在Linux下对Windows98文件系统的访问为例进行介绍:
  (一)在安装Linux时进行设置。由于Linux和Windows98两种操作系统使用不同的文件格式,所以在Windows98下安装Linux必须为Linux建立单独的分区,安装过程中有设置分区的步骤,此时,不但可以建立Linux分区,还可以对原FAT文件系统进行挂装,因为Linux把磁盘设备也看成是特殊的文件,这时如果为Windows98操作系统的逻辑分区C、D分别设立如/DOSC、/DOSD的挂装点,那么在安装完Linux后就可以在/DOSC、/DOSD目录下访问原来C、D分区上的文件了。
  (二)如果在安装时没有为Windows98分区设立挂装点,也可以在安装完成后进入Linux运行mount命令(必须以root身份登录)挂装,mount命令的具体格式是:
mount〔-afFhnrvVm〕〔-l<标签>〕〔-o<选项>〕〔-t<文件系统>〕〔设备名称〕〔挂入点〕
比如,用户的Windows98在系统IDE设备上的第一个分区上,如果要将它挂装在/DOSC下,可以使用下面的命令:
mount -t vfat /dev/hda1 /dosc
使用mount挂装设备时会记录信息在/etc/mtab文件中,运行unmount命令时将记录清除。
  (三)手动修改/etc/fstab文件。/etc/fstab文件的内容被用来在Linux 下自动挂装各种文件系统,文件中的每一行都提供了一种设备的信息,这种设备可以被挂装在Linux文件系统下的一个目录中。在Linux启动过程中,init进程执行一个脚本文件,该脚本调用带有-a参数的mount命令,用mount来读/etc/fstab,并挂装所有列出的文件系统(带noauto选项的除外)。下面是一个典型的/etc/fstab文件(其中Windows98安装在第一块硬盘上,Linux安装在第二块硬盘上):
  ABEL=/ / ext2 defaults 1 1
  /dev/hda1 /dosc vfat defaults 0 0
  /dev/fd0 /mnt/floppy auto noauto,owner 0 0
  none /proc proc defaults 0 0
  none /devpts devpts sid=5,mode=620 0 0
  /dev/hdb5 swap swap defaults 0 0
  /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kud2ure 0/0
  /etc/fstab文件的第一列是设备名,第二列是挂装点,第三列表示在设备上的文件系统的类型,第四列是应用于特定设备的一组选项,通常为defaults,表示的含义有:这个设备在引导阶段被挂装、只有root用户可以挂装它、挂装后可以进行读或写操作,此选项如是noauto,则表示引导时该设备不会被自动挂装,而user选项表示任何用户都可以挂装该设备。以上面的etc/fstab文件为例,如果想在Linux下挂装Windows98操作系统的D分区(假设挂装点为/dosd),则可以在上文件中加入一行:
  /dev/hda5 /dosd vfat defaults 0 0
  然后存盘,重新启动后就可以访问Windows98操作系统的D分区了。

补充:fstab 栏位说明
第一栏(fs_spec): 实际的 device 名称
第二栏(fs_file): 对应到的目录结构(mount point)
第三栏(fs_vfstype):该 partition 的档案系统,常见的有:
minix、ext、ext2、msdos、iso9660、nfs、swap
第四栏(fs_mntops): 在 mount 时的参数
第五栏(fs_freq): 在使用 dump 时是否记录,不需要则输入0
第六栏(fs_passno): 决定在开机时执行 fsck 的先后顺序