第2章 Linux操作系统使用与系统配置.ppt
嵌入式嵌入式Linux操作系统操作系统第第2章章 Linux操作系统使用与系统配置操作系统使用与系统配置 第1章 嵌入式Linux操作系统简介第第2章章 Linux操作系统使用与系统配置操作系统使用与系统配置第3章 嵌入式Linux编程环境第4章 存储管理第5章 操作系统进程第6章 进程间通信第7章 中断与系统调用第8章 文件管理第9章 设备管理第10章 嵌入式Linux的构建课程安排课程安排:2www.embedu.org 第2章 Linux操作系统使用与系统配置2.1 Linux基本命令2.1.1 用户系统相关命令2.1.2 文件目录相关命令2.1.3 压缩打包相关命令2.1.4 比较合并文件相关命令2.1.5 网络相关命令2.2 Linux系统服务2.2.1 独立运行的服务2.2.2 xinetd设定的服务2.2.3 设定服务命令常用方法思考题本章课程:本章课程:3www.embedu.org2.1 Linux基本命令内核、Shell和用户的关系:Shell是一种Linux中的命令行解释程序,就如同C是DOS下的命令解释程序一样,为用户提供使用操作系统的接口。用户在提示符下输入的命令都由Shell先解释然后传给Linux内核。Linux中运行Shell的环境是“系统工具”下的“终端”,读者可以单击“终端”以启动Shell环境。这时屏幕上显示类似“linuxwww home$”的信息,其中,linux是指系统用户,而home是指当前所在的目录。Linux命令格式说明:格式中带的表明为可选项,其他为必选项。选项可以多个连带写入。本章后面选项参数列表中加粗的含义是:该选项是非常常用的选项。4www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令1用户切换(su)(1)作用变更为其它使用者的身份,主要用于将普通用户身份转变为超级用户,而且需输入相应用户密码。(2)格式su 选项 使用者其中的使用者为要变更的对应使用者。(3)常见参数(4)使用示例linuxlinuxwww linux$su-rootPassword:rootwww root#示例通过su命令将普通用户变更为root用户,并使用选项“-”携带root环境变量。(5)使用说明 在将普通用户变更为root用户时建议使用”-”选项,这样可以将root的环境变量和工作目录同时带入,否则在以后的使用中可能会由于环境变量的原因而出错。在转变为root权限后,提示符变为#。5www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令2用户管理(useradd和passwd)(1)作用 useradd:添加用户账号。passwd:更改对应用户账号密码。(2)格式 useradd:useradd 选项 用户名。passwd:passwd 选项 用户名。其中的用户名为修改账号密码的用户,若不带用户名,缺省为更改当前使用者账号密码。(3)常用参数 useradd主要选项参数见表所示。passwd:一般很少使用选项参数。6www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令(4)使用实例rootwww root#useradd ycwrootwww root#passwd ycwNew password:Retype new password:passwd:all authentication tokens updated successfullyrootwww root#su-ycwycwycwwww ycw$ycwwww ycw$pwd(查看当前目录)/home/ycw实例中先添加了用户名为ycw的用户,接着又为该用户设置了账号密码。并从su的命令可以看出,该用户添加成功,其工作目录为”/home/ycw”。(5)使用说明 在使用添加用户时,这两个命令是一起使用的,其中,useradd必须用root的权限。而且useradd指令所建立的账号,实际上是保存在“/etc/passwd”文本文件中,文件中每一行包含一个账号信息。在缺省情况下,useradd所做的初始化操作包括在“/home”目录下为对应账号建立一个名为同名的主目录,并且还为该用户单独建立一个与用户名同名的组。adduser只是useradd的符号链接(关于符号链接的概念在本节后面会有介绍),两者是相同的。passwd还可用于普通用户修改账号密码,Linux并不采用类似windows的密码回显(显示为*号),所以输入的这些字符用户是看不见的。密码最好包括字母、数字和特殊符号,并且设成6位以上。7www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令3系统管理命令(ps和kill)(1)作用 ps:显示当前系统中由该用户运行的进程列表。kill:输出特定的信号给指定PID(进程号)的进程,并根据该信号而完成指定的行为。其中可能的信号有进程挂起、进程等待、进程终止等(2)格式 ps:ps 选项。kill:kill 选项 进程号(PID)。kill命令中的进程号为信号输出的指定进程的进程号,当选项是缺省时为输出终止信号给该进程。(3)常见参数 ps主要选项参数所示。kill主要选项参数所示。8www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令3系统管理命令(ps和kill)(4)使用实例rootwww root#ps efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 2005?00:00:05 initroot 2 1 0 2005?00:00:00 keventdroot 3 0 0 2005?00:00:00 ksoftirqd_CPU0root 4 0 0 2005?00:00:00 ksoftirqd_CPU1root 7421 1 0 2005?00:00:00/usr/local/bin/ntpd-c/etc/ntp.root 21787 21739 0 17:16 pts/1 00:00:00 grep ntprootwww root#kill 7421rootwww root#ps-ef|grep ntproot 21789 21739 0 17:16 pts/1 00:00:00 grep ntp该实例中首先查看所有进程,并终止进程号为7421的ntp进程,之后再次查看时已经没有该进程号的进程。(5)使用说明 ps在使用中通常可以与其他一些命令结合起来使用,主要作用是提高效率。ps选项中的参数w可以写多次,通常最多写3次,它的含义表示加宽3次,这足以显示很长的命令行了。例如:ps auxwww。9www.embedu.org2.1 Linux基本命令2.1.1 用户系统相关命令4磁盘相关命令(fdisk)(1)作用fdisk可以查看硬盘分区情况,并可对硬盘进行分区管理,这里主要向读者介绍查看硬盘分区情况,另外,fdisk也是一个非常好的硬盘分区工具,感兴趣的读者可以另外查找资料学习使用fdisk进行硬盘分区。(2)格式:fdisk-l(3)使用实例rootlinux#fdisk-lDisk/dev/hda:40.0 GB,40007761920 bytes240 heads,63 sectors/track,5168 cylindersUnits=cylinders of 15120*512=7741440 bytes Device Boot Start End Blocks Id System/dev/hda1 *1 1084 8195008+c W95 FAT32(LBA)/dev/hda2 1085 5167 30867480 f W95 Extd(LBA)/dev/hda5 1085 2439 10243768+b W95 FAT32/dev/hda6 2440 4064 12284968+b W95 FAT32/dev/hda7 4065 5096 7799526 83 Linux/dev/hda8 5096 5165 522081 82 Linux swap可以看出,使用”fdisk l”列出了文件系统的分区情况。(4)使用说明 使用fdisk必须拥有root权限。IDE硬盘对应的设备名称分别为hda、hdb、hdc和hdd,SCSI硬盘对应的设备名称则为sda、sdb、此外,hda1代表hda的第一个硬盘分区,hda2代表hda的第二个分区,依此类推。通过查看/var/log/messages文件,可以找到Linux系统已辨认出来的设备代号。10www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令1cd(1)作用:改变工作目录。(2)格式:cd 路径其中的路径为要改变的工作目录,可为相对路径或绝对路径。(3)使用实例rootwww uclinux#cd/home/linux/rootwww linux#pwdrootwww linux#/home/linux/该实例中变更工作目录为“/home/linux/”,在后面的pwd(显示当前目录)的结果中可以看出。(4)使用说明 该命令将当前目录改变至指定路径的目录。若没有指定路径,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。该命令可以使用通配符。可使用“cd”可以回到前次工作目录。“./”代表当前目录,“./”代表上级目录。11www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令2ls(1)作用:列出目录的内容。(2)格式:ls 选项 文件其中文件选项为指定查看指定文件的相关内容,若未指定文件,默认查看当前目录下的所有文件。(3)常见参数(4)使用实例ycwingwww/$ls-ltotal 220drwxr-xr-x 2 root root 4096 Mar 31 2005 bindrwxr-xr-x 3 root root 4096 Apr 3 2005 boot-rw-r-r-1 root root 0 Apr 24 2002 test.run该实例查看当前目录下的所有文件,并通过选项“-l”显示出详细信息。显示格式说明如下。文件类型与权限 链接数 文件属主 文件属组 文件大小 修改的时间 名字(5)使用说明 在ls的常见参数中,-l(长文件名显示格式)的选项是最为常见的。可以详细显示出各种信息。若想显示出所有“.”开头的文件,可以使用-a,这在嵌入式的开发中很常用。12www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令3mkdir(1)作用:创建一个目录。(2)格式:mkdir 选项 路径(3)常见参数(4)使用实例rootwww linux#mkdir-p./hello/myrootwww my#pwd(查看当前目录命令)/home/linux/hello/my该实例使用选项“-p”一次创建了./hello/my多级目录。rootwww my#mkdir-m 777./whyrootwww my#ls-ltotal 4drwxrwxrwx 2 root root 4096 Jan 14 09:24 why该实例使用改选项“-m”创建了相应权限的目录。对于“777”的权限在本节后面会有详细的说明(5)使用说明该命令要求创建目录的用户在创建路径的上级目录中具有写权限,并且路径名不能是当前目录中已有的目录或文件名称。13www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令4cat(1)作用:连接并显示指定的一个和多个文件的有关信息。(2)格式:cat选项文件1文件2,其中的文件1、文件2为要显示的多个文件。(3)常见参数(4)使用实例ycwwww ycw$cat-n hello1.c hello2.c 1#include 2 void main()3 4 printf(Hello!This is my home!n);5 6#include 7 void main()8 9 printf(Hello!This is your home!n);10 在该实例中,指定对hello1.c和hello2.c进行输出,并指定行号。14www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令5cp、mv和rm(1)作用 cp:将给出的文件或目录复制到另一文件或目录中 mv:为文件或目录改名或将文件由一个目录移入另一个目录中 rm:删除一个目录中的一个或多个文件或目录(2)格式 cp:cp 选项 源文件或目录 目标文件或目录 mv:mv 选项 源文件或目录 目标文件或目录 rm:rm 选项 文件或目录(3)常见参数 cp主要选项参数所示 mv主要选项参数所示 rm主要选项参数所示 15www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令(4)使用实例 cp,该实例使用-a选项将“/my/why”目录下的所有文件复制到当前目录下。而此时在原先目录下还有原有的文件。rootwww hello#cp-a./my/why/./rootwww hello#lsmy why mv,该实例中把“/my/why”目录下的所有文件移至当前目录,则原目录下文件被自动删除。rootwww hello#mv-i./my/why/./rootwww hello#lsmy why rm,该实例使用“-r”选项删除“./why”目录下所有内容,系统会进行确认是否删除。rootwww hello#rm r-i./whyrm:descend into directory./why?yrm:remove./why/my.c?yrm:remove directory./why?y(5)使用说明 cp:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。mv:该命令根据命令中第二个参数类型的不同(是目标文件还是目标目录)来判断是重命名还是移动文件,当第二个参数类型是文件时,mv命令完成文件重命名,此时,它将所给的源文件或目录重命名为给定的目标文件名;当第二个参数是已存在的目录名称时,mv命令将各参数指定的源文件均移至目标目录中;在跨文件系统移动文件时,mv先复制,再将原有文件删除,而链至该文件的链接也将丢失。rm:如果没有使用-r选项,则rm不会删除目录;使用该命令时一旦文件被删除,它是不能被恢复的,所以最好使用-i参数。16www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令6chown和chgrp(1)作用 chown:修改文件所有者和组别。chgrp:改变文件的组所有权。(2)格式 chown:chown 选项.文件所有者所有者组名 文件,其中的文件所有者为修改后的文件所有者。chgrp:chgrp 选项.文件所有组 文件,其中的文件所有组为改变后的文件组拥有者。(3)常见参数(4)使用实例rootwww linux#ls-l-rwxr-xr-x 15 apectel linux 4096 6月 4 2005 uClinux-dist.tar可以看出,这是一个文件,它的文件拥有者是apectel,具有可读写和执行的权限,它所属的用户组是linux,具有可读和执行的权限,但没有可写的全权,同样,系统其他用户对其也只有可读和执行的权限。首先使用chown将文件所有者改为root。rootwww linux#chown root uClinux-dist.tarrootwww linux#ls l-rwxr-xr-x 15 root linux 4096 6月 4 2005 uClinux-dist.tar可以看出,此时,该文件拥有者变为了root,它所属文件用户组不变。接着使用chgrp将文件用户组变为root。rootwww linux#chgrp root uClinux-dist.tarrootwww linux#ls l-rwxr-xr-x 15 root root 4096 6月 4 2005 uClinux-dist.tar(5)使用说明:使用chown和chgrp必须拥有root权限。17www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令7chmod(1)作用:改变文件的访问权限。(2)格式chmod可使用符号标记进行更改和八进制数指定更改两种方式,因此它的格式也有两种不同的形式。符号标记:chmod 选项符号权限符号权限文件其中的符号权限可以指定为多个,也就是说,可以指定多个用户级别的权限,但它们中间要用逗号分开表示,若没有显示指出则表示不作更改。八进制数:chmod 选项 八进制权限 文件其中的八进制权限是指要更改后的文件权限。(3)选项参数(4)使用实例(5)使用说明 使用chmod必须具有root权限。18www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令8grep(1)作用在指定文件中搜索特定的内容,并将含有这些内容的行标准输出。(2)格式grep 选项 格式 文件及路径其中的格式是指要搜索的内容格式,若缺省“文件及路径”则默认表示在当前目录下搜索(3)常见参数19www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令(4)使用实例rootwww linux#grep hello/-rBinary file./iscit2005/备份/iscit2004.sql matches./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.txt:hello world$2=0该本例中,“hello”是要搜索的内容,“/-r”是指定文件,表示搜索根目录下的所有文件。(5)使用说明 在缺省情况下,“grep”只搜索当前目录。如果此目录下有许多子目录,“grep”会以如下形式列出:“grep:sound:Is a directory”这会使“grep”的输出难于阅读。但有两种解决的方法:明确要求搜索子目录:grep r(正如上例中所示);忽略子目录:grep-d skip。当预料到有许多输出,可以通过管道将其转到“less”(分页器)上阅读:如grep h./-r|less分页阅读。grep特殊用法:grep pattern1|pattern2 files:显示匹配pattern1或pattern2的行;grep pattern1 files|grep pattern2:显示既匹配pattern1又匹配pattern2的行;20www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令9find(1)作用:在指定目录中搜索文件,它的使用权限是所有用户。(2)格式:find 路径选项描述其中的路径为文件搜索路径,系统开始沿着此目录树向下查找文件。它是一个路径列表,相互用空格分离。若缺省路径,那么默认为当前目录。其中的描述是匹配表达式,是find命令接受的表达式。(3)常见参数(4)使用实例rootwww linux#find./-name qiong*.c./qiong1.c./iscit2005/qiong.c在该实例中使用了-name的选项支持通配符(5)使用说明 若使用目录路径为“/”,通常需要查找较多的时间,可以指定更为确切的路径以减少查找时间 find命令可以使用混合查找的方法,例如,想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and(与)把两个查找参数链接起来组合成一个混合的查找方式,如“find/etc-size+500000c-and-mtime+1”。21www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令10locate(1)作用用于查找文件。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。因此其速度比find快很多。(2)格式:locate 选项(3)locate主要选项参数如表所示(4)使用实例rootwww linux#locate issue-U./rootwww linux#updatedbrootwww linux#locate-r issue*./ARM_TOOLS/uClinux-Samsung/lib/libpam/doc/modules/pam_issue.sgml./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/Makefile./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/pam_issue.c示例中首先在当前目录下建立了一个数据库,并且在更新了数据库之后进行正则匹配查找。通过运行可以发现locate的运行速度非常快。(5)使用说明locate命令所查询的数据库由updatedb程序来更新的,而updatedb是由cron daemon周期性建立的,但若所找到的档案是最近才建立或刚更名的,可能会找不到,因为updatedb默认每天运行一次,用户可以由修改crontab(etc/crontab)来更新周期值。22www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令(4)使用实例rootwww linux#grep hello/-rBinary file./iscit2005/备份/iscit2004.sql matches./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.txt:hello world$2=0该本例中,“hello”是要搜索的内容,“/-r”是指定文件,表示搜索根目录下的所有文件。(5)使用说明 在缺省情况下,“grep”只搜索当前目录。如果此目录下有许多子目录,“grep”会以如下形式列出:“grep:sound:Is a directory”这会使“grep”的输出难于阅读。但有两种解决的方法:明确要求搜索子目录:grep r(正如上例中所示);忽略子目录:grep-d skip。当预料到有许多输出,可以通过管道将其转到“less”(分页器)上阅读:如grep h./-r|less分页阅读。grep特殊用法:grep pattern1|pattern2 files:显示匹配pattern1或pattern2的行;grep pattern1 files|grep pattern2:显示既匹配pattern1又匹配pattern2的行;23www.embedu.org2.1 Linux基本命令2.1.2 文件目录相关命令11ln(1)作用:为某一个文件在另外一个位置建立一个符号链接。当需要在不同的目录用到相同的文件时,Linux允许用户不用在每一个需要的目录下都存放一个相同的文件,而只需将其他目录下文件用ln命令链接即可,这样就不必重复地占用磁盘空间。(2)格式:ln选项 目标 目录(3)常见参数:s建立符号链接(这也是通常惟一使用的参数)。(4)使用实例rootwww uclinux#ln-s./genromfs-0.5.1.tar.gz./hellorootwww uclinux#ls-ltotal 77948lrwxrwxrwx 1 root root 24 Jan 14 00:25 hello-./genromfs-0.5.1.tar.gz该实例建立了当前目录的hello文件与上级目录之间的符号连接,可以看见,在hello的ls l中的第一位为“l”,表示符号链接,同时还显示了链接的源文件。(5)使用说明 ln命令会保持每一处链接文件的同步性,也就是说,不论改动了哪一处,其他的文件都会发生相同的变化。ln的链接又软链接和硬链接两种:软链接就是上面所说的ln-s*,它只会在用户选定的位置上生成一个文件的镜像,不会重复占用磁盘空间,平时使用较多的都是软链接;硬链接是不带参数的ln*,它会在用户选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。24www.embedu.org2.1 Linux基本命令2.1.3 压缩打包相关命令Linux常见系统管理命令:25www.embedu.org2.1 Linux基本命令2.1.3 压缩打包相关命令1gzip(1)作用对文件进行压缩和解压缩,而且gzip根据文件类型可自动识别压缩或解压。(2)格式:gzip 选项 压缩(解压缩)的文件名。(3)常见参数(4)使用实例rootwww my#gzip hello.crootwww my#lshello.c.gzrootwww my#gzip-l hello.c compressed uncompressed ratio uncompressed_name61 39.3%hello.c该实例将目录下的“hello.c”文件进行压缩,选项“-l”列出了压缩比。(5)使用说明 使用gzip压缩只能压缩单个文件,而不能压缩目录,其选项“-d”是将该目录下的所有文件逐个进行压缩,而不是压缩成一个文件。26www.embedu.org2.1 Linux基本命令2.1.3 压缩打包相关命令2tar(1)作用,对文件目录进行打包或解包。在此需要对打包和压缩这两个概念进行区分。打包是指将一些文件或目录变成一个总的文件,而压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?这是由于在Linux中的很多压缩程序(如前面介绍的gzip)只能针对一个文件进行压缩,这样当想要压缩较多文件时,就要借助它的工具将这些堆文件先打成一个包,然后再用原来的压缩程序进行压缩。(2)格式:tar 选项 打包后文件名文件目录列表。tar可自动根据文件名识别打包或解包动作,其中打包后文件名为用户自定义的打包后文件名称,文件目录列表可以是要进行打包备份的文件目录列表,也可以是进行解包的文件目录列表。(3)主要参数 27www.embedu.org2.1 Linux基本命令(4)使用实例rootwww home#tar-cvf ycw.tar./ycw./ycw/./ycw/.bash_logout./ycw/.bash_profile./ycw/.bashrc./ycw/.bash_history./ycw/my/./ycw/my/1.c.gz./ycw/my/my.c.gz./ycw/my/hello.c.gz./ycw/my/why.c.gzrootwww home#ls-l ycw.tar-rw-r-r-1 root root 10240 Jan 14 15:01 ycw.tar该实例将“./ycw”目录下的文件加以打包,其中选项“-v”在屏幕上输出了打包的具体过程。rootwww linux#tar-zxvf linux-2.6.11.tar.gzlinux-2.6.11/linux-2.6.11/drivers/linux-2.6.11/drivers/video/linux-2.6.11/drivers/video/aty/该实例用选项“-z”调用gzip,并-x联用时完成解压缩。(5)使用说明tar命令除了用于常规的打包之外,使用更为频繁的是用选项“-z”或“-j”调用gzip或bzip2(Linux中另一种解压工具)完成对各种不同文件的解压。28www.embedu.org2.1 Linux基本命令2.1.3 压缩打包相关命令Linux常见类型的文件解压命令一览表29www.embedu.org2.1 Linux基本命令2.1.4 比较合并文件相关命令1diff(1)作用:比较两个不同的文件或不同目录下的两个同名文件功能,并生成补丁文件(2)格式:diff选项 文件1 文件2diff比较文件1和文件2的不同之处,并按照选项所指定的格式加以输出。diff的格式分为命令格式和上下文格式,其中上下文格式又包括了旧版上下文格式和新版上下文格式,命令格式分为标准命令格式、简单命令格式及混合命令格式,它们之间的区别会在使用实例中进行详细地讲解。当选项缺省时,diff默认使用混合命令格式。(3)主要参数30www.embedu.org2.1 Linux基本命令2.1.4 比较合并文件相关命令2patch(1)作用:命令跟diff配合使用,把生成的补丁文件应用到现有代码上。(2)格式:patch 选项 待patch的文件patch文件。常用的格式为:patch-pnum patch文件,其中的-pnum是选项参数,在后面会详细介绍(3)常见参数(4)使用实例(5)使用说明 如果patch失败,patch命令会把成功的patch行补上其差异,同时(无条件)生成备份文件和一个.rej文件。.rej文件里是没有成功提交的patch行,需要手工打上补丁。这种情况在原码升级的时候有可能会发生。在多数情况下,patch程序可以确定补丁文件的格式,当它不能识别时,可以使用-c、-e、-n或者-u选项来指定输入的补丁文件的格式。由于只有GNU patch可以创建和读取新版上下文格式的patch文件,因此,除非能够确定补丁所面向的只是那些使用GNU工具的用户,否则应该使用旧版上下文格式来生成补丁文件。为了使patch程序能够正常工作,需要上下文的行数至少是2行(即至少是有一处差别的文件)。31www.embedu.org2.1 Linux基本命令2.1.5 网络相关命令Linux下网络相关命令32www.embedu.org2.1 Linux基本命令2.1.5 网络相关命令1ifconfig(1)作用,用于查看和配置网络接口的地址和参数,包括IP地址、网络掩码、广播地址,它的使用权限是超级用户。(2)格式,ifconfig有两种使用格式,分别用于查看和更改网络接口。ifconfig 选项 网络接口:用来查看当前系统的网络配置情况。ifconfig 网络接口 选项 地址:用来配置指定接口(如eth0,eth1)的IP地址、网络掩码、广播地址等。(3)常见参数,ifconfig第二种格式常见选项参数如表 33www.embedu.org2.1 Linux基本命令2.1.5 网络相关命令(4)使用实例首先,在本例中使用ifconfig的第一种格式来查看网口配置情况。rootlinux workplace#ifconfig可以看出,使用ifconfig的显示结果中详细列出了所有活跃接口的IP地址、硬件地址、广播地址、子网掩码、回环地址等。rootlinux workplace#ifconfig eth0 在此例中,通过指定接口显示出对应接口的详细信息。另外,用户还可以通过指定参数“-a”来查看所有接口(包括非活跃接口)的信息。接下来的示例指出了如何使用ifconfig的第二种格式来改变指定接口的网络参数配置。rootlinux#ifconfig eth0 downrootlinux#ifconfig在此例中,通过将指定接口的状态设置为DOWN,暂时暂停该接口的工作。rootlinux workplace#ifconfig eth0 210.25.132.142 netmask 255.255.255.0rootlinux workplace#ifconfig从上例可以看出,ifconfig改变了接口eth0的IP地址、子网掩码等,在之后的ifconfig查看中可以看出确实发生了变化。(5)使用说明用ifconfig命令配置的网络设备参数不需重启就可生效,但在机器重新启动以后将会失效34www.embedu.org2.1 Linux基本命令2.1.5 网络相关命令2ftp(1)作用:该命令允许用户利用ftp协议上传和下载文件。(2)格式:ftp 选项 主机名/IP。ftp相关命令包括使用命令和内部命令,其中使用命令的格式如上所列,主要用于登录到ftp服务器的过程中使用的。内部命令是指成功登录后进行的一系列操作,下面会详细列出。若用户缺省“主机名/IP”,则可在转入到ftp内部命令后继续选择登录。(3)常见参数ftp命令选项常见参数列表ftp命令常见内部命令35www.embedu.org2.1 Linux基本命令2.1.5 网络相关命令ftp命令常见内部命令36www.embedu.org2.2 Linux系统服务INIT进程的一个重要作用就是启动Linux系统服务(也就是运行在后台的守护进程)。Linux的系统服务包括两种,第一种是独立运行的系统服务,它们常驻内存中,自开机后一直启动着(如httpd),具有很快的响应速度;第二种是由xinet设定的服务。xinet能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。因此,可以把xinetd看作一个启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。37www.embedu.org2.2 Linux系统服务2.2.1 独立运行的服务独立运行的系统服务的启动脚本都放在目录“/etc/rc.d/init.d/”中。为了指定特定运行级别服务的开启或关闭,系统的各个不同运行级别都有不同的脚本文件,其目录为“/etc/rc.d/rcN.d”,其中的N分别对应不用的运行级别。每个对应的服务都以“K”或“S”开头,其中的K代表关闭(kill),其中的S代表启动(start),用户可以使用命令“+start|stop|status|restart”来对相应的服务进行操作。在执行完相应的rcN.d目录下的脚本文件后,INIT最后会执行rc.local来启动本地服务,因此,用户若想把某些非系统服务设置为自启动,可以编辑rc.local脚本文件,加上相应的执行语句即可。还可以使用命令“service+系统服务+操作”来方便地实现相应服务的操作,如下所示:rootlinux xinetd.d#service xinetd restart停止 xinetd:确定 开启 xinetd:确定 38www.embedu.org2.2 Linux系统服务2.2.2 xinetd设定的服务xinetd管理系统中不经常使用的服务,这些服务程序只有在有请求时才由xinetd服务负责启动,一旦运行完毕服务自动结束。xinetd的配置文件为“/etc/xinetd.conf”,它对xinet的默认参数进行了配置:从该配置文件的最后一行可以看出,xinetd启动“/etc/xinetd.d”为其配置文件目录。再在对应的配置文件目录中可以看到每一个服务的基本配置,如tftp服务的配置脚本文件为service tftp socket_type=dgram/数据包格式 protocol=udp/使用UDP传输 wait=yes user=root server=/usr/sbin/in.tftpd server_args=-s/tftpboot disable=yes/不启动 per_source=11 cps=100 2 flags=IPv439www.embedu.org2.2 Linux系统服务2.2.3 设定服务命令常用方法设定系统服务除了在本节中提到的使用service之外,chkconfig也是一个很好的工具,它能够为不同的系统级别设置不同的服务。(1)chkconfig-list(注意在list前有两个小连线):查看系统服务设定。rootlinux xinetd.d#chkconfig-listsendmail 0:关闭 1:关闭 2:打开 3:打开 4:打开 5:打开 6:关闭snmptrapd 0:关