您好,欢迎来到99网。
搜索
您的当前位置:首页linux菜鸟进阶系列之linux入门教程

linux菜鸟进阶系列之linux入门教程

来源:99网


linux入门教程

版权信息

作者未知

文章出处黄嘴企鹅论坛 flynng兄转贴 文档制作拒绝正版

1994年Young和Mark Ewing创建了Red Hat公司并创造了全球使用最广泛的Red Hat Linux套件为Linux的普及立下了汗马功劳笔者也是跟随着Red Hat的带领下走进Linux世界的Red Hat取得了辉煌的成绩甚至许多Linux发行公司还采用了许多Red Hat Linux的代码如MandrakeSOT BestConnectivaAbit和Kondara可以说Red Hat在某种意义上几乎成了Linux的代名词

2001年4月16日Red Hat公司正式推出了Red Hat Linux 7.1版做为Red Hat Linux的忠实用户第一时间就在自己的爱机上安装了一套在此将我的心得汇成本文希望能够帮助你驾驭它

第1章系统简介

1.1 系统新特性

1 采用了最新的Linux 2.4.2版稳定内核支持更多硬件设备具有很高的性能指标 2 采用了最新的图形系统Xfree86 4.0.3提供了强大的硬件支持 3 引入了全图形安装界面使得安装更为简单

4 增加了国际化语言支持但最可恨的是支持了Big5却没有简体中文真可气 5 显著改进了对多CPU计算机的支持而对于单CPU的计算机器则提供了高达4G的用户进程空间同时取消了PCI总线的虚拟内存可高达G物理内存支持多用户和集体使用可谓是企业级的操作系统

6 对移动存储设备提供了出色的支持包括可热插拔USB设备ZIP驱动器和各种光盘刻录机Red Hat Linux 7.1主要采用了一个叫做updfstab的程序模块使得它能对各种移动存储设备的支持安装和卸载这些设备也是变得很容易了

7 加入了一些新的系统配置工具来方便用户管理以及Linux系统使用例如apacheconf, bindconf, 和printconf等这些工具能方便的分别让用户通过GUI图形用户界面来配置APACHEBIND和打印机要知道以往版本中要配置上述的几个服务可是很复杂的要手动修改不少参数

8 另外还增强了对PCMCIA 设备的支持这对使用PCMCIA 设备的笔记本电脑的用户来说是非常重要的

9 在安全方面做了许多修补工作安全缺省设置可保证端口关闭新的防火墙屏蔽可使用用户任意打开或关闭

10捆绑了大量最新的应用软件服务器软件

1.2 系统硬件需求

Linux发展到今天已经摆脱了以前的硬件支持不好的窘境它凭借自己的实力赢得了市场现在众多硬件厂商都使自己的产品能够在Linux下工作

1

1CPURedhat Linux 7.1在安装光盘上内提供了对许多CPU的支持程序几乎您在安装时不会因为CPU的原因受阻不过对于一些类似Intel 8038680486AMD 4865x86K5等的老CPU系统虽然提供了支持但未针对这些CPU进行优化可能导致性能不佳另外如果想构建多CPU的系统那么可选的CPU为Intel CeleronPentium Pentium IIPentium II XeonPentium IIIPentium III XeonPentium ProPentium with MMX

2主板Red Hat Linux 7.1支持所有X86兼容主板 3内存建议M以上最好128M

4CDROM支持所有的IDE接口的光驱大部分SCSI接口的光驱也能够识别 5SCSI卡支持Adapterc 152x154x274x284x294x394aic70-based卡以及大部分流行的SCSI卡除非你有SCSI接口的存储设备否则不需要该设备 6显卡

对于Linux系统而言在字符终端方式下所有的显卡都支持的但是如果要让你的显示工作在X Window图形界面下就需要根据显卡的不同进行相应的设置在早期显卡经常困扰着初学者不过现在显卡的支持变得好了很多大部分显卡都能够在安装时被识别自动完成设置唯一遇到无法识别的常见显卡是Intel的i810你可以到Intel的网站上找到帮助http://support.intel.com/support/gr...xinstal.htm 7声卡

在Red Hat Linux 7.1中提供了更多的声卡支持就连Creative Labs Sound Blaster Live声卡都可以即插即用了不过一些小牌子的声卡常会出现支持不好的情况 8网卡支持Ne2000兼容网卡大部分PCI网也支持的较好 9其它

Redhat Linux 7.1支持所有X86兼容主板支持所有市面上销售的键盘鼠标软驱支持所有品牌的内存至少需要8M内存建议配备M以上

在Red Hat的网站上有一份详细的硬件兼容性列表你可以通过它获得更多详细的信息http://hardware.redhat.com/hcl/genp...gi?pagename=7.1

第2章安装指南

2.1 安装前的准备

1收集系统资料为了能够顺利安装和设置Linux系统你必须将以下资料记录在案以备系统安装时使用

硬盘数量, 容量和类型

内存您的计算机所装内存的数量 CD-ROM接口类型(IDE, SCSI) SCSI卡卡的型号 网卡网卡的型号

鼠标鼠标的类型串口PS/2总线型协议Microsoft,Logitech, MouseMan, 等等按键的数量对串口鼠标还要知道它接在哪个串口

显示卡显示卡的型号(或者它用的芯片组), 显示内存的数量(大多数PCI总线的显卡可以被安装程序自动识别.)

显示器型号以及水平和垂直刷新频率的范围

你可以用Windows的控制面板 -> 设备管理器来获取相应资料当然还可以查阅相应的

2

随机资料

2检查CMOS设置:

Anti vriusDisable 关闭该选项防止安装时死机因为安装程序要写主引导扇 Swap A,BDisable 以免启动时可能出现问题 Boot SqueCDROM,A,C 让计算机从光盘启动

Memory Hole:Disable 若未关闭则LINUX只能识别16M内存 3了解LINUX的硬盘分区的命名设计与文件系统知识

Linux安装至少要两个分区Linux native(文件)分区和Linux Swap(交换)分区主分区用作存放LINUX的文件交换分区为运行LINUX时提供虚拟内存

交换分区每个16~32M最多可以有8个具体可根据内存的多少来决定一般来说建一个16M的交换分区就可以了

文件分区则根据需要和硬盘大小来决定一般来说不应少于200M

由于我们接触最多的是DOS操作系统所以大多数人都习惯于使用类似于\\\\\\\\\\\\'C\\\\\\\\\\\\'的符号来标识硬盘分区但这在LINUX却不是这样Linux的命名设计比其他操作系统更灵活能表达更多的信息Linux通过字母和数字的组合来标识硬盘分区如hda1其具体含义是分区名的前头两个字母表明分区所在设备的类型例如hd指IDE硬盘sd(指SCSI硬盘)第三个字母分区在哪个设备按a,b,c,d的顺序排列如hda是IDE 1口的主硬盘则IDE 2口的主硬盘就应该是hdc了最后的数字在该设备上的分区顺序前四个分区(主分区或扩展分区)用数字1 到4表示逻辑分区从5开始例如hda3表示第一个IDE硬盘上的第三个主分区或扩展分区

在Linux的文件系统中不论有几个文件分区全部集合于一个树形的目录结构中比如说你可以将某个分区指定给/(根目录)使用某个分区指定给/usr目录使用然而但你进入Linux系统后你根本感觉不到他们在不同的分区中你只是感觉都在一棵树上不过如果你只有一个文件分区一定要给/(根目录)使用 4为硬盘作好安装LINUX的准备:

一般说来大家电脑上的硬盘跟我一样已经全部用于MS-DOS/WIN操作系统的分区为了能够安装LINUX只好为LINUX重新分配硬盘空间我立马把朋友的硬盘借来数据统统备份下来再重装系统不过有三种可供选择的方法

1) 将MSDOS下的最后一个逻辑盘上的数据全部移到其它分区中将该逻辑盘用分区工具删除将这部分空间给LINUX使用

2) 重新将硬盘分区这是最直接和最麻烦的一种方法具体操作如下 . 备份用户的文件

. 用MS-DOS系统盘启动系统

. 用FDISK删除原有分区重建新的分区将分配给LINUX的空间留下来不分配给任何一个分区

. 重新安装原来的用户系统

3) 利用一些分区工具在不删除硬盘原有数据的情况下重新分区如分区魔术师等

2.2 从CDROM安装Red Hat Linux 7.1

我们可以通过光盘硬盘网络安装Red Hat Linux 7.1系统最常见的方法就是使用光盘安装使用光盘安装无外乎就是三个要求 1 你的主板支持光盘启动 2 你有光驱

3 你有Red Hat Linux 7.1安装光盘

3

通常情况下这是没问题的笔者也建议您使用光盘安装这样是这简单的随着Linux系统下的应用软件逐渐增多一张光盘已无法容纳Red Hat Linux 7.1安装光盘有两张第一张可以直接从光盘启动包含了大部分的软件包和一些安装工具第二张光盘则是许多附加的软件包不过这次与以往不同的是Red Hat公司专门进行了改进安装程序可以从多个光盘读取资料安装的时候你就会发现中途提示你更换第二张光盘现在我们就一起开始Red Hat Linux 7.1安装之旅 第一步选择安装模式

塞入第一张光盘让计算机从CDROM启动将会出现了简洁的欢迎信息这时可以选择不同的安装模式

1 图形模式直接按回车即可整个安装过程就象Windows一样而且可以使用鼠标操作不过此时的Red Hat好象对显卡很挑剔有的出现屏幕太大找不到按钮有的则根据无法显示图形界面如果是这样你可以按下热启动键重选文本模式进行安装

2 文本模式输入text再按回车就会进入文本模式的安装界面有一定经验的人还是使用这种方式比较好

3 专家模式输入expert再按回车在这种情况下安装程序就好象没有脑子一样所有的东西都要您来决策除非你十分熟悉Linux并且有一些特殊的硬件安装程序无法正确配置否则不要使用这种方式

4 救援模式这不是在首次安装时使用的它仅是用于原有的Linux系统无法正常启动的情况下使用这种方式下你将进入一个微型的Linux系统并且提供了许多恢复Linux的工具供你使用

5 驱动盘模式如果你有特殊的硬件驱动盘需要在安装时提供给Linux系统使用则你就输入linux dd再按回车安装程序会提供机会让你插入驱动软盘 建议使用文本模式进行安装

第二步选择语言

Red Hat Linux 7.1提供了18种不同的语言可惜还是没有中文只能选择english然后继续

注Red Hat公司已在近期推出了中文版大家可以找来试一试

第三步选择键盘 在此选择us继续

注笔者试过在Red Hat Linux 7.1下使用罗技公司的Logitech iTouch无线键盘那么普通的104键盘更不会有问题了

第四步选择安装方式

Red Hat Linux 7.1提供了WorkstationServerLaptopCustomUpgrade Existing分别是工作站服务器笔记本电脑用户自定义升级老版本这五种安装方式我们可以根据自己的实际需要来选择安装方式

1 Workstation工作站方式对于一般用户建议使用此方式工作站类型安装将会清除掉所有硬盘上原有的所有Linux分区对于非Linux分区如Windows 98会置之不理这种方式安装十分简单而且如果你的机器上如果原来有Windows 98的话安装完后会自动完成LILO双启动的配置但是如果你的机器上原来是NT的话那就千万不要使用这种方式否则你的NT可能再也无法启动

2 Server System服务器系统方式警告采用这种方式安装将会干掉所有硬盘

4

上所有分区的一切信息这绝对不是开玩笑许多初学者已经付出了血与泪的代价通常在你需要在一台空PC上构建一台网络服务器才选择它

3 Laptop便携机笔记本方式笔顾名思义当你在笔记本电脑上安装时建议采用该方式

4 Custom System定制安装对于Linux有一定了解的朋友建议使用该方式自由地构建Linux在下第一次安装Linux的时候就勇敢地采用了这种方式

5 Upgrade Existing System升级现有系统假设你的硬上有老版本的Red Hat Linux的话这是你最佳的选择 建议使用定制安装

第五步进行硬盘分区

首先会让你选择不同的分区工具Disk Druid和fdisk建议使用Disk Druid 在Disk Druid的主界面的最上面是\\\\\\\\\\\\'Current Disk Partitions\\\\\\\\\\\\'区列出各个硬盘分区的信息每行由五个项目组成Mount Point -- 指定该分区对应的Linux系统目录Device -- 硬盘分区的设备名Requested -- 分区定义时申请的最小空间Actual -- 当前分配给这个分区的空间Type --分区类型

而中间的是\\\\\\\\\\\\'Drive Summaries\\\\\\\\\\\\'区一行对应一个物理硬盘每行由六个项目组成Drive -- 硬盘的设备名Geom [C/H/S] -- 硬盘的物理信息包括柱面 磁头和扇区的数量Total -- 硬盘所有可用空间Used -- 硬盘已分配空间Free -- 硬盘未分配空间Bar Graph -- 硬盘已用空间表示图

最下面的是Disk Druid的按钮区由五个按钮组成Add -- 申请一个新的分区 Edit -- 修改在\\\\\\\\\\\\'Current Disk Partitions\\\\\\\\\\\\'区中选中的分区的属性Delete -- 删除\\\\\\\\\\\\'Current Disk Partitions\\\\\\\\\\\\'区中选中的分区Ok -- 确认分区操作重写硬盘分区表Back -- 不保存修改而退出回到前一个屏幕重新开始

我建议为Linux分一个根分区一个交换分区建议M128M或256M即 用Tab选择Add钮按回车这时屏幕上将会出现一个题为\\\\\\\\\\\\'Edit New Partition\\\\\\\\\\\\'的对话框首先我们在Mount Point项中输入这个分区所对应的系统目录/(根目录)接着在Size(Megs)项中输入分区的大小在Type这一项中用光标上下键键选择适当的分区类型我们选中Linux的文件分区Linux native最后按OK确认这样我们就成功地建立起一个为Linux所用的分区了当然如果你的硬盘空间允许你完全可以再建立一个或几个分区给Linux使用接着用同样的方法给Linux增加一个交换分区不同的仅在于Mount Point项让它空着在Type项目中选择Linux Swap

注如果你在前面选择的是图形界面安装的话将会提供一个图形化的分区界面使用起来也是很方便的而且还可以使用自动分区的办法让安装程序自已创建分区

在做这一步时需要谨慎不要不小心删掉原来的分区那就惨了确认没有错后按OK按钮继续然后根据提示将新的Linux分区格式化以便使用

第六步LILO配置

LILO就是Linux Loader即Linux引导器它负责启动Linux操作系统我们可以通过配置它实现双启动首先安装程序会让你填写有什么内核参数需要传给LILO通常是不需要的接着会询问你要将LILO安装在什么位置通常有两种选择 1第一硬盘的主引区MBR 2Linux分区的引导扇

如果你想使用LILO来做双启动的话你需要选择第一种如果是想用Linux启动软盘

5

或其它系统引导器引导Linux的话那就选择第二种

第七步设置主机名

随便为你的机器取一个名字

第八步选择系统安全等级

这也是Red Hat Linux 7. 1提供的新选项它提供了三种选择

1 High如果你选择High级那么所有来自外界的网络访系问都将被禁止

2 Medium默认的级别选择该级别则对于外界的网络访问仅限于该系统提供的网络服务

3 No firewall最低的安全保障任何外界的网络访问都将被允许

第九步常用选项设置

接着设置鼠标选择你需要支持的语言种类注意这里是提供了中文支持的哟以及时区图形界面下应点China而在文本模式下则应选择PRC 第十步用户设置

1 首先设置系统管理员就是root用户密码系统管理员是系统的最高权限者拥有该系统所以这个密码是十分重要的

2 接着安装程序提供了一个增加用户的工具你可以通过这个工具很轻松地添加系统用户

3 最后是关于用户认证的配置

a. Shadow Passwords默认是选中的请不要修改该功能是用来保护密码安全的 b.使用MD5密码加密默认也是选中的请不要修改它也是保护密码安全的 c.使用NIS当你要通过网络上的NIS服务器进行用户验证时请填写相关信息 d.使用LDAP当你要通过网络上的LDAP服务器进行用户验证时填写相关信息 e.使用Kerberos当你要使用Kerberos系统进行用户验证时填写相关信息

第十一步选择软件包

这一步是安装过程中最重要的一步你可以根据提示选择你需要的软件安装程序将所 有的软件分成了许多类 Printer Support打印机支持

X Window SystemX Window系统 GNOME桌面管理器GNOME KDE桌面管理器KDE

Mail/WWW/News Tools一些收发MailWEB浏览新闻阅读的常用工具 DOS/Windows Connectivity提供DOS和Windows的兼容工具 Graphics Manipulation图形操作软件 Games游戏软件

Multimedia Support多媒体支持软件

Laptop Support笔记本电脑专用的支持软件

Networked Workstation网络工作站工具如TelnetFTP等客户端 Dialup Workstation拔号上网工具 News Server新闻服务器

NFS Server网络文件系统服务器

6

SMB(Samba)ServerSamba就是NetBIOS协议服务器系统 IPX/Netware™ ConnectivityIPX协议支持软件 Anonymous FTP Server匿名FTP服务器

SQL Serverpostgresql 与MySQL数据库服务器 Web ServerWEB服务器Apache DNS Name Server域名服务器

Network Management Workstation网管工作站提供一些SNMP支持 Authoring/Publishing出版方面的软件 Emacs著名的集成编辑软件 Development开发工具包

Kernel Development内核开发包包括内核源程序 Utilities一些常见工具如Linuxconf

Everything所有软件包如果你的Linux分区足够大2400M以上那么你可以选中它将所有的软件都装上

注在选择界面之下有一个选项选中时它会列出详细的软件安装列表你还可以进行一些选择

选择完要安装的软件包后系统会自己进行软件包依赖检查接着就开始了文件的拷贝 这时你可以休息一下了不过与以前不一样拷贝到一半时需要你更换光盘

第十二步制作启动盘

安装完成之后会提示你制作一张Linux启动软盘虽然不是很有用但是对于初学者而言还是做一张备用为好因此在以下情况时能够用得上

1 准备将LILO放在Linux分区中可以通过软盘引导Linux

2 装在MBR上的LILO程序在安装Windows时被覆盖则可以使用这张软盘引导再运行/sbin/lilo重新往MBR上写LILO程序

3 当系统崩溃时可以使用Linux启动软盘启动做一些恢复

第十三步拷贝文件

接下来就是历时最长也是最核心的过程拷贝文件Linux安装程序将你所选择的软件包通通拷贝到硬盘分区中要注意的是在安装过程中是需要你换第二张光盘的

第十四步配置显卡/X Window

接下来安装程序将自动检测你的显卡显示器由于Red Hat Linux 7.1采用了最新的XFree86 4.0所以对显示卡的支持更好了大部分显卡都可以被识别由于无法识别的话那就只好等安装完以后再配置了

如果你的显卡显示器都幸运地被识别那么安装程序将要求你选择图形界面的分辨率如果你的显卡很好那就选择800*600*24位色或1024*768*24位色象我使用的显卡太老就只好选择800*600*16位色你也可以选择多种启动后可以使用Ctrl+Alt +和-来切换

设置完分辨率后安装程序将测试X Window如果你的选择正常的话那么你可以看到漂亮的X Window那你也就可以轻松地按OK表示确定

按下OK按钮后安装程序会询问你的Linux系统是否一启动就进入X Window默认为是不过我是不喜欢在此选择了NO这样启动Linux后将进入字符状态需要X Window时再执行startx命令手动启动

7

好到此大功告成Red Hat Linux 7.1将提示你取出光盘重新启动电脑带着小红帽子的企鹅落户你家了

注Red Hat Linux 7.1在第一次启动时将会自己运行一个叫Kudzu的程序用来完成一些硬件添加操作通常是网卡和声卡操作十分简单你只需选择Configure按钮系统会帮助你完成这些硬件的配置工作

2.3 其它安装方式简介

如果你没有光驱的话那么你还可以通过以下几种方式来完成安装 1 从FTP站点安装 2 从NFS服务器安装 3 从SMB共享卷安装 4 从硬盘安装 1.制作Linux启动盘

如果采用这些安装方式那你首先得制作两张Linux启动盘

1) 在安装光盘上找到LINUX启动盘的映象文件/images目录下的boot.img启动盘和supp.img扩展盘这两个文件

2从/images/install或/dosutils目录中找到制作映象盘的工具RAWRITE.EXE 3将映象文件和RAWRITE.EXE拷入同一目录然后在DOS命令行下执行RAWRITE:

C:linst>RAWRITE

Enter disk image source file name:在这里输入映象文件名 Enter target diskette drive:在这里输入目标盘符如A 2.从FTP站点安装

要使用这种方式安装必须满足以下条件之一

1 你的机器与存放着安装盘的FTP服务器以局域网形式相连 2 在你的局域网的FTP服务器上有安装盘

要注意你的FTP服务器必须支持长文件名才可能成功安装你需要使用Linux的启动盘和扩展盘启动并配置有效的域名服务器或指定FTP服务器的IP地址进行安装 3.从NFS服务器安装

如果在你的局域网中有一台NFS服务器的话你可以将安装盘复制到NFS服务器上然后用Linux的启动盘启动访问NFS服务器进行安装同样的这也需要NFS服务器能够支持长文件名

4.从SMB共享卷安装

将安装盘放到一个支持共享卷的Windows 9x/NT/2000服务器上然后使用Linux启动盘与扩展盘启动通过访问共享卷中的安装盘实现安装 5.从硬盘安装

这种方式适合于从网上下载了安装盘的用户首先你可以将Red Hat Linux包文件拷贝到您的硬盘

1 所有的文件都要放在一个硬盘分区上 2 将所有的内容放在RedHat目录下

3 然后将要安装的包拷贝到另一个子目录RPMS

接着就可以使用Linux的启动盘与扩展盘启动进行系统安装

8

第3章Red Hat Linux 7.1使用基础 3.1 登录和退出系统

1. 启动系统

通常LILO是安装在MBR上的计算机启动后MBR上的程序被执行将出现一个不是很漂亮的图形左边是一个小红帽图像右边列出了可以启动的操作系统你可以使用键盘箭头切换刚安装好后默认值是Linux也就是你不选择一会儿将自己启动Linux

如果你想默认的选择是Windows的话那你可以在启动Linux后用vi修改/etc目录下的lilo.conf文件加上default=windows然后再执行/sbin/lilo重新生成LILO

2. 用户登录

Linux是一个真正意义上的多用户操作系统用户要使用该系统首先必须登录使用完系统后必须退出用户登录系统时为了使系统能够识别该用户必须输入用户名和密码经系统验证无误后才可以登录系统使用 Linux下有两种用户

1 root用户超级权限者系统的拥有者在Linux系统中有且只有一个root用户它可以在系统中任何操作在系统安装时所设定的密码就是root用户的密码

2 普通用户Linux系统可以创建许多普通用户并为其指定相应的权限使其有限地使用Linux系统

关于用户的管理我们将在后面详细说明 用户登录分两步进行

1 输入用户的登录名系统根据该登录名来识别用户

2 输入用户的口令该口令是用户自己选择的一个字符串对其他用户完全保密是登录系统时识别用户的唯一根据因此每一个用户都应该保护好自己的口令

系统在建立之初仅有root用户其它的用户则是由root用户创建的由于root用户的权限太大了所以如果root用户误操作将可能造成很大的损失所以建议系统管理员为自已新建一个用户只有需要做系统维护管理任务时才以root用户登录 下面就是一个登录实例其中黑体字为输入 Red Hat Linux release 7.1 (Seawolf) Kernerl 2.4.2-2 on an i686 Home login:root Password:

在上面的例子中我们发现在Password后面是空的其实并不是不输入密码而是在输入时Linux系统不会把它显示出来这样用来保护密码

如果登录成功的话我们将获得ShellShell是用来与用户交互的程序它就象DOS中的COMMAND.COM不过在Linux下可以有多种Shell供选择如bashcshksh等提示符如果以root用户登录的话那么获得的提示符是#否则将是$

提示如果当时在安装时设置为一启动就进入图形界面的话那系统启动后用户登录界面将是图形化的有点象Windows而且当你输入正确的用户名与密码就会直接进入X Window这个设置是可以修改的

在/etc目录下有一个inittab文件其中有一行配置 id:3:default

其中数字3就是代表一启动进入字符终端如果改为5则代表一启动进入X Window

9

3. 修改口令

为了更好地保护用户帐号的安全Linux允许用户在登录之后随时使用passwd命令修改自己的口令修改口令需要经历

1 输入原来的口令如果口令输错将中止程序无法修改口令 2 输入新的口令

3 提示重复一遍新的口令如果两次输入的口令相吻合则口令修改成功

需要注意的是Red Hat Linux 7.1为了更好地保护口令如果你输入的新口令过于简单它将会拒绝修改下面就是一个修改口令的实例其中黑体字为输入 $ passwd

Changing password for user1

(current) UNIX password: ß 在些输入原来的密码 New UNIX password: ß 输入新的密码

Retype new UNIX password: ß 再输入一遍新的密码

Passwd:all authentication tokens updated successfully ß 修改成功 注意在这里输入的口令同样不会显示出来

而如果是root用户修改口令则不需要输入老密码也就是说它可以修改任何用户的口令

4. 退出登录

不论你是root用户还是普通用户只需简单地执行exit命令就可以退出登录

5. 关闭机器

在Linux系统中普通用户是无权关闭系统的只有root用户才能够关闭它当然如果你是按关机按钮则别当别论我们可以通过以下几种方法实现 1 按下CTRL+ALT+DEL组合键这样系统将重新启动 2 执行reboot命令这样系统也将重新启动

3 执行shutdown -h now命令这样系统将关闭计算机 4 执行halt命令可以关闭计算机

注意千万不要随意采用硬关机重启动键等方式关闭系统那样会导致Linux文件系统遭受破坏

6. 虚拟控制台

Linux是真正的多用户操作系统可以同时接受多个用户的远程和本地登录也允许同一个用户多次登录Linux为本地用户也就是做在计算机面前的用户提供了虚拟控制台访问方式允许用户在同一时间从不同的控制台进行多次登录

虚拟控制台的选择可以通过按ALT键加上F1-F6六个功能键来实现例如用户登录后按一下ALT+F2组合键用户又可以看到login:提示符这其实就是第二个虚拟控制台而这时再按下ALT+F1组合键用户则又可以回到第一个虚拟控制台

大家可以通过使用虚拟控制台来感受Linux系统多用户的特性例如用户可以在某一虚拟控制台上进行的工作尚未结束时就可以切换到另一个虚拟控制台上开始另一项工作例如在开发软件时可以在一个控制台上编辑程序在另一个控制台上进行编译在第三个控制台上查阅信息

3.2 文件与目录操作

10

与其它操作系统一样在Linux系统下用户的数据和程序也是以文件的形式保存的所以在使用Linux的过程中是经常要对文件与目录进行操作的现在我们就以一个Window用户的立场来学习一下Linux下的文件与目录操作方法

1. 文件名与文件类型

文件名是一个文件的标识从这个角度来说文件名的规则与Windows 9x下的是基本上相同的它同样是由字母数字下划线圆点组成最大的长度是255个字符

与Windows 9x一样Linux系统中也有普通文件和目录文件不过目录文件在Window中被简称为目录就是了而在Linux系统中有一种特殊的文件那就是设备文件在Linux系统中把每一个I/O设置都映射成为一个文件可以象普通文件一样处理这就使得文件与设备的操作尽可能统一从用户的用户来说对I/O设备的使用和一般文件的使用几乎一样这样就可以不必了解I/O设备的细节

2. 目录结构

与Windows下一样在Linux中也是通过目录来组织文件的但不同的是在Linux下只有一个根目录而不象Windows那样一个分区一个根目录如果有多个分区的话就需要将其它分区mount到根目录上来用

大家回忆一下当时为Linux分区时有一个选项要填那就是Mount Point我们将其中一个写成了/也就是根目录这点与Windows相反一个是\\一个是/真是天生冤家其它的则可能是/home/usr

安装完系统后你会发现/home/usr就是根目录下面的homeusr目录对了整个分区就用于该目录了

安装完Linux后有许许多多的目录下面我们就说明一些重要的目录 /bin存放着一百多个Linux下常用的命令工具 /dev存放着Linux下所有的设备文件

/home用户主目录每建一个用户就会在这里新建一个与用户同名的目录给该用户一个自己的空间

/lost+found顾名思义一些丢失的文件可能可以在这里找到

/mnt外部设备的挂接点通常用cdrom与floppy两个子目录它的存在简化了光盘与软盘的使用你只需在塞入光盘后运行mount /mnt/cdrom就可以将光盘上的内容Mount到/mnt/cdrom上你就可以访问了不过你使用完成后应该离开该目录并执行umount /mnt/cdrom同样的软盘就是mount /mnt/floppy和umount /mnt/floppy了 /proc这其实是一个假的目录通过这里你可以访问到内存里的内容 /sbin这里存放着系统级的命令与工具 /usr通常用来安装各种软件的地方 /usr/X11R6 X Window目录

/usr/bin与/usr/sbin 一些后安装的命令与工具

/usr/include/usr/lib及/usr/share 则是存放一些共享链接库 /usr/local 常用来安装新软件 /usr/src Linux源程序

/bootLinux就是从这里启动的

/etc这里存放在Linux大部分的配置文件 /lib静态链接库

/rootroot用户的主目录这就是之一

11

/var通常用来存放一些变化中的东西 /var/log存放系统日志

/var/spool存放一些邮件新闻打印队列等 另外要说明的是在Linux下当前目录路径等概念与Windows下是一样的 3. 显示文件内容

使用过DOS命令的人都应该知道我们可以使用type命令来查看一个文件的内容在Linux下有五个相关的命令功能各有千秋不过它们都象type命令一样只能用来查看文本文件

1 cat命令

cat命令是最象type命令的使用的方法很简单cat 文件名不过比type命令更强大的是它可以同时查看多个文件cat 文件名一 文件名二 2 more命令

如果文本文件比较长一屏无法显示完那么使用cat命令就可能无法看清这里我们可以简单地使用more来代替cat命令即可其效果与type 文件名/p类似使用more命令将一次显示一屏文本显示满后停下来并提示出已显示全部内容的百分比按空格键就可以看到下一屏 3 less命令

less命令的功能几乎和more命令一样也是按页显示文件不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件 Ø 向前翻按b键 Ø 向后翻按p键 Ø 指定位置输入百分比 Ø 退出q

我经常使用more和less几乎不使用cat查看文件 4 head命令

通过head命令可以仅查看某文件的前几行格式为 head 行数 文件名

如果未指定行数则使用默认值10 5 tail命令

与head命令相对应的我们可以使用tail命令来查看文件尾部的内容通常用来实时监测某个文件是否被修改通常用来观察日志如 tail -f maillog

4. 编辑文件

在Red Hat Linux 7中有许多文字编辑工具其中最常用的应该是vi这是一个广泛应用于所有UNIX系统的编辑器它的使用有些特别 首先可以使用命令vi 文件名打开一个文件

刚启动的时候vi处于命令状态不能够输入任何字符在这个状态下可以使用方向键进行移动而需要输入内容时你需要输入i或a命令进入编辑状态编辑完成后你需要按下ESC键回到命令状态

在命令状态下你可以输入:q!不存盘退出输入:wq存盘退出

5. 文件的复制删除与移动

大家都早已熟知在DOS下我们可以使用copydelmove命令来实现文件的复制删

12

除与移动下面我们说说如何在Linux系统中做以上操作 1 cp命令文件/目录复制命令

它的语法格式为cp [选项] 源文件或目录 目标文件或目录 常用的选项有

Ø a 该选项常在复制目录时使用它保留链接文件属性并递归地复制目录就象DOS中的xcopy /s一样

Ø f 如果目标文件或目录已存在就覆盖它并且不做提示

Ø i 与f选项正好相反它在覆盖时会让用户回答Y来确认 Ø p 使用该选项复制文件时将保留修改时间和访问权限

Ø r 若给出的源是一个目录那么cp将递归复制该目录下所有的子目录和文件不过这要求目标也是一个目录名

另外大家要注意的是如果源是文件名目标是目录名的话那么使用cp命令可以指定多个源文件名如

$ cp a.txt b.txt /home/user1

该命令将把a.txt和b.txt文件复制到/home/usr1目录中 2 rm命令文件/目录删除命令 它的语法格式为rm [选项] 文件 常用的选项有

Ø f 在删除过程中不给任何指示直接删除

Ø r 指示rm将参数中列出的全部目录和子目录都递归地删除 Ø i 交互式的删除每个文件在删除时都给出提示

使用rm命令时一定要小心特别是以root用户登录时我就看到过一个朋友在使用rm命令删除/home/tmp目录时将命令rm -rf /home/tmp误输成了 rm -rf / home/tmp结果等他走回电脑面前整个系统都被删除了 3 mv命令文件/目录移动命令

它的语法格式为mv [选项] 源文件或目录 目标文件或目录 常用的选项有

Ø f 如果操作要覆盖某已有的目标文件时不给任何指示

Ø i 交互式的操作如果操作要覆盖某已有的目标文件时会询问用户是否覆盖 mv命令的执行效果与参数类型的不同而不同 第一参数源 第二个参数目标 结果 文件名 文件名 将源文件名改为目标文件名 文件名 目录名 将文件移动到目标目录

目录名 目录名 目标目录已存在源目录移动到目标目录 目标目录不存在改名 目录名 文件名 出错

6. 目录相关操作

1 创建新目录mkdir它的使用与DOS下的md相同mkdir 目录名 2 删除空目录rmdir它的使用与DOS下的rd相同rmdir 目录名

3 改变目录cd它的使用与DOS下的cd命令基本相同唯一一个不同的是不管目录名是什么cd与目录名之间必须有空格也就是cd/cd..cd.都是非法的而应该输入cd /cd ..cd .如果直接输入命令cd而不加任何参数将回到这个用户的主目录

13

4 显示当前目录pwd

5 列目录命令ls相当于DOS下的dir 它的语法为ls [选项] [目录或文件] 常用的选项有

Ø a 显示指定目录下所有的子目录与文件包括隐藏文件 Ø c 按文件的修改时间排序

Ø l 采用长格式来显示文件的详细信息每个文件一行信息其内容为文件类型与权限 链接数 文件属主 文件属组 文件大小 最近修改时间 文件名

7. 文件与目录的权限操作

在Linux系统中每一个文件和目录都有相应的访问许可权限我们可以用它来确定谁可以通过何种方式对文件和目录进行访问和操作文件或目录的访问权限分为可读可写和可执行三种分别以rwx表示其含义为 r w x

文件 可读 可写 可执行

目录 可列出目录 可在目录中做写操作 可以访问该目录

在文件被创建时文件所有者可以对该文件的权限进行设置

对于一个文件来说可以将用户分成三种并对其分别赋予不同的权限 1 文件所有者

2 与文件所有者同组用户 3 其它用户

每一个文件或目录的访问权限都有三组每组用三位表示如 d rwx r-x r--

第一部分这里的d代表目录其它的有- 代表普通文件 c 代表字符设备文件 第二部分文件所有者的权限字这里为r w x表示可读可写可执行 (目录的可执行指的可以进入目录)

第三部分与文件所有者同组的用户的权限字这里为r - x表示可读不可写可执行由于同组用户之间交流较多让他看看文件别乱改就行了嘛

第四部分其它用户的权限字这里为- - -当然给我无关的人嘛我的文件当然不但不给你写也不让你读

1 文件/目录权限设置命令chmod

这是Linux系统管理员最常用到的命令之一它用于改变文件或目录的访问权限该命令有两种用法

Ø 用包含字母和操作符表达式的文字设定法

其语法格式为chmod [who] [opt] [mode] 文件/目录名 其中who表示对象是以下字母中的一个或组合 u表示文件所有者 g表示同组用户 o表示其它用户 a表示所有用户

opt则是代表操作可以为 +添加某个权限 -取消某个权限

=赋予给定的权限并取消原有的权限

14

而mode则代表权限 r可读 w可写 x可执行

例如为同组用户增加对文件a.txt的读写权限 chmod g+rw a.txt Ø 用数字设定法

而数字设定法则更为简单chmod [mode] 文件名

关键是mode的取值一开始许多初学者会被搞糊涂其实很简单我们将rwx看成二进制数如果有则有1表示没有则有0表示那么rwx r-x r--则可以表示成为 111 101 100

再将其每三位转换成为一个十进制数就是754 例如我们想让a.txt这个文件的权限为 自己 同组用户 其他用户 可读 是 是 是 可写 是 是 可执行

那么我们先根据上表得到权限串为rw-rw-r--那么转换成二进制数就是110 110 100再每三位转换成为一个十进制数就得到6因此我们执行命令 chmod 6 a.txt

2 改变文件的属主命令chown

语法格式很简单chown [选项] 用户名 文件/目录名 其中最常用的选项是R加上这个参数可以将整个目录里的所有子目录和文件的属主都改变成指定用户

3 改变文件属组命令chgrp

该命令也很简单chgrp 组名 文件名 3.3 用户管理

用户管理主要的工作就是建立一个合法的用户帐户设置和管理用户的密码修改用户帐户的属性以及在必要时删除已经废弃的用户帐号

1. 增加一个新用户

在Linux系统中只有root用户才能够创建一个新用户如下的命令将新建一个登录名user1的用户

# useradd user1

但是这个用户还不能够登录因为还没给它设置初始密码而没有密码的用户是不能够登录系统的在默认情况下将会在/home目录下新建一个与用户名相同的用户主目录如果需要另外指定用户主目录的话那么可以使用如下命令 # useradd -d /home/xf user1

同时该用户登录时将获得一个Shell程序/bin/bash而假如你不想让这个用户登录也就可以指定该用户的Shell程序为/bin/false这样该用户即使登录也不能够执行Linux下的命令

# useradd -s /bin/false user1

在Linux中新增一个用户的同时会创建一个新组这个组与该用户同名而这个用户

15

就是该组的成员如果你想让新的用户归属于一个已经存在的组则可以使用如下命令 # useradd -g user user1

这样该用户就属于user组的一员了而如果只是想让其再属于一个组那么应该使用 # useradd -G user user1

完成了这一操作后你还应该使用passwd命令为其设置一个初始密码

2. 删除一个用户

删除用户只需使用一个简单的命令userdel 用户名即可不过最好将它留在系统上的文件也删除掉你可以使用userdel -r 用户名来实现这一目的

3. 修改用户属性

在前面我们看到了在新建一个用户的时候如何指定它的用户主目录如何指定它的Shell如何设置它所属的组等等在Linux中提供了一个命令来实现 usermod -g组名 -G 组名 -d 用户主目录 -s 用户Shell

还有一种直接的方法那就是修改/etc/passwd文件在这个文件中每个用户占用一行它的内容为

用户名:密码:用户ID:组ID:用户全名:用户主目录:用户Shell

不过值得注意的是密码这一项通常是用一个*号代替的你是看不到的

4. 增加一个组

还记得Linux的文件可以为同组的人非同组的人设置不同的访问权限吗我们可以根据自己的需要创建用户组 groupadd 组名

5. 删除一个组

同样的我们有时会需要删除一个组它的命令就是groupdel 组名

6. 修改组成员

如果我们需要将一个用户加入一个组只需编辑/etc/group文件将用户名写到组名的后面例如将newuser用户加入到softdevelop组只需找到softdevelop这一行 softdevelop:x:506:user1,user2 然后在后面加上newuser形成

softdevelop:x:506:user1,user2,newuser

另外在Red Hat Linux中还提供一个图形化的用户管理工具userconf通过它可以更直接地进行用户管理

3.4 进程管理

Linux是一个多用户多任务的操作系统多用户是指多个用户可以在同一时间使用计算机系统多任务是指Linux可以同时执行几个任务它可以在还未执行完一个任务时又执行另一项任务

在Linux系统上所有运行的东西都可以称之为一个进程每个用户任务每个系统管理守护进程都可以称之为进程Linux用分时管理方法使用所有的任务共同分享系统资源下面我们就看一下如何控制这些进程

16

1. 启动进程

在Linux系统中有两种启动进程的方法 1 直接输入命令就将直接启动一个进程

Ø 在普通情况下进程将在前台执行这时我们无法再执行新的命令 Ø 如果我们在命令之后加上一个&那行进程将会放在后台执行我们仍然可以执行新的命令

2 通过atcroncrontab命令可以像Windows中的计划任务一样定时启动某个进程具体的使用方法大家可以使用man 命令名来查询

2. 查看进程

在Linux系统中我们可以使用ps命令来查看正在运行的进程例如 列出属于当前用户的进程 # ps

PID TTY TIME CMD 16767 pts/1 0:00 ps 18029 pts/1 0:00 bash

其中PID代表进程IDTTY是该进程是由哪个控制台启动的CMD则是命令 如果你想列出更详细的信息则可使用命令ps -auxw

3. 终止进程

一个进程在任务完成之后将会自动完成如果要中途中止该进程的话有两种方法 1 对于在前台运行的程序直接通过组合键CTRL+C就可以中止进程

2 而对于在后台运行的程序则需要通过前面介绍的ps命令找到它的进程号然后使用kill 进程号来终止该进程

3.5 磁盘管理

系统软件和应用软件都要以文件的形式存储在计算机的磁盘空间中做为系统管理员应随时监视磁盘空间的使用情况我们可以使用下面两个命令来实现

1. df命令

df就是Disk Free顾名思义就是检查磁盘上还剩下多少空间等信息下面是一个使用实例 # df

FileSystem 1k-blocks Used Available Use% Mounted on /dev/hda5 4134900 1749728 2175124 45% / /dev/hda6 6048320 5741092 0 100% /home 共显示了6列信息

1 FileSystem硬盘分区

2 1k-blocks按K计算的分区大小

3 Used已经使用的分区大小按K计算 4 Available还要用的分区大小

17

5 Use%已使用的空间所占百分比 6 Mounted on挂接点

可以看到/home是另一个分区现在空间已经用完了这都时当时没有规划好

如果对与以K为计算单位表示硬盘空间那么你可以使用df -m这样就会以M为计算单位

2. du命令

du就是disk usage就是看一下磁盘使用了多少下面就是一个使用实例 # pwd /var/log # du 4 ./uucp 776 .

在这里我们使用du命令列出了/var/log目录所占用的磁盘空间它统计出了该目录有一个子目录uucp占用了4K而/var/log目录下的文件则共有776K 该命令还有一些常用的选项用来完成更多的功能

Ø -a 将列出当前目录下所有的文件子目录子目录下的文件子目录下的子目录的磁盘占用情况

Ø -b 以字节为单位表示占用的磁盘空间 Ø -c 在最后显示出一个统计值 3.6 软件安装

在Red Hat Linux下应用软件的安装包通常有两种格式

1 rpm包如software-1.2.3-1.i386.rpm它是Redhat Linux创造的一种包封装格式 2 tar包如software-1.2.3-1.tar.gz它是使用UNIX系统的打包工具tar打包的 而且大多数Linux应用软件包的命名也有一定的规律它遵循 名称-版本-修正版-类型 例如

sfotware-1.2.3-1.i386.rpm 软件名称software 版本号1.2.3 修正版本1

可用平台i386适用于Intel 80x86平台 类型rpm说明是一个rpm包

根据Linux应用程序软件安装包中的内容不同可以分为

1 是可执行文件也就是解开包后就可以直接运行的在Windows中所有的软件包都是这种类型安装完这个程序后你就可以使用不过下载时要注意这个软件是否是你所使用的平台否则将无法正常安装

2 另一种则是源程序也就解开包后你还需要使用编译器将其编译成为可执行文件 这在Windows系统中是几乎没有的因为Windows的思想是不开放源程序的 通常用tar打包的都是源程序而用rpm打包的则常是可执行程序

1.搞定使用rpm打包的应用软件

rpm可谓是Redhat公司的一大贡献它使Linux的软件安装工作变得更加简单容易

18

1 安装

我只需简单的一句话就可以说完执行 rpm -ivh rpm软件包名 更高级的请见下表 rpm参数 参数说明 -i 安装软件

-t 测试安装不是真的安装 -p 显示安装进度 -f 不管任何错误 -U 升级安装

-v 检测套件是否正确安装

这些参数可以同时采用更多的内容可以参考RPM的命令帮助 2 卸载

我同样只需简单的一句话就可以说完执行 rpm -e 软件名

不过要注意的是后面使用的是软件名而不是软件包名例如要安装software-1.2. 3-1.i386.rpm这个包时应执行 rpm -ivh software-1.2.3-1.i386.rpm 而当卸载时则应执行 rpm -e software

2 搞定使用tar打包的应用软件 1 安装

整个安装过程可以分为以下几步

Ø 取得应用软件通过下载购买光盘的方法获得

Ø 解压缩文件一般tar包都会再做一次压缩如gzipbz2等所以你需要先解压如果是最常见的gz格式则可以执行tar -xvzf 软件包名就可以一步完成解压与解包工作如果不是则先用解压软件再执行tar -xvf 解压后的tar包进行解包 Ø 阅读附带的INSTALL文件README文件 Ø 执行./configure命令为编译做好准备 Ø 执行make命令进行软件编译 Ø 执行make install完成安装

Ø 执行make clean删除安装时产生的临时文件

好了到此大功告成我们就可以运行应用程序了但这时有的读者就会问我怎么执行呢这也是一个Linux特色的问题其实一般来说Linux的应用软件的可执行文件会存放在/usr/local/bin目录下不过这并不是放四海皆准的真理最可靠的还是看这个软件的INSTALL和README文件一般都会有说明 2 卸载

通常软件的开发者很少考虑到如何卸载自己的软件而tar又仅是完成打包的工作所以并没有提供良好的卸载方法一般都提供 make uninstall 来卸载软件的

第4章. X Window桌面系统

4.1 X windows简介

19

要想成为一套优秀的操作系统除了性能稳定功能齐全之外还应该拥有一个友好的操作系统否则只会呆在研究室里难以普及

在UNIX系统下大多都是采用X Window做为图形界面的1984年麻省理工学院与DEC制定了Athena计划这就是X Window 第一个版本1988年1月成立了一个非盈利性的X联盟负责制定X Window的标准在Linux出现后Xfree86 Project Inc.基于Linux实现了一个开源的X Window系统XFree86

X Window与其他的图形界面系统相比有几个特点

Ø 良好的网络支持X Window采用了C/S网络结构程序间可以通过网络来通信而且有良好的网络透明性也就是说用户不需知道程序在使用远端主机资源

Ø 个性化的窗口界面X Window并未对窗口界面作统一性的规范程序员可以根据需求自行设计其中最有名的就是后面要介绍的GNOME与KDE

Ø 不内嵌于操作系统X Window只定义了一个标准而不属于某个操作系统因此可在不同的操作系统上运行相同的X Window软件 整个X Window由三个部分组成

Ø X Server主要是控制输出及输入设备的程序并维护相关资源它接收输入设备的信息并将其传给X Client而将X Client传来的信息输出到屏幕上所以不同的显卡就需要选择不同的X Server在配置X Window时最主要的就是配置X Server

Ø X Client它才是应用程序的核心部分它是与硬件无关的每个应用程序就是一个X Client

Ø X protocolX Client与X Server之间的通信语言就是X protocol

为了使得X Window更加易于使用各个不同的公司与组织都针对其做了许多集成桌面环境如AIX上的CDESUN的OpenServer而在Linux下则主要是GNOME与KDE的双雄会下面我们就一起来了解一下它们

4.2 GNOME简介

GNOME最初是由墨西哥的程序设计师Miguel De Icazq发起的它受到了Red Hat公司的大力支持它现在属于GNUGNU is Not UNIX计划的一部分主要目的是希望能够为用户提供一个完整易学易用的桌面环境并为程序设计师提供强大的应用程序开发环境

1997年8 月为了克服KDE所遇到的QT许可协议和单一C++依赖的困难以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目完全从头开始这就是GNOME经过14个月的共同努力终于完成了这个工程现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持拥有了大量应用软件包括文字处理软件Go电子表格软件Gnumeric日历程序GNOMEcal堪与PhotoShop 媲美的图形图像处理软件Gimp等

现在GNOME与KDE成为了两大竞争阵营必将使得Linux更加易于使用 GNOME中还提供了大量的应用软件它们都放在GNOME的开始一个小脚丫à Programs中包括了许许多多的应用软件下面就是其中的一些 1. Applications应用软件

1 Dia一个工程图编辑器适用于绘制电路图 2 Calendar一个集日历与日程表于一身的好工具 3 Address Book一个通讯录

4 GEdit一个功能类似于Windows下的记事本的文本编辑器 5 GnumericLinux下的一个类似于EXCEL的电子表格软件

20

6 Time tracking tools一个用于提醒时间的小工具

2. Games游戏软件

1 Gnome MilnesGNOME下的扫雷 2 Gnibbles贪吃蛇游戏

3 FreecellWindows下的空当接龙游戏 3. Graphics图形处理软件

1 Electric Eyes一个十分优秀的图形处理软件可谓GNOME下的AcdSee呀 2 XPDF一个在Linux阅读PDF文档的工具

3 The Gimp一个十分优秀的绘图软件与Photoshop很象 4. InternetInternet应用软件

1 Dialup Configuration Tool一个界面十分友好的拔号上网设置工具 2 gFTP一个FTP客户端

3 pine一个E-Mail客户端软件

4 Netscape 大名鼎鼎的浏览器软件被微软从Windows平台挤下来的 5 RH Network monitor网络流量显示 5. Multimedia多媒体软件 1 Audio Mixer声音控制器 2 CD PlayerCD播放器

3 XMMS与Winamp是一个模子里出来的

4.3 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前功尽弃 在KDE中也有许许多的应用软件它们被分组放在开始一个K字菜单中说实在的我感觉KDE的软件应用比GNOME更多图形界面也更好 1. Office办公软件

这就是大名鼎鼎的Koffice套件 1 Kword字处理软件

2 Kspread象Excel的电子表格处理软件

3 Kpresenter一个类似于PowerPoint的演示软件 4 Kchart一个电子图表软件 5 Kiiiustrator一个电子出版软件

2. Develop开发工具

1 Kdevelop一个KDE下的集成开发环境

21

3. Applications应用软件

1 Advanced Editor一个增强型的文本编辑软件

2 Emacs这是一个功能强大的编辑软件在GNOME中也有它的原形是字符终端下的Emacs

3 Organizer一个日程安排软件

4. InternetInternet软件

1 Kppp一个十分友好的拔号上网配置工具

2 Kmail一个十分漂亮的Email 客户端有点象Outlook 3 Chat Client一个IRC客户端 4 KPPPLoad一个网络流量工具

5 Netscape大名鼎鼎的WEB浏览器在GNOME中也有集成

4.4 使用窗口管理器

Red Hat Linux 7.1默认安装后X Window将使用GNOME做为窗口管理器除非你在安装时将GNOME去掉而选择了KDE包通常我们可以将这两个包都安装上到使用的时候再选择

1 在字符终端下执行以下命令则以后X Window的窗口管理器都成了KDE # switchdesk KDE

2 如果你又不想使用KDE了则可以使用以下命令转回GNOME # switchdesk GNOME

4.5 汉化Red Hat Linux 7.1 1.安装 TrueType 字体

要在系统里使用中文TrueType字体,最好先禁用xfs字体服务器, xfs在启动时会自动更新字体目录下的fonts.dir文件这样会影响到我们所作的修改

以root身份登陆然后执行setup工具在Service中关闭xfs 1修改XF86Config-4 配置文件

进入/etc/X11目录用vi编辑XF86Config-4文件如下进行相应的修改

Section \"Files\"

# FontPath \"unix/:7100\" ;注释掉这一行,加入下面的几行 FontPath \"/usr/X11R6/lib/X11/fonts/misc:unscaled\" FontPath \"/usr/X11R6/lib/X11/fonts/75dpi:unscaled\" FontPath \"/usr/X11R6/lib/X11/fonts/100dpi:unscaled\" FontPath \"/usr/X11R6/lib/X11/fonts/misc\" FontPath \"/usr/X11R6/lib/X11/fonts/Type1\" FontPath \"/usr/X11R6/lib/X11/fonts/Speedo\" FontPath \"/usr/X11R6/lib/X11/fonts/75dpi\" FontPath \"/usr/X11R6/lib/X11/fonts/100dpi\" FontPath \"/usr/X11r6/lib/X11/fonts/TrueType\" EndSection

Section \"Module\"

Load \"dbe\" # Double-buffering

22

Load \"GLcore\" # OpenGL support

Load \"dri\" # Direct rendering infrastructure Load \"glx\" # OpenGL X protocol interface Load \"extmod\" # Misc. required extensions Load \"v4l\" # Video4Linux Load \"xtt\" ;加入这一行 EndSection

2获取字体文件simsun.ttf

新建一个目录/usr/X11R6/lib/X11/fonts/TrueType 然后将Windows所在的分区mount上来然后将simsum.ttf复制到该目录 3生成字体列表

cd /usr/X11R6/lib/X11/fonts/TrueType # ttmkfdir>fonts.dir

# vi fonts.dir 修改字体列表文件,使其与下面类似

simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0

simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1

simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-koi8-r #cp fonts.dir fonts.scale 4修改 gtk 的字体定义 # vi /etc/gtk/gtkrc.zh_CN 修改后的内容如下:

style \"gtk-default-zh-cn\" {

fontset = \"-misc-SimSun-medium-r-normal--14-*-*-*-*-*-*-*\" }

class \"GtkWidget\" style \"gtk-default-zh-cn\"

2.安装中文输入法Chinput 3.0.1 1首先下载以下几个软件包 Chinput-3.0.1-1.i386.rpm pth-1.3.7-3.i386.rpm unicon2-im.tar.gz 2然后安装

# rpm -ivh pth-1.3.7-3.i386.rpm

# rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps # cp unicon2-im.tar.gz /usr/lib # cd /usr/lib

# tar vfxz unicon2-im.tar.gz # rm unicon2-im.tar.gz

# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3 3修改Chinput的一些配置 # cd /usr/lib/ZWinPro

# vi Chinput.ad 修改以下几个地方

23

...

chinput.gblocale=zh_CN.gb2312 chinput.big5locale=zh_CN.gb2312 ...

chinput.gbfont=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0 chinput.big5font=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0 ...

(注意:在这个文件里不能出现空格,只能用 Tab 代替) 4修改~/.bashrc文件新增以下几行 export LC_ALL=zh_CN.GB2312 export LANG=zh_CN.GB2312

export XMODIFIERS=@im=Chinput

3.汉化 GNOME

重启后执行startx时你在GNOME中就可以显示中文了紧接着你可以通过在Program->设定->Session->Startup Programs里面把chinput加入启动运行程序里面就完成了 GNOME的中文环境和输入法的安装了

4.汉化 KDE

如果是KDE系统则打开 Preferences->Personalization->Country & Language选择中文再打开 Look & Feel->Fonts选择相应的字体并把字符集改成gb2312.1980-0最后再打开桌面上的 Autostart 目录,新建一个应用程序( Chinput )的连接以后每次启动后就可以使用中文输入法了.

第5章网络应用

5.1 常用网络命令

在Red Hat Linux 7.1系统提供了与网络相关的工具掌握好这些工具是十分必要的

第一类设置工具 1.netconf

netconf是Red Hat Linux提供的Linuxconf的一部分主要用于设置与网络相关的参数它可以在consle下运行文本菜单也可以在X-Window中运行图形界面在前面我们介绍过了netconf的一些应用它的使用比较简单只要认识上面的英文就可以了所以在此就不再多说BTW如果你设置好了X-Window的话用用图形界面的netconf会更漂亮的哟 2.ifconfig

ifconfig是Linux系统中最常用的一个用来显示和设置网络设备的工具其中if是interface的缩写它可以用来设备网卡的状态或是显示当前的设置 下面我们简单地说明常用的命令组合

1 将第一块网卡的IP地址设置为192.168.0.1

ifconfig eth0 192.168.0.1 格式ifconfig 网络设备名 IP地址 2 暂时关闭或启用网卡

关闭第一块网卡ifconfig eth0 down

24

启用第一块网卡ifconfig eth0 up

3 将第一块网卡的子网掩码设置为255.255.255.0

ifconfig eth0 netmask 255.255.255.0格式ifconfig 网络设备名 netmask 子网掩码 我们也可以同时设置IP地址和子网掩码

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 4 将第一块网卡的广播地址设置为192.168.0.255 ifconfig eth0 -broadcast 192.168.0.255

5 将第一块网卡设置为不接收多播数据包 ifconifg eth0 allmulti

如果要让其接收则使用命令ifconfig eth0 -allmulti 6 查看第一块网卡的状态 ifconfig eth0

如果要查看所有的网卡状态则直接使用不带参数的ifconfig命令即可 ifconfig输出的状态信息是十分有用的下面我们就简单说明一下 有几个状态比较重要

Ø UP/DOWN网卡是否启动了如果是DOWN的话那肯定无法用的 Ø RX packets中的errors包的数量如果过大说明网卡在接收时有问题 Ø TX packets中的errors包的数量如果过大说明网卡在发送时有问题 3.route

route命令是用来查看和设置Linux系统的路由信息以实现与其它网络的通讯要实现两个不同的子网之间的网络通讯需要一台连接两个网络路由器或者同时位于两个网络的网关来实现

在Linux系统中我们通常设置路由是为了解决以下问题该Linux机器在一个局域网中局域网中有一个网关能够让你的机器访问Internet那么我们就需要将这台机器的IP地址设置为Linux机器的默认路由 1 增加一个默认路由

route add 0.0.0.0 gw 网关地址 2 删除一个默认路由

route del 0.0.0.0 gw 网关地址 3 显示出当前路由表 route

第二类诊断工具 1.ping

ping是一个最常用的检测是否能够与远端机器建立网络通讯连接它是通过Internet控制报文协议ICMP来实现的而现在有些主机对ICMP进行过滤在这种特殊的情况下有可能使得一些主机Ping不通但能够建立网络连接这是一种特例在此事先说明 同样的在此不罗列ping命令的所有可选参数而是通过实例来说明一些常用的组合需要更详细地了解的可以通过www.linuxaid.com.cn网站在线培训的命令查询工具获得 1 检测与某机器的连接是否正常 ping 192.168.0.1

ping www.linuxaid.com.cn

也就是说我们可以用IP地址或域名来指定机器 2 指定ping回应次数为4

在Linux下如果你不指定回应次数ping命令将一直不断地向远方机器发送ICMP信

25

息我们可以通过-c参数来限定ping -c 4 192.168.0.1 3 通过特定的网卡进行ping

有时我们需要检测某块网卡系统中有多块能否ping通远方机器我们需要在执行ping命令时指出

ping -I eth0 192.168.0.1 2.traceroute

如果你ping不通远方的机器想知道是在什么地方出的问题或者你想知道你的信息到远方机器都经过了哪些路由器可以使用traceroute命令顾名思义trace是跟踪route是路由也就是跟踪路由 使用这个命令很简单

traceroute 远程主机IP地址或域名 这个命令的输出类似

1 路由器网关的IP地址 访问所需时间1 访问所需时间2 访问所需时间3 2 路由器网关的IP地址 访问所需时间1 访问所需时间2 访问所需时间3 ………

1 最前面的数字代表经过第几站

2 路由器网关的IP地址就是该站的IP地址

3 访问所需时间123是指访问到这个路由器网关需要的时间

3.netstat

在Linux系统中提供了一个功能十分强大的查看网络状态的工具netstat它可以让您得知整个Linux系统的网络情况

1统计出各网络设备传送接收数据包的情况 使用命令netstat -i

这个命令将输出一张表其中包括 Iface网络接口名 MTU最大传输单元

RX-OK共成功接收多少个包 RX-ERR接收的包有多少个错误包 RX-DRP接收时共丢失多少个包 RX-OVR共接收了多少个碰撞包 TX-OK共成功发送多少个包 TX-ERR发送的包有多少个错误包 TX-DRP发磅时共丢失多少个包 TX-OVR共接收了多少个碰撞包 2显示网络的统计信息 使用命令netstat -s

使用这个命令将会以摘要的形式统计出IPICMPTCPUDPTCPEXT形式的通信信息

3显示出TCP传输协议的网络连接情况 使用命令netstat -t

这个命令的输出也是一张表其中包括

Local Address本地地址格式是IP地址端口号 Foreign Address远程地址格式也是IP地址端口号

State连接状态包括LISTENESTABLISHEDTIME_WAIT等 4只显示出使用UDP的网络连接情况 使用命令netstat -t 输出格式也是一样的 5显示路由表

26

使用命令netstat -r

这个命令的输出与route命令的输出相同

5.2 网络配置文件

在Red Hat Linux 7.1中有一些用于存放网络配置的文件 1./etc/hosts

在该文件中存放的是一组IP地址与主机名的列表如果在该列表中指出某台主机的IP地址那么访问该主机时将无需进行DNS解析 2./etc/host.conf

该文件用来指定域名解析方法的顺序如 order hosts,bind

它说明首先通过/etc/hosts文件解析如果在该文件中没有相应的主机名与IP地址的对应关系再通过域名服务器bind进行解析 3./etc/resolv.conf

在该文件中存放域名服务器的IP地址 4./etc/protocols

Red Hat Linux 7.1系统使用该文件辨别本主机使用的并通过它完成协议和协议号之间的映射用户不应修改该文件 5./etc/services

该用户用于定义现有的网络服务用户无需修改它它通常由安装网络服务的程序来维护该文件包括网络服务名网络端口号和使用的协议类型其中网络端口号和使用的协议类型之间有一个斜杠分开在设置行的最后还可以添加一些服务的别名 5./etc/xinetd.d目录

在Linux系统中有一个超级服务程序inetd大部分的网络服务都是由它启动的如chargenechofingertalktelnetwu-ftpd等在7.0之间的版本它的设置是在/etc/inetd.conf中配置的在Red Hat 7.0后它就改成了一个xinetd.d目录

在xinetd.d目录中每一个服务都有一个相应的配置文件我们以telnet为例说明一下各个配置行的含义 service telnet {

socket_type=stream wait=no user=root

server=/usr/sbin/in.telnetd log_on_failure+=USERID disable=yes }

第一行说明该配置用来设置telnet服务

第二行说明Socket连接类型是stream也就是TCP 第三行是指不等待到启动完成

第四行是指以root用户启动服务进程

第五行是指服务进程是/usr/sbin/in.telnetd 第六行是用于做一些出错日志

第七行是指禁止远方telnet如果需要开放则将该配置改为disable=no

27

修改了xinetd的配置需要重启xinetd才能够生效有两种方法可以实现 1 执行如下命令

/etc/rc.d/init.d/xinetd restart 2 执行如下命令 killall -HUP xinetd

5.3 网络服务访问

在Red Hat Linux 7.1中加强了网络安全的防范如果你安装时安全等级不是在最低一级的话那么本机之外的所有访问都可能被拒绝这是因为在Red Hat 7.1中做了一些默认的ipchains设置这是Linux内置的防火墙机制它可以使用一些规则来允许或禁止某种访问

它的规则存放在/etc/sysconfig/ipchains文件中如果你想让它暂时不生效那你可以运行/etc/rc.d/init.d/ipchains stop那么所有的规则都被取消所有的网络访问都将被允许 你可以运行/etc/rc.d/init.d/ipchains status来获知现在对网络访问的关于这方面的知识本文限于篇幅无法详细介绍有兴趣的读者可参考Linux防火墙一书

5.4 WEB服务器

在Linux系统中最适合于做服务器的当数ApacheRed Hat Linux 7.1中集成了Apache 1.3.19版你只要在安装时选中WEB服务器那么系统将自动完成Apache服务器的安装在默认情况WWW服务就已经启动了

如果你在安装时没有选择WEB服务器包那也没有关系你只需执行以下命令即可 1 将Red Hat Linux 7.1安装光盘的第一张放入光驱然后执行如下命令 # mount /mnt/cdrom

2 转到apache安装文件所在目录 # cd /mnt/cdrom/RedHat/RPMS 3 使用RPM完成安装

# rpm -ivh apache-1.3.19-5.i386.rpm

现在你就已经拥有一个基于Linux的WEB服务器了它的配置文件位于/etc/httpd/conf目录下你可根据需要进行相应的修改修改完后执行/etc/rc.d/init.d/httpd restart即可而WEB服务的主目录则在/var/www/html目录下你可以将你的WEB页传到这里就可以更新了

而如果每一个用户都想要拥有一个自己的主页的话则 1 首先在自己的用户主目录下建一个public_html目录 # cd

# mkdir public_html

2 然后将自己的用户主目录的权限改为大家可读 # chmod 755 用户主目录

3 这样你就可以使用localhost/~用户名/访问到每个用户的主页了 5.5 FTP服务器

在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做为FTP服务器在你安装时只要选择了FTP包的话那么你的Linux服务器就是一台FTP服务器了如果当时没有安装的话也没有关系跟安装apache一样

1 将Red Hat Linux 7.1安装光盘的第一张放入光驱然后执行如下命令 # mount /mnt/cdrom

28

2转到wu-ftp安装文件所在目录 # cd /mnt/cdrom/RedHat/RPMS 3使用RPM完成安装

# rpm -ivh wu-ftp-2.6.1-16.i386.rpm

由于FTP服务是由xinetd超级服务器创建的所以关于FTP服务器的配置在/etc/xinetd.d目录下的wu-ftpd文件中 service ftp {

socket_type=stream wait=no user=root

server=/usr/sbin/in.ftpd server_args=-l -a

log_on_success+=DURATION USERID log_on_failure+=USERID nice=10 disable=no }

下面我们介绍一些关于FTP服务器的管理方法 1 暂时关闭FTP服务

有两种方法可以使FTP服务暂停 1 以root用户身份执行 # ftpshut now

这样就会在/etc目录下生成一个shutmsg的文件这时FTP服务器将无法使用直到你删掉这个文件

2 修改配置文件/etc/xinetd.d/wu-ftpd将disable=no改为disable=yes然后重启xinetd

2 禁止某用户使用FTP服务

有两种方法可以禁止某用户使用FTP服务器 1 在/etc/ftpuser中写入该用户帐号名 2 在/etc/ftpaccess中写入一行配置 deny-uid 用户名

用这种方法还可以禁止一个组的用户使用 deny-gid 组名

3 禁止匿名用户anonymous登录FTP服务器

有许多种方法可以实现但我觉得最简单有效的方法就是将anonymous写入配置文件 /etc/ftpuser中就可了

5.6 文件服务器

我们还可以使用Red Hat Linux 7.1内置的Samba为局域网内的Windows主机做文件服务器如果在安装系统时选择了SMB服务器软件包的话那么安装完以后Samba服务就已经Ready了

不过为了方便配置建议安装一下swat它提供了一个WEB界面的配置工具它的安装包是第二张光盘的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm

29

安装完以后它会在xinetd.d目录中新建一个swat文件其内容为 service swat {

port=901

socket_type=stream wait=no

only_from=127.0.0.1 server=/usr/sbin/swat log_on_failure+=USERID disable=yes }

我们看到disable的值是yes也就是说现在swat还没有启用因此我们需要将其改为disable=no然后重启xinted另外由于这里有一句 only_from=127.0.0.1

说明只能在本机使用swat而如果你想在Windows中用IE来配置的话请将这句注释掉或删掉

下面我们以设置一个大家都可以访问的homes目录为例说明SWAT的设置方法 1 打开IE浏览器在地址栏上输入Linux的主机名或IP以及:901例如 http://192.168.0.1:901

2 如果连接正常将出一个登录提示窗要求输入用户名与密码在此以root为用户名并输入root用户的密码再单击确定

3 如果输入无误将出现Samba的配置界面Swat的首页

我们可以看到在Swat界面中最上面有7个图标分别是HOME首页GLOBALS全局设置SHARES共享设置PRINTERS打印机STATUS状态VIEW查看PASSWORD密码

4 首先我们单击GLOBALS图标将出现GLOBALS设置页面其中我们对以下几项进行设置

Ø BaseOption à Workgroup在些输入工作组名如NetBIOS中的工作组名 Ø BaseOption à Netbios name主机名

Ø SecurityOption à Security选择安全等级在些选择SHARE

Ø SecurityOption à hosts allow允许的主机通常写入你的网络号如192.168.0. Ø SecurityOption à hosts deny如果你不让某台机器使用则写入它的IP地址 修改完后点击Commit Changes按钮在7个图标的下边一些保存设置 5 然后单击SHARES图标进行共享设置

第一步在Create Share按钮的右边文本框中输入要设置的共享名 第二步单击Create Share按钮

第三步确认BaseOptions à Path的值为你想共享的目录例如/home/smb/test注意这必须是已经存在的目录

第四步将SecurityOptions à writeable的值设置为Yes使该目录共享为可写 第五步将SecurityOptions à guest ok的值设置为Yes使该目录无需密码访问 第六步在SecurityOptionsàhosts allowhosts deny中设置相应的主机IP 第七步将BrowseOptionsàbrowseable设置为Yes使其便于使用 最后点击Commit Changes按钮保存设置

现在我们就可以在Windows 9x上通过网络邻居访问到这台Samba服务器并且有

30

一个可读可写的共享目录

在平时使用的时间系统管理员可以点击STATUS按钮切换到状态页面对其进行监测在这个页面上你可以 1 启动Start smbd按钮停止SambaStop Smbd按钮服务以及重启服务Restart smbd按钮

2 另外你可以看到当前与Samba服务器建立的连接Active Connections并且可以按下X按钮中止它的访问

3 同时你还可以检测到正在访问的文件夹Active Shares正打开的文件Open Files

Samba服务还可以对用户进行认证与Window NT域进行集成等强大的功能在些限于篇幅就不详细介绍有兴趣的读者可以参考实战Samba一书

31

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务