《网络操作系统——LINUX》教学大纲1
《网络操作系统——LINUX》教学大纲一、方案说明1.课程性质与教学目的本课程属于网络信息系统整体框架结构中网络支持系统中的内容,是保证网络信息系统正常运行的基础。本课程内容以LINUX为主,目的在于通过对网络操作系统的讲解,对网络操作系统的工作原理、体系结构、关键技术、典型应用的授课帮助学员建立网络操作系统的整体概念,使学员掌握网络操作系统,主要是LINUX的实际应用、系统管理及网络管理的基本技
·
《网络操作系统——LINUX》教学大纲
一、方案说明
1.课程性质与教学目的
本课程属于网络信息系统整体框架结构中网络支持系统中的内容,是保证网络信息系统正常运行的基础。本课程内容以LINUX为主,目的在于通过对网络操作系统的讲解,对网络操作系统的工作原理、体系结构、关键技术、典型应用的授课帮助学员建立网络操作系统的整体概念,使学员掌握网络操作系统,主要是LINUX的实际应用、系统管理及网络管理的基本技能。
2.总体教学要求
本课程内容主要包括LINUX的系统管理及网络管理两部分。建议任课老师对授课内容以形象生动的介绍为主,对技术内容的细节也应该做充分的讲解和演示,目的在于使学生完全掌握网络操作系统的整体概念,理解网络操作系统的工作原理以及实际应用方法。
二、教学时间安排
课程总学时:60学时
第一章 系统介绍 6学时
第二章 系统安装 6学时
第三章 使用LINUX 9学时
第四章 系统管理 9学时
第五章 建立Intranet/Internet服务 12学时
第六章 操作系统间集成 6学时
第七章 使用X Window系统 6学时
第八章 安全管理 6学时
第一章
授课内容:UNIX历史,UNIX主流产品介绍,LINUX历史,LINUX系统特点,主流LINUX版本,RED HAT LINUX优点
一、Linux概述
在Red Hat的300名工程师中,有6名来自于全世界最顶尖的10名Linux核心开发者,7名来自全球最出色10名Linux开发工具工程师。Red Hat的培训及认证被认为是Linux认证的标准。Certification杂志的最新调查显示,RHCE(Red Hat认证工程师)认证被公认为总体质量最高的国际IT认证
Linux的历史可以追溯到1990年,Linus Torvalds还是芬兰赫尔辛基大学的一名学生,最初用汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(用于操作系统教学、很小的Unix)中得到灵感,发誓要写一个比Minix更好的Minix,于是开始写了一些硬件的设备驱动程序、一个小的文件系统......,这样0.0.1版本的Linux就出来了,但是它必须在有Minix的机器上编译以后才能玩,这时候的Linus已经完全“走火入魔”了,决定踢开Minix“闹革命”,于是在1991年10月5号发布了Linux 0.0.2版本,这个版本已经可以运行bash(一种用户与操作系统内核通讯的软件)和gcc(GNU C编译器)了。
1.概念:Unix: 用于大型企业中,具有强大的网络功能。Linux: 是一个免费的支持多用户、多进程、多线程,实时性较好的、功能强大的类Unix操作系统(工作方式和UNIX一样)。
2.特点:
安全:具有防火墙功能,包过滤功能等。
稳定:
高效:可用于386以上的机器。
2.应用
科学计算
网络服务(主要功能)
应用软件
3.起源
1969年---1970年由汤姆逊(tompson)和里奇(ritchie)开发,1973年两人用C语言改编了UNIX--AT&T System5
与UNIX的共同特点:树型的文件结构,设备文件,shell等
创始者是芬兰赤尔辛基大学的 Linus torvalds,他用两个月的时间编写了LINUX的框架,包括磁盘驱动,小型文件系统,1991年开发出了0.0.1版,同年10月LINUX放在FTP上发布,每当出现新问题时,总有几十名黑客修补其中的错误
GNU,是Stall man在1984年发起的自由软件基金,其目标就是将UNIX加以改进写出一个新的OS,其核心是Hurd,GNU开发了一些类UNIX工具软件,如Emacs Gcc等,LINUX使用了自由软件基金的版权声明和大量的GNU软件
四.Linux 的优点
全32位的操作系统,386以上的机器支持。
多任务的OS可以同时执行多个程序
多用户的支持
和现今的UNIX,SystemV,BSD等主流的UNIX操作系统完全兼容,全都遵守posix的标准
内存管理: 1.虚拟内存 2.SWAP分区
支持其它系统:可以同时挂上许多系统的磁盘
漂亮的X视窗系统
支持的应用软件数目多,因为有许多人为Linux开发软件,而且都是免费的
五.Linux 的应用程序
文本和文字处理程序,VI,gedit
X Window,使用基础图形化用户界面
编程语言,可以使用多种编程和脚本语言
Internet工具 Netscape 浏览器,MOZILLA
数据库:mySQL,Oracel
六.Linux 版本
内核+SHELL+GUI+设备驱动程序=操作系统
Red Hat,安装和升级操作系统的工具,以及良好的安装、删除与跟踪软件包的特性而闻名(RPM包管理系统)
Xteam Linux, 编程方面比较突出.
红旗Linux
学习Linux的主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
第二章:Linux 的安装
了解安装Linux系统所需要的知识:硬件需求,分区知识,服务知识,驱动程序准备
学习用光盘引导安装Red Hat Linux 9.0 系统
学习用启动盘引导安装Red Hat Linux 9.0 系统
学习从网络上安装Red Hat Linux 9.0 系统
一.预备知识
1.了解系统需要求
486(100MZ) 奔腾级CPU 133以上
16M内存 32M
VGA显卡,兼容VESA2.0
SCSI卡,SCSI硬盘,个人桌面安装至少需要1.5GB空闲空间,工作站至少需要2.0GB,服务器没有X需要1.3GB+GNOME和GDE=2.1GB,全部安装至少需要4.5GB空闲空间
定制安装
Red Hat Linux推荐的硬件配置
#Pentium级以上的CPU
#128M内存
#600M-1.2G的硬盘空间,取决于使用目的。
#可启动的CDROM或者软驱
2.分区
分区类型:组织文件的方式。
swap: 交换分区
ext2:7.0以前使用
ext3:8.0 ,9.0以后使用,日志型分区,可以恢复数据
ISO9660,光盘系统
/存放系统内核400M /boot存放系统引导文件 /swap
IDE hda1 hdb1
a: 第一硬盘 b:第二硬盘 1:第一分区
SCSE:sda1
3.安装方式:GUI、TEXT、其它
安装方法:
光盘
网络:HTTP,NFS服务器,FTP
启动软盘
硬盘安装
二.安装步骤
可以检测光盘是否是物理损坏,确保此光盘是REDHAT官方发布
说明信息
择安装语言:Red Hat Linux 9支持多种语言界面,包括英文、简体中文和繁体中文等
选择键盘类型:默认us
选择鼠标:安装程序能够自动检测到系统所使用的鼠标类型
安装类型:个人桌面,工作站,服务器,定制
个人桌面:图形化桌面环境.1.5G磁盘空间
工作站: 包括图形化桌面环境和软件开发工具。2.0G GNOME KDE(默认)xx
服务器: 字符界面安装.1.3G
定 制: 自由选择.最大要5G
选择分区:Autopartition,自动分区将重新建立硬盘分区,所有硬盘中现有数据将丢失.Disk Druid手动分区,/dev/sda1 ext3 /boot boot中Linux系统启动时所需要的文件,/dev/sda2 ext3 /根分区作为系统目录树的根节点,需要较大的空间,/dev/sda3 swap交换分区通常是物理内存2倍
分区方案:删除系统中所有Linux类型的分区.删除系统中所有的分区,不论其分区类型.保留系统中所有类型的现有分区
引导装载程序配置:GRUB的功能强大,LILO的历史较长但功能简单
MBR 主引导记录
GRUB 引导OS的程序,找操作系统的内核程序
网络设置
主机名
防火墙配置:无防火墙
附加语言
设置口令:最少6位
选择软件包:Apache(提供WEB服务),Vsftpd:提供FTP服务
网络安装
1). 安装服务器的准备:
网络安装的服务器按照安装方式的不同,可分为3种,NFS,FTP和HTTP,安装文件的组织方式有两种,安装文件树和ISO镜像。
关于NFS,FTP和HTTP服务器的配置,请参考其它文档,本文主要介绍安装用到的部分。
(1) 安装文件树的准备:
把Red Hat Linux 9 安装光盘的第一张放进光驱,在命令行输入:
mount /mnt/cdrom
cp -var /mnt/cdrom/RedHat /var/ftp/pub/rh9/
umount /mnt/cdrom
然后再对另两张光盘做同样的操作。
这样,我们就可以设置NFS,FTP和HTTP了。
NFS:
编辑/etc/exports,加入/var/ftp/pub/rh9 *(ro)
然后启动NFS服务,service nfs start;如果已经启动NFS服务,exportfs -a或service nfs reload就可以使我们新加入的文件export
FTP:
因为我们把iso放到了Anonymous的/var/ftp/pub下,所以我们只要启动vsftpd就可以了,service vsftpd start;
HTTP:
我们做一个link给iso所在的目录,ln -s /var/ftp/pub/ /var/www/html/pub
然后启动httpd,service httpd start,如果已经启动了httpd,不用做任何事就行了。
(2) ISO镜像的准备和安排:
ISO镜像可以是从网上下载,也可以用安装光盘来自己制作。
下载的可以到官方网站,也可以到速度比较好的镜像站点,根据发行版本的不同,请选择合适的网站下载。如 http://www.redhat.com为RedHat的官方网站。
下载要注意的是一定要计算MD5。因为下载的文件较大,由于网络传输的问题,有可能使下载的文件不完整。所以计算MD5是非常必要的。
MD5消息摘要函数(RFC 1321)是由麻省理工学院的Ronald Rivest开发的。它是其早期版本MD4(RFC 1320)的推广。MD5的输入是任意长的消息x,输出为128比特的消息摘要h(x)。 在下载ISO时,会同时提供一个MD5SUM,里面是ISO的MD5值。在Linux上,可以用md5sum来计算ISO的MD5值,然后和MD5SUM里的值比较,如果相同,那说明你下的文件没有问题。如果不同,那你可能需要重新下载了。
关于ISO的制作,在Linux下,可以用dd;在Windows下,可以用WinISO,NERO,EasyCD,还可以用其它的工具,我们主要介绍一下在Linux下用dd制作iso的方法。
dd是在物理方式读写文件的,我们就用它来制作iso文件。把Red Hat Linux 9 的安装光盘延第一张放进光驱,然后在命令行输入:
dd if=/dev/cdrom of=/root/rh9-1.iso bs=512
然后,对另两张光盘做同样的操作,生成文件的名字分别为rh9-2.iso,rh9-3.iso。生成文件名字可以是任意的,我这样写,主要是为了好记。
好了,不管是下载的,还是自己制作的,我们有了三个iso文件。我们把它放到/var/ftp/pub/rh9iso/下:
mv /root/rh9-*.iso /var/ftp/pub/rh9iso/
只有NFS方式可能用ISO来安装,所以,我们修改 /etc/exports,加入 /var/ftp/pub/rh9iso *(rw),然后同上,services nfs start,或exportfs -a或service nfs reload就可以了。
(3) 配置dhcp服务器和DNS服务器:
由于是网络安装,而在安装之前,机器是没有IP地址的,也就没法与服务器连通。所以,我们可以设置一台DHCP服务器来自动分配IP地址给客户机。设置DNS的目的主要是为了能够用名字来访问我们的服务器,如果没有DNS,用IP也可以。
安装的启动方式:
网络安装的启动方式有三种,软盘,光盘,网卡启动(由于现在多数网卡不带启动芯片,所以,这里我们不讨论网卡启动的问题)。
网络安装
(2) 光盘启动:
把启动光盘放进光驱,启动机器,过程同上,只是不用换盘了。
(3) 安装光盘启动:
启动机器,把安装光盘第一张放进光驱,在出现boot时,输入 linux askmethod,其同上
输入NFS站点192.168.2.57,/home/user00/redhat9
三.安装后的有关操作
<CTRL>+<ALT>+<SHIFT>+F1 进入字符界面
<ALT>+F7 进入图形界面
<ALT>+F1--F6,tty0-tty5
5、Linux系统目录结构
/bin 用于存放普通用户执行的命令。
/boot 用于存放操作系统启动时所需要使用的文件,与根分区相互独立,可以保证启动文件的安全。
/dev 存放系统中的所有设备文件。
/etc 存放系统中的配置文件。
/home 存放用户的宿主目录。
/mnt 目录中的子目录用于作为系统中的移动存储设备的挂载点。
/root 超级用户的宿主目录。
/sbin 存放系统的管理命令。
/tmp 存放系统的临时文件的目录。
关机命令:
shutdown [options] when [mesasage]
选项:-r系统关闭后重新启动以。 -h完成关机程序后将系统停闭。 -t 延迟多少秒后结束进程。
shutdown -r now
shutdown -h now
登录Linux后,如果选用的登录界面是文本模式,可以使用startx命令进入图形界面。Linux是一个多用户、多线程的操作系统,按下组合键Ctrl+Alt+F1~Ctrl+Alt+F6,可以在六个控制台之间来回切换,你可以在不同的控制台上以不同用户名登录及进行相应操作。通常Linux只能启动一个X Window,按Ctrl+Alt+F7可以切换到X窗口中.Red Hat默认使用的是GNOME桌面系统,在其中可以方便地切换到另一个著名的KDE桌面环境。用户只需要在终端窗口中键入switchdesk指令,或者打开系统菜单/系统工具/更多系统工具/Destop Switching Tool,在弹出窗口中进行相应的选择(图switchdesk),退出(logout)当前视窗管理系统后,再次使用startx指令就可以进入到用户新近选择的X Window中来。
#init 5启动X 图形用户界面
说明∶Linux分为多个运行态(级别),默认的是3号多用户网络态,为字符界面;5号是X Window态,提供类xdm图形登录界面。init 5指令是将当前的运行态转到5号态,启动X Window图形登录界面
第三章:使用SHELL
学习目标:
熟练掌握命令行的使用方法
掌握帮助的使用方法
熟练掌握文本编辑器(vi)的使用方法
一.掌握命令行的使用方法,shell
1.概念:是用户和Linux 操作系统之间的接口,它是命令语言,命令解释程序及程序设计语言的统称。shell是一个命令语言解释器,它拥有自己内建的shell命令集。有些命令是包含在shell内部的,还有一些命令,如cp和mv是存在于文件系统中某个目录下的单独的程序,shell首先检查是否是内部命令,否则检查是否是应用程序,如ls和mv,然后shell在搜索路径里寻找这些应用程序,否则将显示一条错误信息。若找到该内部命令或应用程序将被分解为系统调用并传给Linux内核
eg,$mak work 返回错误信息
2.shell的种类:Bourne shell(sh) C shell(csh) Korn shell
Boure shell:功能有限,没有历史记录列表或命令行编辑等特性,在程序退出时测试其执行成功还是失败,从而可以编制复杂脚本
C shell:最早期的Unix shell,它提供了从著名C语言语法派生的命令集和脚本环境,没有命令行辑等特性,包括命令的别名和命令的历史记录
Korn shell:集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容,它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序
Red Hat linux9.0缺省情况下使用的是Bash,Bourne Again Shell,由B shell发展而来/bin/bash目录中。可以提供命令补全,命令编辑和命令历史表等功能。
2.命令分类:
内部命令:放在Shell当中的,常驻内存的命令。
外部命令:存在于文件系统中某个目录下的单独的程序
3.Shell的命令行
格式:Command Option Arguments
option:是包括一个或多个字母的代码,它前面是一个减号,用于改变命令执行的动作的类型
eg,ls -l 列出数据大小和数据最后被修改的时间
Arguments:在选项后键入的一个或多个单词, 命令执行的对象
cp aa a1
4.命令行特征:命令行是可以编辑的一个文本缓冲区
利用上箭头可以重新显示刚执行的命令
bash保存着以前键入过的命令列表
一个命令行可置入多条命令,用“;”隔开
一个命令可以多行输入,用“/”将一个命令行持续到下一行
5.命令行中的特殊字符:
? 代表任意一个字符
* 代替任意的一串字符
[] 代表字符范围内的一个字符
引号:
单引号 括起来的字符是普通字符。eg,#string='$path' #echo $string 结果为$path
双引号 把括起来的字符变成普通字符,($, ', "除外)
反引号 括起来的字符串被解释为命令行,一般位于键盘的左上角。#string="current directory is `pwd`" #echo $string 结果为current directory is /home/test
注释符 以#开头的正文行表示注释行。
6.标准的输入输出
三个标准文件:stdin 对应终端的键盘
stdout 对应终端的屏幕
stderr 对应终端屏幕
输入重定向:把命令的标准输入重定向到文件中
输入重定向符:"<" 用于改变命令的输入源 例如,#wc<aa
输出重定向:把命令的标准输出或标准错误输出重定向到指定文件中。
输出重定向符:">" 例如,#ll>ab
管道:将一个程序或命令的输出作为另一个程序或命令的输入。
管道符 "|" 例如cat aa|wc
命令的替换:将一个命令的输出作为另一个命令的参数。#cd 'pwd'
格式:command1 `command2` #ll `pwd`
二、文件或目录操作
1.文件:是Linux用来存储信息的基本结构,是被命令存储在某种介质上的一组信息的集合。Linux文件均为无结构的字符流形式
2.文件名:文件的标识,由下划线和圆点组成的字任串构成,文件名长度在255 个字符内,扩展名起到分类的作用 例如preface,chapter1.txt,vsftpd-1.1.3-8.i386.rpm,xu.bak
3.文件类型:
普通文件:文本文件 ASCII码形式,以“行”为基本结构。
二进制文件 二进制形式,一般为可执行程序,图形,图像,声音等
目录文件:管理和组织文件,存储一组相关文件的位置,大小等与文件有关的信息,简称:目录。
设备文件:每一个I/O设备都看成一个文件,使文件与设备操作尽可能统一
块设备文件:字符块为单位
字符设备文件:以单个字符为单位
4.树型目录结构:
文件目录:将所有文件的说明信息采用树型结构来组织 根root(/)目录下的目录就是系统目录,系统每建一个目录时,都会自动为它设定两个目录文件,一个是".",一个是".."
5.工作目录、用户目录与路径
工作目录:当前目录或working Directory
用户主目录:系统管理员增加用户时建立起来的,通常与用户的登陆名相同 “~”代表用户的宿主目录 例#cat ~/bb等价于cat /home/hkp825/bb
路径:指从树型目录中的某个目录层次到某个文件的一条道路,用/分开,分为绝对路径(从根目录开始的路径)和相对路径(是从用户工作目录开始的路径)
三、文件与目录的操作命令
cp命令
功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。
语法: cp [选项] 源文件或目录 目标文件或目录
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
$ cp - i /test/aa /test/aa1
$ cp exam1.c /usr/ wang/
$ cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。
mv命令
功能:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。
需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。
例1:将/test1中的所有文件移到当前目录(用“.”表示)中:
$ mv /test1/* .
例2:将文件aa.txt重命名为ab.txt
$ mv wch.txt wjz.doc
rm命令
在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
语法:rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
例:rm -rf test
ln命令
该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
语法:ln [选项] 目标 [链接名]
ln [选项] 目标 目录
链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。
在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。
如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。
例:$ln -s /test1/aa /test/taa
用户为当前目录下的文件lunch创建了一个符号链接/home/xu。
mkdir命令
功能:创建一个目录(类似DOS下的md命令)。
语法:mkdir [选项] dirname
说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中 (dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
例如:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。
$ mkdir - p - m 700 ./inin/mail/
rmdir 命令
功能:删除空目录。
语法:rmdir [选项] dirname
说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。
例如:$ rmdir - p /usr/xu/txt 将/usr/xu/txt目录删除。
cd 命令
功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory, 则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。
$ cd /test 此时,用户可以执行pwd命令来显示工作目录。
pwd 命令
在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
ls 命令
ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
语法:ls [选项] [目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- R 递归式地显示指定目录的各个子目录中的文件。
用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件 后面的9个字符表示文件的访问权限,分为3组,每组3位
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示: r 读 w 写 x 执行,对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
- 没有设置权限。
例1:列出当前目录的内容。 $ ls
例2:列出某个目录的内容。 $ ls –F /home/xu Mai1/
例3:列出某个目录下所有的文件(包括隐藏文件)。
$ 1s -aF /home/xu
例4:用长格式列出某个目录下所有的文件(包括隐藏文件)。 $ 1s -laF /test
其他命令
echo命令
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
例1: $ echo 'Thank you !' Thank you !
例2: $ echo "Thank you !" Thank you !
例3: $ echo Thank you ! Thank you !
cal命令
cal命令的功能是显示某年某月的日历。
该命令的一般格式为: cal [选项] [月 [年]] 命令中各选项的含义为:
- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
- y 显示出整年的日历。
例1 显示1999年11月的日历。$ cal 11 1999
例2 显示1999年11月的每一天是一年中的第几天 。 $ cal – j 11 1999
date命令
date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
date 设置时间格式
命令中各选项的含义分别为:
-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间
时间域
% H 小时(00..23) % I 小时(01..12) % k 小时(0..23) % l 小时(1..12) % M 分(00..59) % p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时 % s 从1970年1月1日00:00:00到目前经历的秒数 % S 秒(00..59) % T 时间(24小时制)(hh:mm:ss) % X 显示时间的格式(%H:%M:%S) % Z 时区 日期域 % a 星期几的简称( Sun..Sat) % A 星期几的全称( Sunday..Saturday) % b 月的简称(Jan..Dec) % B 月的全称(January..December) % c 日期和时间( Mon Nov 8 14:12:46 CST 1999) % d 一个月的第几天(01..31) % D 日期(mm/dd/yy) % h 和%b选项相同 % j 一年的第几天(001..366) % m 月(01..12) % w 一个星期的第几天(0代表星期天) % W 一年的第几个星期(00..53,星期一为第一天)%x 显示日期的格式(mm/dd/yy) % y 年的最后两个数字( 1999则是99) % Y 年(例如:1970,1996等)
需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。
例1:用指定的格式显示时间。
$ date ‘+This date now is =>%x ,time is now =>%X ,thank you !’
This date now is =>11/12/99 ,time is now =>17:53:01 ,thank you !
例2:用预定的格式显示当前的时间。
# date
Fri Nov 26 15:20:18 CST 1999
例3:设置时间为下午14点36分。
# date -s 14:36:00 Fri Nov 26 14:15:00 CST 1999
例4:设置时间为1999年11月28号。
# date -s 991128 Sun Nov 28 00:00:00 CST 1999
clear命令
clear命令的功能是清除屏幕上的信息,它类似于DOS中的 cls命令。清屏后,提示符移动到屏幕左上角。
例如: $ clear
思 考 题
1. 验证新用户wch是否已注册成功,并修改该用户的口令。
2. 如果希望系统在五分钟后关机,并马上重新启动,应该如何操作?
3. 如果你是以普通用户身份访问系统,是否可以查看当前系统内存的使用情况?如果可以,如何查看?
4. 如何显示当前系统的时间?
5. 如何将系统时间设置为1999年12月25日上午10点16分?
6. 请显示2000年1月的日历,在显示之前请先清屏
"man"
语法:man[-k][section]keyword
功能:显示命令的帮助手册
选项:
-k 查看帮助的位置信息
-K 查看所有文档的详细信息
alias
#alias 查看已别名
#alias type='cat'
find / -name my* -print
这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。
四、VI编辑器的使用
1.vi简介:vee-eye,可视的文本编辑程序,是标准的Linux文本编辑程序,相当于DOS下的EDIT
2.启动vi
创建一个文件,$vi aa
vi状态行:屏幕的最后一行被称为状态行,用于显示文件名及文件中行和字符的个数
vi的三种模式:
输入模式:用于在一个文件中输入文本
命令模式:用于输入那些执行特定vi功能的命令,是vi的缺省模式
末行模式:":"转换,用于执行保存,搜索等操作
3.插入模式:
插入命令insert:插入文本从光标所在位置前开始 I将光标移到当前行的行首,然后在其前插入文本
附加命令append:用于在光标所在位置之后追加新文本.A把光标挪到所在行的行尾,从那里开始插入新文本
打开open命令:o 该命令将在光标所在行的下面新开一行,并将光标置于新行的行首,等待输入文本.O命令是在光标所在行的上面插入一行
4.vi的编辑模式
0移动到光标所在行的行首
$移动到光标所在行的行尾
H光标移至屏幕的左上角
M将光标移至屏幕显示文件的中间行的行首
L将光标移至屏幕上的最底行的行首
光标定位:h 代表左移,j 代表下移,k代表左移,l代表右移
撤消:u 最近一次输入,U 一行的更改
删除:x或del删除当前光标所在位置的字符,X删除光标左面的字符,dw删除单词,dd删除整行,D删除当前光标右,d0删除当前光标左边的字任,dG 删除行到文件尾
剪切dd,粘贴,p 复制 yy
查找 :/ 查找的词 (命令行也可以) ,n:跳转到该词的下一个出现处,N:上一个出现处
某些字符(/ & ! ^ * $ / ?)对查找过程有特殊意义,应使用转意符/ 例 "anything?" 应输入"/anything/?"
替换::s/被替换的/替换的 :s/被替换的/替换的/g替换一行
例如: :s/old/new在一行内替换头一个字符串old为新的字符串new :s/old/new/g在一行内替换所有字符串old为新的字符串new
#,#s/old/new/g在两行内替换所有的字符串old为新的字符串new
:%s/old/new/g在文件内替换所有的字符串为新的字符串
在vi中有9个用于维护删除操作的缓冲区,1,2,...,9.组成一个队列
第四章:系统管理
授课内容:引导与关闭系统,管理文件系统,用户和组管理,多进程管理
授课重点:用户和组管理,管理文件系统
一.引导与关闭系统
启动引导器是计算机启动过程中运行的第一个真正的软件,通常计算机启动时在通过BIOS自检后读取并运行硬盘主引导扇区(MBR)中的启动引导器Boot Loader程序,启动引导器再负责加载启动硬盘分区中的操作系统.GRUB和LILO是Linux操作系统极其灵活的引导加载程序(Boot Loader),早期多用LILO作为启动程序,现在用GRUB,也可以引导其它操作系统.
1.GRUB功能:
提供了真正的命令行交互界面,能够使用户以最大灵活性使用各种参数引导操作系统和收集系统信息.
支持LBA(Logical Block Address)逻辑块寻址。若BIOS支持LBA,GRUB能够从1024柱面以后的分区中启动系统
GRUB能够访问ext2分区,每次启动时GRUB访问ext2分区中的配置文件/boot/grub/grub.conf.
2.安装GRUB
安装GRUB软件包:把GRUB所需要使用的文件安装到当前系统
放入第一张光盘
#mount /mnt/cdrom
安装命令:
#rpm -i /mnt/cdrom/redhat/rpms/grab-0.93-4.i386.rpm
安装GRUB到MBR:手工安装GRUB到MBR
建立GRUB配置文件:建立文件"/boot/grub/grub.conf"并按照主机硬盘中已安装的操作系统进行配置
使用安装命令安装GRUB到MBR
#grub
grub>root (hd0,0)定义开机分区所在的地方
grub>setup(hd0)将grub安装到MBR
grub>quit退出GRUB
3.引导系统中出现的参数介绍
#cat /boot/grub/grub.conf,在/etc下有一个符号链接grub.conf
default=0 告诉GRUB默认引导哪个系统,0表示第一个系统
timeout=10 如果不选择10秒钟后会自动启动默认系统。如果为-1则用户必须选择。
splashimage=(hd0,0)启动的背景图像。GRUB对硬盘和分区的编号都是从0开始计算
title Red Hat linux (2.4.18-14) 定义LINUX启动菜单中显示的操作条目名字
root(hd0,6) 指的是root文件系统安装在那个分区
kernel /vmlinu2-2.4.18-14 ro root=LABEL=/ 加载linux的内核文件.依次为kernel 到内核的路径 内核参数等(root=表明指向保存根文件系统的Linux分区)
initrd /initrd-2.4.18-14.img,用来初始的Linux image,加载镜像文件
4.命令模式启动
#grub
grub>root(hd0,0)直接引导第一个硬盘的第一个分区
grub>chainloader(hd0,0)+1启动windows操作系统
grub>kernel (hd0,0) /boot/vmlimuz root=/dev/hda1
grub>boot
5.关闭系统
关闭系统:#init 0,#halt,#shutdown -h now,
重启计算机:#init 6,reboot,#shutdown -r now
二、管理文件系统
1.文件系统类型简介:即操作系统组织文件的方式
ext2: 能压缩,加密
ext3:在ext2的基础上加入了文件系统日制的管理机制,OS能快速检测系统日志恢复文件系统到正常状态。
swap: 交换分区,管理内存的交换空间
运行状态---内存运行 R
休眠状态---虚拟内存中 s
vfat: 把DOS下的所有fat文件系统称为vfat,其中包括FAT12,FAT16和FAT32.Red Hat Linux9中既可以使用系统中已存在的FAT分区,也可以建立新的FAT分区
NFS: 网络文件系统,用于在UNIX系统间通过网络进行文件共享
iso9660:光盘使用的标准文件系统。linux可以读、刻录光盘。
三、挂载和卸载本地磁盘
1.可以把该分区挂载到系统目录树的相应位置,挂载文件系统有两种方式,使用mount命令和修改fstab文件进行自动挂载
"mount",通常适用于光盘、软盘等不需要经常使用的存储设备
语法: mount[选项]<设备文件名><挂载点目录>
功能: 把某个分区挂载到一个新的子目录.
选项:
-a 把/etc/fstab文件中列出的文件系统都挂载上.
-t fstype,定义挂载的文件系统类型.Linux可以挂载其它非ext2标准的文件系统,比如vfat和ISO9660等
-o options定义作用于挂载过程的选项 "ro"只读性挂载,"rw" 可读写 , "exec" 允许二进制代码的执行,可执行脚本文件,"noauto"禁止分区自动挂载,用于/etc/fstab文件.
2.unount
语法:umount 设备文件名/挂载点目录
功能:把某个分区挂载到一个新的子目录
选项:
使用lsof程序或者fuser程序检查有哪些进程打开了文件,终止那些进程的运行或者让进程的所有者停止操作
umount -f参数强制执行卸载操作,但可能造成数据丢失
最安全和适当的办法是把系统调整为单用户模式,然后再卸载这个系统
3.设置系统启动时自动挂载文件系统
对于系统运行必须使用或系统中长期使用的文件系统,需要设置其在系统运行时自动进行挂载,在Red Hat Linux 9启动过程中,init进程会自动读取/etc/fstab中的配置内容佳载相应的文件系统.
4.挂载光盘:在光盘挂载期间,光盘驱动器将被锁定
语法:mount -t iso9660 /dev/cdrom 光盘挂载点
功能:
例:mount -t iso9660 /dev/cdrom /mnt/cdrom/
5.卸载光盘:
umount 光盘挂载点目录|光盘设备文件全路径名
例:umount /mnt/cdrom
6.弹出光盘 "eject"
语法:eject[光盘挂载点目录|光盘设备文件全路径名]
功能:弹出指定的光驱.
例:eject -n显示系统默认的弹出指定的设备
eject -t关闭默认的光盘驱动器
7.USB系统设备速度快,稳定性高,即插即用特点.所有的USB设备视为SCSI设备,插入U盘后出现提示信息.
# mount -t vfat /dev/sdb1 /mnt/usb-disk
四.管理本地文件
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l /test/aa
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l /test/aa
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如: - rw- r-- r-- 普通文件 文件主 组用户 其他用户
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是: + 添加某个权限。 - 取消某个权限。 = 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:r 可读.w 可写.x 可执行.X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
u 与文件属主拥有一样的权限.g 与和文件属主同组的用户拥有一样的权限.o 与其他用户拥有一样的权限
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为: chmod [mode] 文件名?
例子:
(1)文字设定法:
例1:$ chmod a+x /test
例2:$ chmod ug+w,o-x text
例3:$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
例4:$ chmod a–x mm.txt $ chmod –x mm.txt $ chmod ugo–x mm.txt
(2)数字设定法:
例1: $ chmod 644 mm.txt $ ls –l
例2: $ chmod 750 wch.txt $ ls –l -rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename?
功能:该命令改变指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:$ chgrp - R book /opt/local /book
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
语法:chown [选项] 用户或组文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
例1:把文件shiyan.c的所有者改为wang。
$ chown wang shiyan.c
例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。
$ chown - R wang.users /his
五.用户和组的管理
用户是可以登陆到系统帐号,它允许多个用户同时登陆到系统,Linux给每一个系统帐号一个用户ID,来区别不同的用户
用户:进入系统的一个账号UID
用户的分类:超级用户root它具有操作系统的一切权限、普通用户的UID是500-60000范围、伪用户,如bin、sys、lp等,是为了方便系统管理,满足相应的系统进程对文件属主的要求,伪用户不能登陆,其UID为1-499
1.手工编辑/etc/passwd和/etc/group
passwd文件用于定义系统的用户帐号,其字段划分account用户帐号名称 password用户口令,真正的密码保存在shadow文件中 UID用户号,惟一表示某用户的数字 GID用户所属的私有组号,该数字对应group文件中的GID GECOS可选的用户信息说明字段,通常用于保存用户全名的信息 directory用户的宿主目录 shell:用户所使用的shell默认"/bin/sh"
shadow文件位于"/etc"目录中,用于存放用户口令等重要信息,只有root用户可以读取#ll /etc/shadow
2./etc/group
group文件用于存放用户的组帐号信息,任何用户都可以读 group_name用户组的名称:password用户组口令:GID用户组标识号:user_list用户成员列表
gshadow文件用于定义用户组口令、组管理员等信息,只有root用户可以读取
3./usr/sbin/useradd
语法:useradd[选项]<用户名>
功能:添加指定的用户账号,需passwd设置用户口令才能登陆
选项:
-g 用于添加用户帐号并设置该用户的私有组
-D 显示useradd命令使用的默认值.
-G 将新建的用户加入到某个组当中
-M 不建立用户的宿主目录
"head" 显示前10条记录
"tail" 显示后10条记录
"grep" 查找某个字符串的命令
passwd -S <用户名> 查看用户状态
/etv/shadow 影子文件,存放用户密码。
4."usermod"
语法:usermod[选项]<用户名>
功能:设置已有用户账号属性,包括用户宿主目录、私有组、登陆shell等内容
改变用户帐号名:usermod -l 新用户登陆名 当前用户登陆名 例:usermod -l user3 user2
锁定用户帐号:usermod -L 用户帐号名 该命令通过在shadow文件中指定用户帐号的口令字段前加入锁定符号"!"锁定该用户帐号
解锁用户帐号:usermod -U 用户帐号名 该命令是通过在shadow文件中指定用户帐号的口令字段中去除锁定符号"!"来解锁该用户帐号
5."userdel"
语法:userdel[选项]<用户名>
功能:删除指定的用户账号
选项:-r 删除用户同时删除宿主目录
6."passwd"
语法:passwd[选项]<用户名>
功能:修改用户账号口令
选项:
-S 查询指定用户帐号的口令状态,只有root用户可以使用 例passwd -S user1
-l 锁定指定用户帐号的口令,只有root用户才能使用 例passwd -l user1
-u 解锁指定用户帐号 例passwd -u user1
-d 删除指定用户帐号的口令,使该用户帐号不能登陆系统,要恢复需重新设置口令
组的管理
组的概念:是一组特定的用户的集合.建立一个用户的同时,会默认以新用户的名字建立一个新组,新建的用户就是组中的成员
例useradd -g 初始组 -G附属组 用户名
组的类型:私有组 标准组:可以容纳多个用户
7."groupadd"
语法:groupadd[选项]<组名>
功能:新建一个组
选项: -r 建立一个系统组账号,系统组账号小于500
例#groupadd -r g1 #grep g1 /etc/group
8."groupmod"
语法:groupmod[选项]<组名>
功能:用于改变组账号的属性
选项:
-g 修改组的GID #groupmod -g 新的GID 用户组帐号名 例#groupmod -g 503 mygroup,#grep mygroup /etc/group
-n 改变用户组的名称,但GID不变。#groupmod -n 新的组名 原用户组名
9."groupdel"
语法:groupmod[选项]<组名>
功能:删除指定的用户组
注:当有用户使用组帐号作为私有组时不能删除该组帐号
10."gpasswd"
语法:gpasswd[选项]<用户名><组名>
#gpasswd -a 用户帐号名 组帐号名 用于将指定用户帐号添加到指定用户组 例#gpasswd -a user1 g1
#gpasswd -d 该用户帐号名 组帐号名 用于将指定用户帐号从指定用户组中删除 例#gpasswd -d user1 g1
#gpasswd -A 组管理员列表 用户组 该命令用于设置指定的用户为用户组的管理员 例#gpasswd -A user1 g1
六.进程管理
1.有关概念
程序:一组指令代码,完成特殊任务。
软件:程序和相关文件的集合。
进程:程序在系统当中动态执行的一个过程。系统资源分配的单位,进程占用CPU,内存资源
进程的类型:交互式进程,是一个由shell启动的进程 批处理进程,不与特定的终端相关联,提交到等待队列中顺执行进程 守护进程,在Linux启动时初始化需要时运行于后台的进程
进程的启动方式:手工启动和调度启动
手工启动:例ls -l启动一个前台的进程 ls -R />list &递归地列出根目录及其子目录下的所有文件和目录的列表,并重定向到list文件,&是后台执行
调动启动:这种启动方式事先进行设置,根据用户要求让系统自动启动
2.有关命令:"ps"
语法:ps[选项]
功能:查看当前控制台进程
选项:
-a 列出带有控制终端的全部进程
-u 列出进程的所有者
-x 列出没有控制终端的进程
#ps -aux>aa #head aa
PID,进程的标识号码 USER,谁拥有这个进程 %CPU进程占用CPU %MEM进程占用内存的百分比 VSZ进程占用虚拟内存的总量 RSS进程占用真实内存的总量 TTY进程控制终端 STAT进程的状态(S进程休眠,R CPU正在处理的进程,D不可中断休眠的进程 T正在被纠错程序跟踪或者已经被终止的进程 Z昏迷进程,即父进程没有使用wait系统调用通知它的子进程的终止;父进程被非正常终止) START进程开始的时间 TIME进程已经使用的CPU时间 COMMAND进程名称和它的命令行参数
"top" 交互式操作命令,显示CPU的利用率,以及进程的状态每隔2-3s就会刷新进程清单的显示画面
"free" 显示系统内存的使用情况。
3.管理进程
"kill":使用进程号停止某个进程.
kill -9 进程号 强行结束指定进程的运行,该命令对于结束已经"死掉"而没有能力自动结束的进程特别有效,该命令终止的进程属于非正常结束 例:#top & #ps|grep top #kill -9 2618
kill -1 进程号 挂起某个进程或"<ctrl>+z" 挂起 例#top <ctrl>+z #bg后台运行 #jobs显示后台的执行程序
"nice" 用于指定进程运行的优先级 #nice -n command n的数值越大,进程的优先级越低,默认的优先级为0,n可以取负值让运行优先级提高 例:nice --5 top &让top在后台以-5的优先级运行
"renice" 改变一个正在运行进程的优先级 #renice -n pid 例:renice --10 701将正在运行的PID为701的进程的优先级改为-10
七.Linux包管理
rpm包管理
1.rpm概述:RPM (redhat packet manage),RPM最早由Red Hat公司提出的软件包管理标准,由RPM社区负责维护 http://www.rpm.org
2.RPM包的名称格式:cvs-1.11.2-10.i386.rpm 依次是软件名称 软件版本号包括主版本号和次版本号,i386是软件所运行的硬件平台 rpm是文件的扩展名
3.使用rpm命令
#rpm直接回车可以得到命令格式的帮助
# rpm -qa 查询系统中安装的所有RPM包
# rpm -q 软件包名称 查询软件包是否安装 #rpm -q xinetd
#rpm -qi 软件包名称 命令查询系统中已安装软件包的描述信息rpm -qi file(file根据文件中的数据识别文件类型,例#file /test/aa)
#rpm -ql 软件包名称 用于查询系统中已安装软件包里所包含的文件列表 例:rpm -ql file
#rpm -qf 用于查询系统中指定路径中文件所属的软件包 例:rpm -qf /etc/passwd
#rpm -qp RPM包文件全路径名 用于查询RPM包文件中的文件信息,通常用于在安装软件包之前了解软件包中的信息
#rpm -ivh RPM包全路径文件名 i代表安装,v代表verbose设置在安装过程中将显示较详细的信息,h代表hash,设置在安装过程中将显示"#"来表示安装的进度
#rpm -e RPM包名称 用于从当前系统中删除已安装的软件包 例:#rpm -q file #rpm -e file
#rpm -U RPM软件包全路径名 使用指定的RPM软件包对当前系统中同一软件的较低版本进行升级,若未装则tar包管理
1.tar包概述:tar包是UNIX中标准的文件交换格式,只进行打包而不进行压缩.http://www.gnu.org/manual/tar/index.html
2.建立tar包
#tar cvf TAR包文件名 所备份的文件或目录名 把指定的目录或文件打包到指定的文件中,c指定建立TAR包,v设置命令执行时有更多提示信息,f指定TAR包的文件名 #tar cvf tt.tar /test/
3.建立压缩的tart包:
#tar zcvf 压缩TAR包文件名 所备份的文件或目录名 把指定的目录或文件打包后进行压缩并保存到指定的文件 #tar cvf tt.tar.gz /test/
4.查询TAR包中的内容:
#tar tf TAR包文件名 显示指定TAR包中的文件目录列表 #tar tf tt.tar
5.查询压缩TAR包中的内容
#tar ztf 压缩TAR包文件名 例:#tar tf tt.tar.gz
6.释放TAR包
#tar xvf TAR包文件名 例:tar xvf tt.tar
7.释放压缩TAR包 例:tar zxvf tt.tar.gz
"gzip"
语法: gzip[选项]<文件名>
功能: 压缩或展开文件
选项:
-d 把压缩文件解压缩
-l 显示详细信息
-r 递归查找指定的目录并压缩其中的所有文件或解压缩
-t 检查是否完整
-v 详细输出该命令所做的操作
例1:$gzip * 把当前目录下的每上文件都生成一个对应的gz文件.
例2:$gzip -dv *.gz 把当前目录下的所有gz文件进行解压缩,并显示详细信息。
例3:$gzip -9 myfile 把当前目录下的myfile文件进行深度压缩。
例4:$gzyp-v/home/tmp/*.c
$gzyp-tv *.gz 把/home/tmp目录下的所有*.c文件用gzip压缩。然后再检查是否完整
$gzip-dv x.gz 把刚才文件解压缩释放
"more"
语法:move[选项]文件名
功能:分屏显示文件内容
选项:
-c 显示下一屏前后清屏
-d 在屏底显示友好提示信息
f或(空格):显示下一页
n(空格):显示后面的n行
(Enter):显示下一行
例1:$more -dc /etc/passwd 列出文件/etc/passwd的内容,先清屏,最下方显示占全文件的百分比。
例2:$more -c -10 /etc/passwd 列出一个文件的内容,每10行列一次,而且先清屏后显示。
“less”同上,即可以向前也可以向后翻看
编写批处理文件
#vi /etc/rc.d/aa
cd /
ls -l
执行/etc/rc.d/aa
破解Linux超级用户的密码
插入linux第一张启动光盘
按F5
输入linux rescue,以安全模式启动linux
在安全模式下输入:chroot /mnt/sysimage,以根环境运行linux
passwd
第五章:建立Intranet/internet服务
授课内容:配置TCP/IP服务、配置DNS服务、配置DHCP服务、WWW服务器安装和设置、FTP服务配置
授课重点:主DNS服务器配置、辅助DNS服务器配置、高速缓存DNS服务器配置、DHCP配置、APACHE配置
前言
1.网络参考模型:
网络分层技术解决两个问题:异种操作系统、硬件平台之间传输数据;其次是如何在一个复杂的物理网络中实现数据准确传输
分层的三个重要概念:服务,指特定一层提供的功能 接口,是上下层之间调用功能和数据传输的方法 协议,是对等到层必须遵循的标准
OSI参考模型
TCP/IP参考模型:网络接口层Host-to-Net Layer,负责数据的实际传输,相当于OSI/RM中下两层,TCP/IP模型对该层很少定义具体的协议,其常用的协议有HDLC(高级数据链路控制,负责面向点到点的链路传输)、PPP(点到点协议,在串行线上,用于点到点的数据传输);网间网层Inter-Network Layer,负责网络间的寻址和数据传输,相当于OSI/RM中的第三层,其常用的协议有IP(网际协议,提供主机之间的报文分组传递服务)、ICMP(网际控制报文协议,控制主机与网关之间差错及控制报文的传输)、RIP(路由选择信息协议,用于网络设备之间交换路由信息)、ARP(地址解析协议,将IP地址映射为物理地址)、RARP(反向地址转换协议,将物理地址映射为IP地址);传输层Transport Layer,负责提供提供可靠的传输服务,相当于OSI/RM的第四层,其常见的协议有TCP(传输控制协议,提供可靠的、面向连接的数据流传递服务)、UDP(用户数据报协议,提供不可靠的、无连接的报文分组传递服务);应用层Application,负责一切与应用程序相关的功能,相当于OSI/RM中的上三层,其常见的协议有FTP(文件传输协议,用于实现互联网中交互式文件传输功能)、Telnet(远程登陆协议,用于实现互联网中的远程登陆功能)、SMTP(简单邮件传输协议,用来实现互联网中电子邮件传送功能)、HTTP(超文本传输协议,用于实现互联网中的WWW服务)、DNS(域名解析,用于实现主机名与IP地址之间的映射)、NFS(网络文件系统,用于网络中不同主机间的文件共享)、SMB(服务信息块,用于Windows主机与Linux间的文件共享)
2.网络接口:为了使用外围设备的响应接口,在Linux核心文件(kernel)中都有相应的名字
Lo:本地回送接口用于网络软件测试以及本地机进程间的通讯
Ethn:以太网接口
Pppn:第n个PPP接口,PPP接口按照与它们有关的PPP配置顺序连接在串口上
3.IP地址和域名、子网掩码、路由选择、地址转换与反转换
一、配置TCP/IP 网络
横块配置文件用于在Linux系统启动时加载系统所需的硬件驱动模块,RH9模块配置文件的全路径名为"/etc/modules.conf" 例:grep eth /etc/modules.conf
alias eth0 pcnet32当前系统的网卡eth0所使用的驱动模块名称为"pcnet32"
TCP/IP参数:所有的网络参数都是通过配置文件生成的。
1.配置网卡:/etc/syscnfig/network-scripts/ifcfg-eth0文件
DEVICE=eth0 物理设备名字
BOOTPROTO=static|dhcp|bootp 静态的|使用DHCP协议|使用BOOTP协议
BROADCAST=192.168.1.255 广播地址
IPADD=192.168.1.67 表示IP地址
NETMASK=255.255.255.0 子网掩码
NETWORK=192.168.1.0 网络号
ONBOOT=yes|no 表示系统启动时是否激活该网卡
/etc/rc.d/init.d/network restart 重新启动网卡
2./etc/sysconfig/network 指定服务器上网络配置信息
NETWORKING=yes|no 网络是否被配置
HOSTNAME=linux9 服务器主机名
GATEWAY=192.168.1.1 网络网关的IP地址。
3.DNS客户配置文件/etc/resolv.conf设置DNS服务器
nameserver 192.168.1.2 表示解析域名时使用该地址指定的主机为域名服务器,最多指定于个DNS服务器
domain abc.com指定当前主机所在域的域名
4.名称解析顺序/etc/host.conf 指定主机名的解析顺序
order hosts,bind 表示先查询/etc/hosts/文件,再使用DNS来解析主机名
multi on 指定是否/etc/hosts文件中指定的主机可以有多个地址
nospoof on 指不允许对该服务器进行IP地址欺骗
5.HOST文件配置/etc/hosts 主机名与IP 地址的映射
例Linux8 localhost.localdomain localhost
166.111.219.157 wnt-hp
166.111.219.181 wnt-sun
一、方案说明
1.课程性质与教学目的
本课程属于网络信息系统整体框架结构中网络支持系统中的内容,是保证网络信息系统正常运行的基础。本课程内容以LINUX为主,目的在于通过对网络操作系统的讲解,对网络操作系统的工作原理、体系结构、关键技术、典型应用的授课帮助学员建立网络操作系统的整体概念,使学员掌握网络操作系统,主要是LINUX的实际应用、系统管理及网络管理的基本技能。
2.总体教学要求
本课程内容主要包括LINUX的系统管理及网络管理两部分。建议任课老师对授课内容以形象生动的介绍为主,对技术内容的细节也应该做充分的讲解和演示,目的在于使学生完全掌握网络操作系统的整体概念,理解网络操作系统的工作原理以及实际应用方法。
二、教学时间安排
课程总学时:60学时
第一章 系统介绍 6学时
第二章 系统安装 6学时
第三章 使用LINUX 9学时
第四章 系统管理 9学时
第五章 建立Intranet/Internet服务 12学时
第六章 操作系统间集成 6学时
第七章 使用X Window系统 6学时
第八章 安全管理 6学时
第一章
授课内容:UNIX历史,UNIX主流产品介绍,LINUX历史,LINUX系统特点,主流LINUX版本,RED HAT LINUX优点
一、Linux概述
在Red Hat的300名工程师中,有6名来自于全世界最顶尖的10名Linux核心开发者,7名来自全球最出色10名Linux开发工具工程师。Red Hat的培训及认证被认为是Linux认证的标准。Certification杂志的最新调查显示,RHCE(Red Hat认证工程师)认证被公认为总体质量最高的国际IT认证
Linux的历史可以追溯到1990年,Linus Torvalds还是芬兰赫尔辛基大学的一名学生,最初用汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(用于操作系统教学、很小的Unix)中得到灵感,发誓要写一个比Minix更好的Minix,于是开始写了一些硬件的设备驱动程序、一个小的文件系统......,这样0.0.1版本的Linux就出来了,但是它必须在有Minix的机器上编译以后才能玩,这时候的Linus已经完全“走火入魔”了,决定踢开Minix“闹革命”,于是在1991年10月5号发布了Linux 0.0.2版本,这个版本已经可以运行bash(一种用户与操作系统内核通讯的软件)和gcc(GNU C编译器)了。
1.概念:Unix: 用于大型企业中,具有强大的网络功能。Linux: 是一个免费的支持多用户、多进程、多线程,实时性较好的、功能强大的类Unix操作系统(工作方式和UNIX一样)。
2.特点:
安全:具有防火墙功能,包过滤功能等。
稳定:
高效:可用于386以上的机器。
2.应用
科学计算
网络服务(主要功能)
应用软件
3.起源
1969年---1970年由汤姆逊(tompson)和里奇(ritchie)开发,1973年两人用C语言改编了UNIX--AT&T System5
与UNIX的共同特点:树型的文件结构,设备文件,shell等
创始者是芬兰赤尔辛基大学的 Linus torvalds,他用两个月的时间编写了LINUX的框架,包括磁盘驱动,小型文件系统,1991年开发出了0.0.1版,同年10月LINUX放在FTP上发布,每当出现新问题时,总有几十名黑客修补其中的错误
GNU,是Stall man在1984年发起的自由软件基金,其目标就是将UNIX加以改进写出一个新的OS,其核心是Hurd,GNU开发了一些类UNIX工具软件,如Emacs Gcc等,LINUX使用了自由软件基金的版权声明和大量的GNU软件
四.Linux 的优点
全32位的操作系统,386以上的机器支持。
多任务的OS可以同时执行多个程序
多用户的支持
和现今的UNIX,SystemV,BSD等主流的UNIX操作系统完全兼容,全都遵守posix的标准
内存管理: 1.虚拟内存 2.SWAP分区
支持其它系统:可以同时挂上许多系统的磁盘
漂亮的X视窗系统
支持的应用软件数目多,因为有许多人为Linux开发软件,而且都是免费的
五.Linux 的应用程序
文本和文字处理程序,VI,gedit
X Window,使用基础图形化用户界面
编程语言,可以使用多种编程和脚本语言
Internet工具 Netscape 浏览器,MOZILLA
数据库:mySQL,Oracel
六.Linux 版本
内核+SHELL+GUI+设备驱动程序=操作系统
Red Hat,安装和升级操作系统的工具,以及良好的安装、删除与跟踪软件包的特性而闻名(RPM包管理系统)
Xteam Linux, 编程方面比较突出.
红旗Linux
学习Linux的主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
第二章:Linux 的安装
了解安装Linux系统所需要的知识:硬件需求,分区知识,服务知识,驱动程序准备
学习用光盘引导安装Red Hat Linux 9.0 系统
学习用启动盘引导安装Red Hat Linux 9.0 系统
学习从网络上安装Red Hat Linux 9.0 系统
一.预备知识
1.了解系统需要求
486(100MZ) 奔腾级CPU 133以上
16M内存 32M
VGA显卡,兼容VESA2.0
SCSI卡,SCSI硬盘,个人桌面安装至少需要1.5GB空闲空间,工作站至少需要2.0GB,服务器没有X需要1.3GB+GNOME和GDE=2.1GB,全部安装至少需要4.5GB空闲空间
定制安装
Red Hat Linux推荐的硬件配置
#Pentium级以上的CPU
#128M内存
#600M-1.2G的硬盘空间,取决于使用目的。
#可启动的CDROM或者软驱
2.分区
分区类型:组织文件的方式。
swap: 交换分区
ext2:7.0以前使用
ext3:8.0 ,9.0以后使用,日志型分区,可以恢复数据
ISO9660,光盘系统
/存放系统内核400M /boot存放系统引导文件 /swap
IDE hda1 hdb1
a: 第一硬盘 b:第二硬盘 1:第一分区
SCSE:sda1
3.安装方式:GUI、TEXT、其它
安装方法:
光盘
网络:HTTP,NFS服务器,FTP
启动软盘
硬盘安装
二.安装步骤
可以检测光盘是否是物理损坏,确保此光盘是REDHAT官方发布
说明信息
择安装语言:Red Hat Linux 9支持多种语言界面,包括英文、简体中文和繁体中文等
选择键盘类型:默认us
选择鼠标:安装程序能够自动检测到系统所使用的鼠标类型
安装类型:个人桌面,工作站,服务器,定制
个人桌面:图形化桌面环境.1.5G磁盘空间
工作站: 包括图形化桌面环境和软件开发工具。2.0G GNOME KDE(默认)xx
服务器: 字符界面安装.1.3G
定 制: 自由选择.最大要5G
选择分区:Autopartition,自动分区将重新建立硬盘分区,所有硬盘中现有数据将丢失.Disk Druid手动分区,/dev/sda1 ext3 /boot boot中Linux系统启动时所需要的文件,/dev/sda2 ext3 /根分区作为系统目录树的根节点,需要较大的空间,/dev/sda3 swap交换分区通常是物理内存2倍
分区方案:删除系统中所有Linux类型的分区.删除系统中所有的分区,不论其分区类型.保留系统中所有类型的现有分区
引导装载程序配置:GRUB的功能强大,LILO的历史较长但功能简单
MBR 主引导记录
GRUB 引导OS的程序,找操作系统的内核程序
网络设置
主机名
防火墙配置:无防火墙
附加语言
设置口令:最少6位
选择软件包:Apache(提供WEB服务),Vsftpd:提供FTP服务
网络安装
1). 安装服务器的准备:
网络安装的服务器按照安装方式的不同,可分为3种,NFS,FTP和HTTP,安装文件的组织方式有两种,安装文件树和ISO镜像。
关于NFS,FTP和HTTP服务器的配置,请参考其它文档,本文主要介绍安装用到的部分。
(1) 安装文件树的准备:
把Red Hat Linux 9 安装光盘的第一张放进光驱,在命令行输入:
mount /mnt/cdrom
cp -var /mnt/cdrom/RedHat /var/ftp/pub/rh9/
umount /mnt/cdrom
然后再对另两张光盘做同样的操作。
这样,我们就可以设置NFS,FTP和HTTP了。
NFS:
编辑/etc/exports,加入/var/ftp/pub/rh9 *(ro)
然后启动NFS服务,service nfs start;如果已经启动NFS服务,exportfs -a或service nfs reload就可以使我们新加入的文件export
FTP:
因为我们把iso放到了Anonymous的/var/ftp/pub下,所以我们只要启动vsftpd就可以了,service vsftpd start;
HTTP:
我们做一个link给iso所在的目录,ln -s /var/ftp/pub/ /var/www/html/pub
然后启动httpd,service httpd start,如果已经启动了httpd,不用做任何事就行了。
(2) ISO镜像的准备和安排:
ISO镜像可以是从网上下载,也可以用安装光盘来自己制作。
下载的可以到官方网站,也可以到速度比较好的镜像站点,根据发行版本的不同,请选择合适的网站下载。如 http://www.redhat.com为RedHat的官方网站。
下载要注意的是一定要计算MD5。因为下载的文件较大,由于网络传输的问题,有可能使下载的文件不完整。所以计算MD5是非常必要的。
MD5消息摘要函数(RFC 1321)是由麻省理工学院的Ronald Rivest开发的。它是其早期版本MD4(RFC 1320)的推广。MD5的输入是任意长的消息x,输出为128比特的消息摘要h(x)。 在下载ISO时,会同时提供一个MD5SUM,里面是ISO的MD5值。在Linux上,可以用md5sum来计算ISO的MD5值,然后和MD5SUM里的值比较,如果相同,那说明你下的文件没有问题。如果不同,那你可能需要重新下载了。
关于ISO的制作,在Linux下,可以用dd;在Windows下,可以用WinISO,NERO,EasyCD,还可以用其它的工具,我们主要介绍一下在Linux下用dd制作iso的方法。
dd是在物理方式读写文件的,我们就用它来制作iso文件。把Red Hat Linux 9 的安装光盘延第一张放进光驱,然后在命令行输入:
dd if=/dev/cdrom of=/root/rh9-1.iso bs=512
然后,对另两张光盘做同样的操作,生成文件的名字分别为rh9-2.iso,rh9-3.iso。生成文件名字可以是任意的,我这样写,主要是为了好记。
好了,不管是下载的,还是自己制作的,我们有了三个iso文件。我们把它放到/var/ftp/pub/rh9iso/下:
mv /root/rh9-*.iso /var/ftp/pub/rh9iso/
只有NFS方式可能用ISO来安装,所以,我们修改 /etc/exports,加入 /var/ftp/pub/rh9iso *(rw),然后同上,services nfs start,或exportfs -a或service nfs reload就可以了。
(3) 配置dhcp服务器和DNS服务器:
由于是网络安装,而在安装之前,机器是没有IP地址的,也就没法与服务器连通。所以,我们可以设置一台DHCP服务器来自动分配IP地址给客户机。设置DNS的目的主要是为了能够用名字来访问我们的服务器,如果没有DNS,用IP也可以。
安装的启动方式:
网络安装的启动方式有三种,软盘,光盘,网卡启动(由于现在多数网卡不带启动芯片,所以,这里我们不讨论网卡启动的问题)。
网络安装
(2) 光盘启动:
把启动光盘放进光驱,启动机器,过程同上,只是不用换盘了。
(3) 安装光盘启动:
启动机器,把安装光盘第一张放进光驱,在出现boot时,输入 linux askmethod,其同上
输入NFS站点192.168.2.57,/home/user00/redhat9
三.安装后的有关操作
<CTRL>+<ALT>+<SHIFT>+F1 进入字符界面
<ALT>+F7 进入图形界面
<ALT>+F1--F6,tty0-tty5
5、Linux系统目录结构
/bin 用于存放普通用户执行的命令。
/boot 用于存放操作系统启动时所需要使用的文件,与根分区相互独立,可以保证启动文件的安全。
/dev 存放系统中的所有设备文件。
/etc 存放系统中的配置文件。
/home 存放用户的宿主目录。
/mnt 目录中的子目录用于作为系统中的移动存储设备的挂载点。
/root 超级用户的宿主目录。
/sbin 存放系统的管理命令。
/tmp 存放系统的临时文件的目录。
关机命令:
shutdown [options] when [mesasage]
选项:-r系统关闭后重新启动以。 -h完成关机程序后将系统停闭。 -t 延迟多少秒后结束进程。
shutdown -r now
shutdown -h now
登录Linux后,如果选用的登录界面是文本模式,可以使用startx命令进入图形界面。Linux是一个多用户、多线程的操作系统,按下组合键Ctrl+Alt+F1~Ctrl+Alt+F6,可以在六个控制台之间来回切换,你可以在不同的控制台上以不同用户名登录及进行相应操作。通常Linux只能启动一个X Window,按Ctrl+Alt+F7可以切换到X窗口中.Red Hat默认使用的是GNOME桌面系统,在其中可以方便地切换到另一个著名的KDE桌面环境。用户只需要在终端窗口中键入switchdesk指令,或者打开系统菜单/系统工具/更多系统工具/Destop Switching Tool,在弹出窗口中进行相应的选择(图switchdesk),退出(logout)当前视窗管理系统后,再次使用startx指令就可以进入到用户新近选择的X Window中来。
#init 5启动X 图形用户界面
说明∶Linux分为多个运行态(级别),默认的是3号多用户网络态,为字符界面;5号是X Window态,提供类xdm图形登录界面。init 5指令是将当前的运行态转到5号态,启动X Window图形登录界面
第三章:使用SHELL
学习目标:
熟练掌握命令行的使用方法
掌握帮助的使用方法
熟练掌握文本编辑器(vi)的使用方法
一.掌握命令行的使用方法,shell
1.概念:是用户和Linux 操作系统之间的接口,它是命令语言,命令解释程序及程序设计语言的统称。shell是一个命令语言解释器,它拥有自己内建的shell命令集。有些命令是包含在shell内部的,还有一些命令,如cp和mv是存在于文件系统中某个目录下的单独的程序,shell首先检查是否是内部命令,否则检查是否是应用程序,如ls和mv,然后shell在搜索路径里寻找这些应用程序,否则将显示一条错误信息。若找到该内部命令或应用程序将被分解为系统调用并传给Linux内核
eg,$mak work 返回错误信息
2.shell的种类:Bourne shell(sh) C shell(csh) Korn shell
Boure shell:功能有限,没有历史记录列表或命令行编辑等特性,在程序退出时测试其执行成功还是失败,从而可以编制复杂脚本
C shell:最早期的Unix shell,它提供了从著名C语言语法派生的命令集和脚本环境,没有命令行辑等特性,包括命令的别名和命令的历史记录
Korn shell:集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容,它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序
Red Hat linux9.0缺省情况下使用的是Bash,Bourne Again Shell,由B shell发展而来/bin/bash目录中。可以提供命令补全,命令编辑和命令历史表等功能。
2.命令分类:
内部命令:放在Shell当中的,常驻内存的命令。
外部命令:存在于文件系统中某个目录下的单独的程序
3.Shell的命令行
格式:Command Option Arguments
option:是包括一个或多个字母的代码,它前面是一个减号,用于改变命令执行的动作的类型
eg,ls -l 列出数据大小和数据最后被修改的时间
Arguments:在选项后键入的一个或多个单词, 命令执行的对象
cp aa a1
4.命令行特征:命令行是可以编辑的一个文本缓冲区
利用上箭头可以重新显示刚执行的命令
bash保存着以前键入过的命令列表
一个命令行可置入多条命令,用“;”隔开
一个命令可以多行输入,用“/”将一个命令行持续到下一行
5.命令行中的特殊字符:
? 代表任意一个字符
* 代替任意的一串字符
[] 代表字符范围内的一个字符
引号:
单引号 括起来的字符是普通字符。eg,#string='$path' #echo $string 结果为$path
双引号 把括起来的字符变成普通字符,($, ', "除外)
反引号 括起来的字符串被解释为命令行,一般位于键盘的左上角。#string="current directory is `pwd`" #echo $string 结果为current directory is /home/test
注释符 以#开头的正文行表示注释行。
6.标准的输入输出
三个标准文件:stdin 对应终端的键盘
stdout 对应终端的屏幕
stderr 对应终端屏幕
输入重定向:把命令的标准输入重定向到文件中
输入重定向符:"<" 用于改变命令的输入源 例如,#wc<aa
输出重定向:把命令的标准输出或标准错误输出重定向到指定文件中。
输出重定向符:">" 例如,#ll>ab
管道:将一个程序或命令的输出作为另一个程序或命令的输入。
管道符 "|" 例如cat aa|wc
命令的替换:将一个命令的输出作为另一个命令的参数。#cd 'pwd'
格式:command1 `command2` #ll `pwd`
二、文件或目录操作
1.文件:是Linux用来存储信息的基本结构,是被命令存储在某种介质上的一组信息的集合。Linux文件均为无结构的字符流形式
2.文件名:文件的标识,由下划线和圆点组成的字任串构成,文件名长度在255 个字符内,扩展名起到分类的作用 例如preface,chapter1.txt,vsftpd-1.1.3-8.i386.rpm,xu.bak
3.文件类型:
普通文件:文本文件 ASCII码形式,以“行”为基本结构。
二进制文件 二进制形式,一般为可执行程序,图形,图像,声音等
目录文件:管理和组织文件,存储一组相关文件的位置,大小等与文件有关的信息,简称:目录。
设备文件:每一个I/O设备都看成一个文件,使文件与设备操作尽可能统一
块设备文件:字符块为单位
字符设备文件:以单个字符为单位
4.树型目录结构:
文件目录:将所有文件的说明信息采用树型结构来组织 根root(/)目录下的目录就是系统目录,系统每建一个目录时,都会自动为它设定两个目录文件,一个是".",一个是".."
5.工作目录、用户目录与路径
工作目录:当前目录或working Directory
用户主目录:系统管理员增加用户时建立起来的,通常与用户的登陆名相同 “~”代表用户的宿主目录 例#cat ~/bb等价于cat /home/hkp825/bb
路径:指从树型目录中的某个目录层次到某个文件的一条道路,用/分开,分为绝对路径(从根目录开始的路径)和相对路径(是从用户工作目录开始的路径)
三、文件与目录的操作命令
cp命令
功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。
语法: cp [选项] 源文件或目录 目标文件或目录
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
$ cp - i /test/aa /test/aa1
$ cp exam1.c /usr/ wang/
$ cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。
mv命令
功能:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。
需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。
例1:将/test1中的所有文件移到当前目录(用“.”表示)中:
$ mv /test1/* .
例2:将文件aa.txt重命名为ab.txt
$ mv wch.txt wjz.doc
rm命令
在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
语法:rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
例:rm -rf test
ln命令
该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
语法:ln [选项] 目标 [链接名]
ln [选项] 目标 目录
链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。
在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。
如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。
例:$ln -s /test1/aa /test/taa
用户为当前目录下的文件lunch创建了一个符号链接/home/xu。
mkdir命令
功能:创建一个目录(类似DOS下的md命令)。
语法:mkdir [选项] dirname
说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中 (dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
例如:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。
$ mkdir - p - m 700 ./inin/mail/
rmdir 命令
功能:删除空目录。
语法:rmdir [选项] dirname
说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。
例如:$ rmdir - p /usr/xu/txt 将/usr/xu/txt目录删除。
cd 命令
功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory, 则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。
$ cd /test 此时,用户可以执行pwd命令来显示工作目录。
pwd 命令
在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
ls 命令
ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
语法:ls [选项] [目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- R 递归式地显示指定目录的各个子目录中的文件。
用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件 后面的9个字符表示文件的访问权限,分为3组,每组3位
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示: r 读 w 写 x 执行,对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
- 没有设置权限。
例1:列出当前目录的内容。 $ ls
例2:列出某个目录的内容。 $ ls –F /home/xu Mai1/
例3:列出某个目录下所有的文件(包括隐藏文件)。
$ 1s -aF /home/xu
例4:用长格式列出某个目录下所有的文件(包括隐藏文件)。 $ 1s -laF /test
其他命令
echo命令
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
例1: $ echo 'Thank you !' Thank you !
例2: $ echo "Thank you !" Thank you !
例3: $ echo Thank you ! Thank you !
cal命令
cal命令的功能是显示某年某月的日历。
该命令的一般格式为: cal [选项] [月 [年]] 命令中各选项的含义为:
- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
- y 显示出整年的日历。
例1 显示1999年11月的日历。$ cal 11 1999
例2 显示1999年11月的每一天是一年中的第几天 。 $ cal – j 11 1999
date命令
date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
date 设置时间格式
命令中各选项的含义分别为:
-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间
时间域
% H 小时(00..23) % I 小时(01..12) % k 小时(0..23) % l 小时(1..12) % M 分(00..59) % p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时 % s 从1970年1月1日00:00:00到目前经历的秒数 % S 秒(00..59) % T 时间(24小时制)(hh:mm:ss) % X 显示时间的格式(%H:%M:%S) % Z 时区 日期域 % a 星期几的简称( Sun..Sat) % A 星期几的全称( Sunday..Saturday) % b 月的简称(Jan..Dec) % B 月的全称(January..December) % c 日期和时间( Mon Nov 8 14:12:46 CST 1999) % d 一个月的第几天(01..31) % D 日期(mm/dd/yy) % h 和%b选项相同 % j 一年的第几天(001..366) % m 月(01..12) % w 一个星期的第几天(0代表星期天) % W 一年的第几个星期(00..53,星期一为第一天)%x 显示日期的格式(mm/dd/yy) % y 年的最后两个数字( 1999则是99) % Y 年(例如:1970,1996等)
需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。
例1:用指定的格式显示时间。
$ date ‘+This date now is =>%x ,time is now =>%X ,thank you !’
This date now is =>11/12/99 ,time is now =>17:53:01 ,thank you !
例2:用预定的格式显示当前的时间。
# date
Fri Nov 26 15:20:18 CST 1999
例3:设置时间为下午14点36分。
# date -s 14:36:00 Fri Nov 26 14:15:00 CST 1999
例4:设置时间为1999年11月28号。
# date -s 991128 Sun Nov 28 00:00:00 CST 1999
clear命令
clear命令的功能是清除屏幕上的信息,它类似于DOS中的 cls命令。清屏后,提示符移动到屏幕左上角。
例如: $ clear
思 考 题
1. 验证新用户wch是否已注册成功,并修改该用户的口令。
2. 如果希望系统在五分钟后关机,并马上重新启动,应该如何操作?
3. 如果你是以普通用户身份访问系统,是否可以查看当前系统内存的使用情况?如果可以,如何查看?
4. 如何显示当前系统的时间?
5. 如何将系统时间设置为1999年12月25日上午10点16分?
6. 请显示2000年1月的日历,在显示之前请先清屏
"man"
语法:man[-k][section]keyword
功能:显示命令的帮助手册
选项:
-k 查看帮助的位置信息
-K 查看所有文档的详细信息
alias
#alias 查看已别名
#alias type='cat'
find / -name my* -print
这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。
四、VI编辑器的使用
1.vi简介:vee-eye,可视的文本编辑程序,是标准的Linux文本编辑程序,相当于DOS下的EDIT
2.启动vi
创建一个文件,$vi aa
vi状态行:屏幕的最后一行被称为状态行,用于显示文件名及文件中行和字符的个数
vi的三种模式:
输入模式:用于在一个文件中输入文本
命令模式:用于输入那些执行特定vi功能的命令,是vi的缺省模式
末行模式:":"转换,用于执行保存,搜索等操作
3.插入模式:
插入命令insert:插入文本从光标所在位置前开始 I将光标移到当前行的行首,然后在其前插入文本
附加命令append:用于在光标所在位置之后追加新文本.A把光标挪到所在行的行尾,从那里开始插入新文本
打开open命令:o 该命令将在光标所在行的下面新开一行,并将光标置于新行的行首,等待输入文本.O命令是在光标所在行的上面插入一行
4.vi的编辑模式
0移动到光标所在行的行首
$移动到光标所在行的行尾
H光标移至屏幕的左上角
M将光标移至屏幕显示文件的中间行的行首
L将光标移至屏幕上的最底行的行首
光标定位:h 代表左移,j 代表下移,k代表左移,l代表右移
撤消:u 最近一次输入,U 一行的更改
删除:x或del删除当前光标所在位置的字符,X删除光标左面的字符,dw删除单词,dd删除整行,D删除当前光标右,d0删除当前光标左边的字任,dG 删除行到文件尾
剪切dd,粘贴,p 复制 yy
查找 :/ 查找的词 (命令行也可以) ,n:跳转到该词的下一个出现处,N:上一个出现处
某些字符(/ & ! ^ * $ / ?)对查找过程有特殊意义,应使用转意符/ 例 "anything?" 应输入"/anything/?"
替换::s/被替换的/替换的 :s/被替换的/替换的/g替换一行
例如: :s/old/new在一行内替换头一个字符串old为新的字符串new :s/old/new/g在一行内替换所有字符串old为新的字符串new
#,#s/old/new/g在两行内替换所有的字符串old为新的字符串new
:%s/old/new/g在文件内替换所有的字符串为新的字符串
在vi中有9个用于维护删除操作的缓冲区,1,2,...,9.组成一个队列
第四章:系统管理
授课内容:引导与关闭系统,管理文件系统,用户和组管理,多进程管理
授课重点:用户和组管理,管理文件系统
一.引导与关闭系统
启动引导器是计算机启动过程中运行的第一个真正的软件,通常计算机启动时在通过BIOS自检后读取并运行硬盘主引导扇区(MBR)中的启动引导器Boot Loader程序,启动引导器再负责加载启动硬盘分区中的操作系统.GRUB和LILO是Linux操作系统极其灵活的引导加载程序(Boot Loader),早期多用LILO作为启动程序,现在用GRUB,也可以引导其它操作系统.
1.GRUB功能:
提供了真正的命令行交互界面,能够使用户以最大灵活性使用各种参数引导操作系统和收集系统信息.
支持LBA(Logical Block Address)逻辑块寻址。若BIOS支持LBA,GRUB能够从1024柱面以后的分区中启动系统
GRUB能够访问ext2分区,每次启动时GRUB访问ext2分区中的配置文件/boot/grub/grub.conf.
2.安装GRUB
安装GRUB软件包:把GRUB所需要使用的文件安装到当前系统
放入第一张光盘
#mount /mnt/cdrom
安装命令:
#rpm -i /mnt/cdrom/redhat/rpms/grab-0.93-4.i386.rpm
安装GRUB到MBR:手工安装GRUB到MBR
建立GRUB配置文件:建立文件"/boot/grub/grub.conf"并按照主机硬盘中已安装的操作系统进行配置
使用安装命令安装GRUB到MBR
#grub
grub>root (hd0,0)定义开机分区所在的地方
grub>setup(hd0)将grub安装到MBR
grub>quit退出GRUB
3.引导系统中出现的参数介绍
#cat /boot/grub/grub.conf,在/etc下有一个符号链接grub.conf
default=0 告诉GRUB默认引导哪个系统,0表示第一个系统
timeout=10 如果不选择10秒钟后会自动启动默认系统。如果为-1则用户必须选择。
splashimage=(hd0,0)启动的背景图像。GRUB对硬盘和分区的编号都是从0开始计算
title Red Hat linux (2.4.18-14) 定义LINUX启动菜单中显示的操作条目名字
root(hd0,6) 指的是root文件系统安装在那个分区
kernel /vmlinu2-2.4.18-14 ro root=LABEL=/ 加载linux的内核文件.依次为kernel 到内核的路径 内核参数等(root=表明指向保存根文件系统的Linux分区)
initrd /initrd-2.4.18-14.img,用来初始的Linux image,加载镜像文件
4.命令模式启动
#grub
grub>root(hd0,0)直接引导第一个硬盘的第一个分区
grub>chainloader(hd0,0)+1启动windows操作系统
grub>kernel (hd0,0) /boot/vmlimuz root=/dev/hda1
grub>boot
5.关闭系统
关闭系统:#init 0,#halt,#shutdown -h now,
重启计算机:#init 6,reboot,#shutdown -r now
二、管理文件系统
1.文件系统类型简介:即操作系统组织文件的方式
ext2: 能压缩,加密
ext3:在ext2的基础上加入了文件系统日制的管理机制,OS能快速检测系统日志恢复文件系统到正常状态。
swap: 交换分区,管理内存的交换空间
运行状态---内存运行 R
休眠状态---虚拟内存中 s
vfat: 把DOS下的所有fat文件系统称为vfat,其中包括FAT12,FAT16和FAT32.Red Hat Linux9中既可以使用系统中已存在的FAT分区,也可以建立新的FAT分区
NFS: 网络文件系统,用于在UNIX系统间通过网络进行文件共享
iso9660:光盘使用的标准文件系统。linux可以读、刻录光盘。
三、挂载和卸载本地磁盘
1.可以把该分区挂载到系统目录树的相应位置,挂载文件系统有两种方式,使用mount命令和修改fstab文件进行自动挂载
"mount",通常适用于光盘、软盘等不需要经常使用的存储设备
语法: mount[选项]<设备文件名><挂载点目录>
功能: 把某个分区挂载到一个新的子目录.
选项:
-a 把/etc/fstab文件中列出的文件系统都挂载上.
-t fstype,定义挂载的文件系统类型.Linux可以挂载其它非ext2标准的文件系统,比如vfat和ISO9660等
-o options定义作用于挂载过程的选项 "ro"只读性挂载,"rw" 可读写 , "exec" 允许二进制代码的执行,可执行脚本文件,"noauto"禁止分区自动挂载,用于/etc/fstab文件.
2.unount
语法:umount 设备文件名/挂载点目录
功能:把某个分区挂载到一个新的子目录
选项:
使用lsof程序或者fuser程序检查有哪些进程打开了文件,终止那些进程的运行或者让进程的所有者停止操作
umount -f参数强制执行卸载操作,但可能造成数据丢失
最安全和适当的办法是把系统调整为单用户模式,然后再卸载这个系统
3.设置系统启动时自动挂载文件系统
对于系统运行必须使用或系统中长期使用的文件系统,需要设置其在系统运行时自动进行挂载,在Red Hat Linux 9启动过程中,init进程会自动读取/etc/fstab中的配置内容佳载相应的文件系统.
4.挂载光盘:在光盘挂载期间,光盘驱动器将被锁定
语法:mount -t iso9660 /dev/cdrom 光盘挂载点
功能:
例:mount -t iso9660 /dev/cdrom /mnt/cdrom/
5.卸载光盘:
umount 光盘挂载点目录|光盘设备文件全路径名
例:umount /mnt/cdrom
6.弹出光盘 "eject"
语法:eject[光盘挂载点目录|光盘设备文件全路径名]
功能:弹出指定的光驱.
例:eject -n显示系统默认的弹出指定的设备
eject -t关闭默认的光盘驱动器
7.USB系统设备速度快,稳定性高,即插即用特点.所有的USB设备视为SCSI设备,插入U盘后出现提示信息.
# mount -t vfat /dev/sdb1 /mnt/usb-disk
四.管理本地文件
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l /test/aa
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l /test/aa
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如: - rw- r-- r-- 普通文件 文件主 组用户 其他用户
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是: + 添加某个权限。 - 取消某个权限。 = 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:r 可读.w 可写.x 可执行.X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
u 与文件属主拥有一样的权限.g 与和文件属主同组的用户拥有一样的权限.o 与其他用户拥有一样的权限
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为: chmod [mode] 文件名?
例子:
(1)文字设定法:
例1:$ chmod a+x /test
例2:$ chmod ug+w,o-x text
例3:$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
例4:$ chmod a–x mm.txt $ chmod –x mm.txt $ chmod ugo–x mm.txt
(2)数字设定法:
例1: $ chmod 644 mm.txt $ ls –l
例2: $ chmod 750 wch.txt $ ls –l -rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename?
功能:该命令改变指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:$ chgrp - R book /opt/local /book
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
语法:chown [选项] 用户或组文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
例1:把文件shiyan.c的所有者改为wang。
$ chown wang shiyan.c
例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。
$ chown - R wang.users /his
五.用户和组的管理
用户是可以登陆到系统帐号,它允许多个用户同时登陆到系统,Linux给每一个系统帐号一个用户ID,来区别不同的用户
用户:进入系统的一个账号UID
用户的分类:超级用户root它具有操作系统的一切权限、普通用户的UID是500-60000范围、伪用户,如bin、sys、lp等,是为了方便系统管理,满足相应的系统进程对文件属主的要求,伪用户不能登陆,其UID为1-499
1.手工编辑/etc/passwd和/etc/group
passwd文件用于定义系统的用户帐号,其字段划分account用户帐号名称 password用户口令,真正的密码保存在shadow文件中 UID用户号,惟一表示某用户的数字 GID用户所属的私有组号,该数字对应group文件中的GID GECOS可选的用户信息说明字段,通常用于保存用户全名的信息 directory用户的宿主目录 shell:用户所使用的shell默认"/bin/sh"
shadow文件位于"/etc"目录中,用于存放用户口令等重要信息,只有root用户可以读取#ll /etc/shadow
2./etc/group
group文件用于存放用户的组帐号信息,任何用户都可以读 group_name用户组的名称:password用户组口令:GID用户组标识号:user_list用户成员列表
gshadow文件用于定义用户组口令、组管理员等信息,只有root用户可以读取
3./usr/sbin/useradd
语法:useradd[选项]<用户名>
功能:添加指定的用户账号,需passwd设置用户口令才能登陆
选项:
-g 用于添加用户帐号并设置该用户的私有组
-D 显示useradd命令使用的默认值.
-G 将新建的用户加入到某个组当中
-M 不建立用户的宿主目录
"head" 显示前10条记录
"tail" 显示后10条记录
"grep" 查找某个字符串的命令
passwd -S <用户名> 查看用户状态
/etv/shadow 影子文件,存放用户密码。
4."usermod"
语法:usermod[选项]<用户名>
功能:设置已有用户账号属性,包括用户宿主目录、私有组、登陆shell等内容
改变用户帐号名:usermod -l 新用户登陆名 当前用户登陆名 例:usermod -l user3 user2
锁定用户帐号:usermod -L 用户帐号名 该命令通过在shadow文件中指定用户帐号的口令字段前加入锁定符号"!"锁定该用户帐号
解锁用户帐号:usermod -U 用户帐号名 该命令是通过在shadow文件中指定用户帐号的口令字段中去除锁定符号"!"来解锁该用户帐号
5."userdel"
语法:userdel[选项]<用户名>
功能:删除指定的用户账号
选项:-r 删除用户同时删除宿主目录
6."passwd"
语法:passwd[选项]<用户名>
功能:修改用户账号口令
选项:
-S 查询指定用户帐号的口令状态,只有root用户可以使用 例passwd -S user1
-l 锁定指定用户帐号的口令,只有root用户才能使用 例passwd -l user1
-u 解锁指定用户帐号 例passwd -u user1
-d 删除指定用户帐号的口令,使该用户帐号不能登陆系统,要恢复需重新设置口令
组的管理
组的概念:是一组特定的用户的集合.建立一个用户的同时,会默认以新用户的名字建立一个新组,新建的用户就是组中的成员
例useradd -g 初始组 -G附属组 用户名
组的类型:私有组 标准组:可以容纳多个用户
7."groupadd"
语法:groupadd[选项]<组名>
功能:新建一个组
选项: -r 建立一个系统组账号,系统组账号小于500
例#groupadd -r g1 #grep g1 /etc/group
8."groupmod"
语法:groupmod[选项]<组名>
功能:用于改变组账号的属性
选项:
-g 修改组的GID #groupmod -g 新的GID 用户组帐号名 例#groupmod -g 503 mygroup,#grep mygroup /etc/group
-n 改变用户组的名称,但GID不变。#groupmod -n 新的组名 原用户组名
9."groupdel"
语法:groupmod[选项]<组名>
功能:删除指定的用户组
注:当有用户使用组帐号作为私有组时不能删除该组帐号
10."gpasswd"
语法:gpasswd[选项]<用户名><组名>
#gpasswd -a 用户帐号名 组帐号名 用于将指定用户帐号添加到指定用户组 例#gpasswd -a user1 g1
#gpasswd -d 该用户帐号名 组帐号名 用于将指定用户帐号从指定用户组中删除 例#gpasswd -d user1 g1
#gpasswd -A 组管理员列表 用户组 该命令用于设置指定的用户为用户组的管理员 例#gpasswd -A user1 g1
六.进程管理
1.有关概念
程序:一组指令代码,完成特殊任务。
软件:程序和相关文件的集合。
进程:程序在系统当中动态执行的一个过程。系统资源分配的单位,进程占用CPU,内存资源
进程的类型:交互式进程,是一个由shell启动的进程 批处理进程,不与特定的终端相关联,提交到等待队列中顺执行进程 守护进程,在Linux启动时初始化需要时运行于后台的进程
进程的启动方式:手工启动和调度启动
手工启动:例ls -l启动一个前台的进程 ls -R />list &递归地列出根目录及其子目录下的所有文件和目录的列表,并重定向到list文件,&是后台执行
调动启动:这种启动方式事先进行设置,根据用户要求让系统自动启动
2.有关命令:"ps"
语法:ps[选项]
功能:查看当前控制台进程
选项:
-a 列出带有控制终端的全部进程
-u 列出进程的所有者
-x 列出没有控制终端的进程
#ps -aux>aa #head aa
PID,进程的标识号码 USER,谁拥有这个进程 %CPU进程占用CPU %MEM进程占用内存的百分比 VSZ进程占用虚拟内存的总量 RSS进程占用真实内存的总量 TTY进程控制终端 STAT进程的状态(S进程休眠,R CPU正在处理的进程,D不可中断休眠的进程 T正在被纠错程序跟踪或者已经被终止的进程 Z昏迷进程,即父进程没有使用wait系统调用通知它的子进程的终止;父进程被非正常终止) START进程开始的时间 TIME进程已经使用的CPU时间 COMMAND进程名称和它的命令行参数
"top" 交互式操作命令,显示CPU的利用率,以及进程的状态每隔2-3s就会刷新进程清单的显示画面
"free" 显示系统内存的使用情况。
3.管理进程
"kill":使用进程号停止某个进程.
kill -9 进程号 强行结束指定进程的运行,该命令对于结束已经"死掉"而没有能力自动结束的进程特别有效,该命令终止的进程属于非正常结束 例:#top & #ps|grep top #kill -9 2618
kill -1 进程号 挂起某个进程或"<ctrl>+z" 挂起 例#top <ctrl>+z #bg后台运行 #jobs显示后台的执行程序
"nice" 用于指定进程运行的优先级 #nice -n command n的数值越大,进程的优先级越低,默认的优先级为0,n可以取负值让运行优先级提高 例:nice --5 top &让top在后台以-5的优先级运行
"renice" 改变一个正在运行进程的优先级 #renice -n pid 例:renice --10 701将正在运行的PID为701的进程的优先级改为-10
七.Linux包管理
rpm包管理
1.rpm概述:RPM (redhat packet manage),RPM最早由Red Hat公司提出的软件包管理标准,由RPM社区负责维护 http://www.rpm.org
2.RPM包的名称格式:cvs-1.11.2-10.i386.rpm 依次是软件名称 软件版本号包括主版本号和次版本号,i386是软件所运行的硬件平台 rpm是文件的扩展名
3.使用rpm命令
#rpm直接回车可以得到命令格式的帮助
# rpm -qa 查询系统中安装的所有RPM包
# rpm -q 软件包名称 查询软件包是否安装 #rpm -q xinetd
#rpm -qi 软件包名称 命令查询系统中已安装软件包的描述信息rpm -qi file(file根据文件中的数据识别文件类型,例#file /test/aa)
#rpm -ql 软件包名称 用于查询系统中已安装软件包里所包含的文件列表 例:rpm -ql file
#rpm -qf 用于查询系统中指定路径中文件所属的软件包 例:rpm -qf /etc/passwd
#rpm -qp RPM包文件全路径名 用于查询RPM包文件中的文件信息,通常用于在安装软件包之前了解软件包中的信息
#rpm -ivh RPM包全路径文件名 i代表安装,v代表verbose设置在安装过程中将显示较详细的信息,h代表hash,设置在安装过程中将显示"#"来表示安装的进度
#rpm -e RPM包名称 用于从当前系统中删除已安装的软件包 例:#rpm -q file #rpm -e file
#rpm -U RPM软件包全路径名 使用指定的RPM软件包对当前系统中同一软件的较低版本进行升级,若未装则tar包管理
1.tar包概述:tar包是UNIX中标准的文件交换格式,只进行打包而不进行压缩.http://www.gnu.org/manual/tar/index.html
2.建立tar包
#tar cvf TAR包文件名 所备份的文件或目录名 把指定的目录或文件打包到指定的文件中,c指定建立TAR包,v设置命令执行时有更多提示信息,f指定TAR包的文件名 #tar cvf tt.tar /test/
3.建立压缩的tart包:
#tar zcvf 压缩TAR包文件名 所备份的文件或目录名 把指定的目录或文件打包后进行压缩并保存到指定的文件 #tar cvf tt.tar.gz /test/
4.查询TAR包中的内容:
#tar tf TAR包文件名 显示指定TAR包中的文件目录列表 #tar tf tt.tar
5.查询压缩TAR包中的内容
#tar ztf 压缩TAR包文件名 例:#tar tf tt.tar.gz
6.释放TAR包
#tar xvf TAR包文件名 例:tar xvf tt.tar
7.释放压缩TAR包 例:tar zxvf tt.tar.gz
"gzip"
语法: gzip[选项]<文件名>
功能: 压缩或展开文件
选项:
-d 把压缩文件解压缩
-l 显示详细信息
-r 递归查找指定的目录并压缩其中的所有文件或解压缩
-t 检查是否完整
-v 详细输出该命令所做的操作
例1:$gzip * 把当前目录下的每上文件都生成一个对应的gz文件.
例2:$gzip -dv *.gz 把当前目录下的所有gz文件进行解压缩,并显示详细信息。
例3:$gzip -9 myfile 把当前目录下的myfile文件进行深度压缩。
例4:$gzyp-v/home/tmp/*.c
$gzyp-tv *.gz 把/home/tmp目录下的所有*.c文件用gzip压缩。然后再检查是否完整
$gzip-dv x.gz 把刚才文件解压缩释放
"more"
语法:move[选项]文件名
功能:分屏显示文件内容
选项:
-c 显示下一屏前后清屏
-d 在屏底显示友好提示信息
f或(空格):显示下一页
n(空格):显示后面的n行
(Enter):显示下一行
例1:$more -dc /etc/passwd 列出文件/etc/passwd的内容,先清屏,最下方显示占全文件的百分比。
例2:$more -c -10 /etc/passwd 列出一个文件的内容,每10行列一次,而且先清屏后显示。
“less”同上,即可以向前也可以向后翻看
编写批处理文件
#vi /etc/rc.d/aa
cd /
ls -l
执行/etc/rc.d/aa
破解Linux超级用户的密码
插入linux第一张启动光盘
按F5
输入linux rescue,以安全模式启动linux
在安全模式下输入:chroot /mnt/sysimage,以根环境运行linux
passwd
第五章:建立Intranet/internet服务
授课内容:配置TCP/IP服务、配置DNS服务、配置DHCP服务、WWW服务器安装和设置、FTP服务配置
授课重点:主DNS服务器配置、辅助DNS服务器配置、高速缓存DNS服务器配置、DHCP配置、APACHE配置
前言
1.网络参考模型:
网络分层技术解决两个问题:异种操作系统、硬件平台之间传输数据;其次是如何在一个复杂的物理网络中实现数据准确传输
分层的三个重要概念:服务,指特定一层提供的功能 接口,是上下层之间调用功能和数据传输的方法 协议,是对等到层必须遵循的标准
OSI参考模型
TCP/IP参考模型:网络接口层Host-to-Net Layer,负责数据的实际传输,相当于OSI/RM中下两层,TCP/IP模型对该层很少定义具体的协议,其常用的协议有HDLC(高级数据链路控制,负责面向点到点的链路传输)、PPP(点到点协议,在串行线上,用于点到点的数据传输);网间网层Inter-Network Layer,负责网络间的寻址和数据传输,相当于OSI/RM中的第三层,其常用的协议有IP(网际协议,提供主机之间的报文分组传递服务)、ICMP(网际控制报文协议,控制主机与网关之间差错及控制报文的传输)、RIP(路由选择信息协议,用于网络设备之间交换路由信息)、ARP(地址解析协议,将IP地址映射为物理地址)、RARP(反向地址转换协议,将物理地址映射为IP地址);传输层Transport Layer,负责提供提供可靠的传输服务,相当于OSI/RM的第四层,其常见的协议有TCP(传输控制协议,提供可靠的、面向连接的数据流传递服务)、UDP(用户数据报协议,提供不可靠的、无连接的报文分组传递服务);应用层Application,负责一切与应用程序相关的功能,相当于OSI/RM中的上三层,其常见的协议有FTP(文件传输协议,用于实现互联网中交互式文件传输功能)、Telnet(远程登陆协议,用于实现互联网中的远程登陆功能)、SMTP(简单邮件传输协议,用来实现互联网中电子邮件传送功能)、HTTP(超文本传输协议,用于实现互联网中的WWW服务)、DNS(域名解析,用于实现主机名与IP地址之间的映射)、NFS(网络文件系统,用于网络中不同主机间的文件共享)、SMB(服务信息块,用于Windows主机与Linux间的文件共享)
2.网络接口:为了使用外围设备的响应接口,在Linux核心文件(kernel)中都有相应的名字
Lo:本地回送接口用于网络软件测试以及本地机进程间的通讯
Ethn:以太网接口
Pppn:第n个PPP接口,PPP接口按照与它们有关的PPP配置顺序连接在串口上
3.IP地址和域名、子网掩码、路由选择、地址转换与反转换
一、配置TCP/IP 网络
横块配置文件用于在Linux系统启动时加载系统所需的硬件驱动模块,RH9模块配置文件的全路径名为"/etc/modules.conf" 例:grep eth /etc/modules.conf
alias eth0 pcnet32当前系统的网卡eth0所使用的驱动模块名称为"pcnet32"
TCP/IP参数:所有的网络参数都是通过配置文件生成的。
1.配置网卡:/etc/syscnfig/network-scripts/ifcfg-eth0文件
DEVICE=eth0 物理设备名字
BOOTPROTO=static|dhcp|bootp 静态的|使用DHCP协议|使用BOOTP协议
BROADCAST=192.168.1.255 广播地址
IPADD=192.168.1.67 表示IP地址
NETMASK=255.255.255.0 子网掩码
NETWORK=192.168.1.0 网络号
ONBOOT=yes|no 表示系统启动时是否激活该网卡
/etc/rc.d/init.d/network restart 重新启动网卡
2./etc/sysconfig/network 指定服务器上网络配置信息
NETWORKING=yes|no 网络是否被配置
HOSTNAME=linux9 服务器主机名
GATEWAY=192.168.1.1 网络网关的IP地址。
3.DNS客户配置文件/etc/resolv.conf设置DNS服务器
nameserver 192.168.1.2 表示解析域名时使用该地址指定的主机为域名服务器,最多指定于个DNS服务器
domain abc.com指定当前主机所在域的域名
4.名称解析顺序/etc/host.conf 指定主机名的解析顺序
order hosts,bind 表示先查询/etc/hosts/文件,再使用DNS来解析主机名
multi on 指定是否/etc/hosts文件中指定的主机可以有多个地址
nospoof on 指不允许对该服务器进行IP地址欺骗
5.HOST文件配置/etc/hosts 主机名与IP 地址的映射
例Linux8 localhost.localdomain localhost
166.111.219.157 wnt-hp
166.111.219.181 wnt-sun
更多推荐
已为社区贡献1条内容
所有评论(0)