L4Linux基本命令(续).ppt

上传人:sccc 文档编号:5378897 上传时间:2023-07-01 格式:PPT 页数:55 大小:678.51KB
返回 下载 相关 举报
L4Linux基本命令(续).ppt_第1页
第1页 / 共55页
L4Linux基本命令(续).ppt_第2页
第2页 / 共55页
L4Linux基本命令(续).ppt_第3页
第3页 / 共55页
L4Linux基本命令(续).ppt_第4页
第4页 / 共55页
L4Linux基本命令(续).ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《L4Linux基本命令(续).ppt》由会员分享,可在线阅读,更多相关《L4Linux基本命令(续).ppt(55页珍藏版)》请在三一办公上搜索。

1、1,压缩打包相关命令,Linux 中打包压缩的如表所示,以 gzip 和 tar 为例进行讲解。,2,1gzip(1)作用对文件进行压缩和解压缩,而且 gzip 根据文件类型可自动识别压缩或解压。(2)格式gzip 选项 压缩(解压缩)的文件名。(3)常见参数gzip 主要选项参数如表所示。,3,(4)使用实例,该实例将目录下的“hello.c”文件进行压缩,选项“-l”列出了压缩比。,4,(5)使用说明使用 gzip 压缩只能压缩单个文件,而不能压缩目录,其选项“-d”是将该目录下的所有文件逐个进行压缩,而不是压缩成一个文件。2tar(1)作用对文件目录进行打包或解包。在此需要对打包和压缩这

2、两个概念进行区分。打包是指将一些文件或目录变成一个总的文件,而压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?这是由于在 Linux 中的很多压缩程序(如前面介绍的 gzip)只能针对一个文件进行压缩,这样当想要压缩较多文件时,就要借助它的工具将这些堆文件先打成一个包,然后再用原来的压缩程序进行压缩。(2)格式tar 选项 打包后文件名文件目录列表。,5,tar 可自动根据文件名识别打包或解包动作,其中打包后文件名为用户自定义的打包后文件名称,文件目录列表可以是要进行打包备份的文件目录列表,也可以是进行解包的文件目录列表。(3)主要参数tar 主要选项参数如表所

3、示。,6,(4)使用实例,该实例将“./yul”目录下的文件加以打包,其中选项“-v”在屏幕上输出了打包的具体过程。,7,该实例用选项“-z”调用 gzip,并-x 联用时完成解压缩。(5)使用说明tar 命令除了用于常规的打包之外,使用更为频繁的是用选项“-z”或“-j”调用 gzip 或bzip2(Linux 中另一种解压工具)完成对各种不同文件的解压。表对 Linux 中常见类型的文件解压命令做一总结。,8,9,比较合并文件相关命令,1diff(1)作用比较两个不同的文件或不同目录下的两个同名文件功能,并生成补丁文件。(2)格式diff选项 文件 1 文件 2diff 比较文件 1 和文

4、件 2 的不同之处,并按照选项所指定的格式加以输出。diff 的格式分为命令格式和上下文格式,其中上下文格式又包括了旧版上下文格式和新版上下文格式,命令格式分为标准命令格式、简单命令格式及混合命令格式,它们之间的区别会在使用实例中进行详细地讲解。当选项缺省时,diff 默认使用混合命令格式。(3)主要参数diff 主要选项参数如表所示。,10,(4)使用实例以下有两个文件 hello1.c 和 hello2.c。,11,以下实例主要讲解了各种不同格式的比较和补丁文件的创建方法。主要格式比较首先使用旧版上下文格式进行比较。,12,可以看出,用旧版上下文格式进行输出时,在显示每个有差别行的同时还显

5、示该行的上下三行,区别的地方用“!”加以标出,由于示例程序较短,上下三行已经包含了全部代码。接着使用新版的上下文格式进行比较。,13,可以看出,在新版上下文格式输出时,仅把两个文件的不同之处分别列出,而相同之处没有重复列出,这样大大方便了用户的阅读。接下来使用命令格式进行比较。,14,可以看出,命令符格式输出时仅输出了不同的行,其中命令符“4c”中的数字表示行数,字母的含义为 a添加,b删除,c更改。因此,选项的命令符表示:-e若要把 hello1.c变为 hello2.c,就需要把 hello1.c 的第四行改为显示出的“printf(“Hello!This is your home!n”)

6、”即可。选项“-f”和选项“-e”显示的内容基本相同,就是数字和字母的顺序相交换了,从以下的输出结果可以看出。,15,在 diff 选项缺省的情况下,输出结果如下所示。,可以看出,diff缺省情况下的输出格式充分显示了如何将 hello1.c 转化为 hello2.c 的方法,即通过“4c4”实现。,16,创建补丁文件(也就是差异文件)是 diff 的功能之一,不同的选项格式可以生成与之相对应的补丁文件。见下例。,可以看出,使用缺省选项创建补丁文件的内容和前面使用缺省选项的输出内容是一样的。,上例中所使用的”“是输出重定向。通常在 Linux 上执行一个 shell 命令行时,会自动打开三个标

7、准文件:标准输入文件(stdin),即通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),前两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,并且将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。这就是通常使用的标准输入/输出方式。直接使用标准输入/输出文件存在以下问题:首先,用户输入的数据只能使用一次。当下次希望再次使用这些数据时就不得不重新输入。同样,用户对输出信息不能做更多的处理,只能等待程序的结束。,为了解决上述问题,Linux 系统为输入、输出的信息传送引入了两种方式:输入/输出重定向机制和管道。其中,输入重定向是指把命令(

8、或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。同样,输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就可以不显示在屏幕上,而是写入到指定文件中。就如上述例子中所用到的把“diff hello1.c hello2.c”的结果重定向到 hello.patch 文件中。这就大大增加了输入/输出的灵活性。,17,2patch(1)作用命令跟 diff 配合使用,把生成的补丁文件应用到现有代码上。(2)格式patch 选项 待 patch 的文件patch 文件。常用的格式为:patch-pnum p

9、atch 文件,其中的-pnum 是选项参数,在后面会详细介绍。(3)常见参数patch 主要选项参数如表所示。,18,(4)使用实例,19,在该实例中,由于 patch 文件和源文件在同一目录下,因此直接给出了目标文件的目录,在应用了 patch 之后,hello1.c 的内容变为了 hello2.c 的内容。(5)使用说明如果 patch 失败,patch 命令会把成功的 patch 行补上其差异,同时(无条件)生成备份文件和一个.rej 文件。.rej 文件里是没有成功提交的 patch 行,需要手工打上补丁。这种情况在原码升级的时候有可能会发生。,20,在多数情况下,patch 程序可

10、以确定补丁文件的格式,当它不能识别时,可以使用-c、-e、-n 或者-u 选项来指定输入的补丁文件的格式。由于只有 GNU patch 可以创建和读取新版上下文格式的 patch 文件,因此,除非能够确定补丁所面向的只是那些使用 GNU 工具的用户,否则应该使用旧版上下文格式来生成补丁文件。为了使 patch 程序能够正常工作,需要上下文的行数至少是 2 行(即至少是有一处差别的文件)。,21,网络相关命令,Linux 下网络相关的常见命令如下表所示,以 ifconfig 和 ftp 为例进行说明。,22,1ifconfig(1)作用用于查看和配置网络接口的地址和参数,包括 IP 地址、网络掩

11、码、广播地址,它的使用权限是超级用户。(2)格式 ifconfig 有两种使用格式,分别用于查看和更改网络接口。ifconfig 选项 网络接口:用来查看当前系统的网络配置情况。ifconfig 网络接口 选项 地址:用来配置指定接口(如 eth0,eth1)的 IP 地址、网络掩码、广播地址等。(3)常见参数ifconfig 第二种格式常见选项参数如表所示。,23,(4)使用实例首先,在本例中使用 ifconfig 的第一种格式来查看网口配置情况。,24,可以看出,使用 ifconfig 的显示结果中详细列出了所有活跃接口的 IP 地址、硬件地址、广播地址、子网掩码、回环地址等。,25,在此

12、例中,通过指定接口显示出对应接口的详细信息。另外,用户还可以通过指定参数“-a”来查看所有接口(包括非活跃接口)的信息。接下来的示例指出了如何使用 ifconfig 的第二种格式来改变指定接口的网络参数配置。,26,在此例中,通过将指定接口的状态设置为 DOWN,暂时暂停该接口的工作。,27,从上例可以看出,ifconfig 改变了接口 eth0 的 IP 地址、子网掩码等,在之后的 ifconfig查看中可以看出确实发生了变化。(5)使用说明用 ifconfig 命令配置的网络设备参数不需重启就可生效,但在机器重新启动以后将会失效。,28,2ftp(1)作用该命令允许用户利用 ftp 协议上

13、传和下载文件。(2)格式ftp 选项 主机名/IP。ftp 相关命令包括使用命令和内部命令,其中使用命令的格式如上所列,主要用于登录到ftp 服务器的过程中使用的。内部命令是指成功登录后进行的一系列操作,下面会详细列出。若用户缺省“主机名/IP”,则可在转入到 ftp 内部命令后继续选择登录。(3)常见参数ftp 常见选项参数如表所示。,29,ftp 常见内部命令如表所示。,30,31,(4)使用实例首先,在本例中使用 ftp 命令访问“ftp:/”站点。,32,由于该站点可以匿名访问,因此,在用户名处输入 anonymous,在 Password 处输入任意一个e-mail 地址即可登录成功

14、。,33,以上使用 ftp 内部命令 dir 列出了在改目录下文件及目录的信息。,以上实例通过 cd 命令进入相应的目录,可通过 pwd 命令进行验证。,34,接下来通过 lcd 命令首先改变用户的本地工作目录,也就是希望下载或上传的工作目录,就着通过 get 命令进行下载文件。由于 ftp 默认使用 ASCII 模式,因此,若希望改为其他模式如“bin”,直接输入 bin 即可,如下所示:,35,最后用 bye 命令退出 ftp 程序。(5)使用说明若是需要匿名登录,则在“Name(*.*.*.*):”处键入 anonymous,在“Password:”处键入自己的 E-mail 地址即可。

15、若要传送二进制文件,务必要把模式改为 bin。,36,联机帮助命令 1.man 命令 系统上几乎每条命令都有相关的Man(manual)page。在有问题或困难时,可以立刻找到这个文件。例如,如果使用ls命令时遇到困难,可以输入:man ls 系统就会显示出 ls 的 man page。,37,2.系统帮助文档help命令用于查看所有Shell命令。用户可以通过该命令寻求Shell命令的用法,只需在所查找的命令后输入help命令,就可以看到所查命令的内容了。例如:查看cd命令的使用方法。$cd-help3.whereis命令这个程序的主要功能是寻找一个命令所在的位置。例如,最常用的ls命令,它

16、是在/bin这个目录下的。如果希望知道某个命令存在哪一个目录下,可以用whereis命令来查询。该命令的一般形式为:whereis 选项 命令名。说明:一般直接使用不加选项的whereis命令,但用户也可根据特殊需要选用它的一些选项。,38,由于man page是用less程序来看的,所以在man page里可以使用less的所有选项。在less中比较重要的键有:q退出 Enter一行行地下翻 Space一页页地下翻 b往上翻一页/往后寻找一个字符串和Enter键来寻找字符串 n寻找上一次查寻的下一个符合的字符串,39,Linux 启动过程简介,在了解了Linux 的常见命令之后,下面来了解一

17、下 Linux 的启动过程。Linux 的启动过程包含了Linux 工作原理的精髓。概述用户开机启动 Linux 过程总体上是这样的:首先当用户打开 PC 的电源时,CPU 将自动进入实模式,并从地址 0 xFFFF0 开始自动执行程序代码,这个地址通常是 ROM-BIOS 中的地址。这时 BIOS 进行开机自检,并按 BIOS 中设置的启动设备(通常是硬盘)进行启动,接着启动设备上安装的引导程序lilo 或 grub 开始引导 Linux(也就是启动设备的第一个扇区),这时,Linux 才获得了启动权。接下来的第二阶段,Linux 首先进行内核的引导,主要完成磁盘引导、读取机器系统数据、实模

18、式和保护模式的切换、加载数据段寄存器以及重置中断描述符表等。,40,第三阶段执行 init 程序(也就是系统初始化工作)init 程序调用了 rc.sysinit 和 rc 等程序,而 rc.sysinit 和 rc 在完成系统初始化和运行服务的任务后,返回 init。之后的第四阶段,init 启动 mingetty,打开终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。Linux 启动总体流程图如图所示,其中的 4 个阶段分别由同步棒隔开。由于第一阶段不涉及 Linux 自身的启动过程,因此,下面分别对第二和第三阶段进行详细讲解。,41,两个较为流行

19、的引导加载程序 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader。,42,内核引导阶段在 grub 或 lilo 等引导程序成功完成引导 Linux 系统的任务后,Linux 就从它们手中接管了 CPU 的控制权。用户可以从 www.kernel.org 上下载最新版本的源码进行阅读,其目录为:linux-2.6.*.*archi386boot。在这过程中主要用到该目录下的这几个文件:bootsect.S、setup.S以及 compressed 目录下的 head.S 等。首先要介绍一下,Linux 的内核通常是压缩过后的,包括如上

20、述提到的那几个重要的汇编程序,它们都是在压缩内核 vmlinuz 中的。因为 Linux 中提供的内核包含了众多驱动和功能,因而比较大,所以在采用压缩内核可以节省大量的空间。,43,(1)bootsect 阶段当 grub 读入 vmlinuz 后,会根据 bootsect(正好 512bytes)把它自身和 setup 程序段读到不大于 0 x90000 开始的的内存里(注意:在以往的引导协议里是放在 0 x90000,但现在有所变化),然后 grub 会跳过 bootsect 那 512bytes 的程序段,直接运行 setup 里的第一跳指令。就是说 bzImage 里 bootsect

21、 的程序没有再被执行了,bootsect.S 在完成了指令搬移以后就退出而了。之后执行权就转到了 setup.S 的程序中。,44,(2)setup 阶段setup.S 的主要功能就是利用 ROM BIOS 中断读取机器系统数据,并将系统参数(包括内存、磁盘等)保存到 0 x900000 x901FF 开始的内存中位置。此外,setup.S 还将 video.S 中的代码包含进来,检测和设置显示器和显示模式。最后,它还会设置 CPU 的控制寄存器 CR0(也称机器状态字),从而进入 32 位保护模式运行,并跳转到绝对地址为 0 x100000(虚拟地址 0 xC0000000+0 x10000

22、0)处。当 CPU 跳到 0 x100000 时,将执行“arch/i386/kernel/head.S”中的 startup_32。,45,(3)head.S 阶段当运行到 head.S 时,系统已经运行在保护模式,head.S 完成的一个重要任务就是将内而核解压。就如本节前面提到的,内核是通过压缩的方式放在内存中的,head.S 通过调用 misc.c中定义的 decompress_kernel()函数,将内核 vmlinuz 解压到 0 x100000 的。接下来 head.S 程序完成完成寄存器、分页表的初始化工作,但要注意的是,这个 head.S程序与完成解压缩工作的 head.S

23、程序是不同的,它在源代码中的位置是 arch/i386/kernel/head.S。在完成了初始化之后,head.S 就跳转到 start_kernel()函数中去了。,46,(4)main.c 阶段start_kernel()是“init/main.c”中的定义的函数,start kernel()调用了一系列初始化函数,进行内核的初始化工作。要注意的是,在初始化之前系统中断仍然是被屏蔽的,另外内核也处于被锁定状态,以保证只有一个 CPU 用于 Linux 系统的启动。在 start_kernel()的最后,调用了 init()函数,也就是下面要讲述的 INIT 阶段。,47,init 阶段在

24、加载了内核之后,由内核执行引导的第一个进程就是 INIT 进程,该进程号始终是“1”。INIT 进程根据其配置文件“/etc/inittab”主要完成系统的一系列初始化的任务。由于该配置文件是 INIT 进程执行的惟一依据,因此先对它的格式进行统一讲解。inittab 文件中除了注释行外,每一行都有如下格式:,(1)id id 是配置记录标识符,由 14 个字符组成,对于 getty 或 mingetty 等其他 login 程序项,要求 id 与 tty 的编号相同,否则 getty 程序将不能正常工作。,48,(2)runlevelsrunlevels 是运行级别记录符,一般使用 06 以

25、及 S 和 s。其中,0、1、6 运行级别为系统保留:0 作为 shutdown 动作,1 作为重启至单用户模式,6 为重启;S 和 s 意义相同,表示单用户模式,且无需 inittab 文件,因此也不在 inittab 中出现。79 级别也是可以使用的,传统的 UNIX 系统没有定义这几个级别。runlevel 可以是并列的多个值,对大多数 action 来说,仅当 runlevel 与当前运行级别匹配成功才会执行。(3)actionaction 字段用于描述系统执行的特定操作,它的常见设置有:initdefault、sysinit、boot、bootwait、respawn 等。,49,i

26、nitdefault 用于标识系统缺省的启动级别。当 init 由内核激活以后,它将读取 inittab 中的initdefault 项,取得其中的 runlevel,并作为当前的运行级别。如果没有 inittab 文件,或者其中没有 initdefault 项,init 将在控制台上请求输入 runlevel。sysinit、boot、bootwait 等 action 将在系统启动时无条件运行,忽略其中的 runlevel。respawn 字段表示该类进程在结束后会重新启动运行。(4)processprocess 字段设置启动进程所执行的命令。以下结合系统中的 inittab 配置文件详细

27、讲解该配置文件完成的功能:,50,1确定用户登录模式在“/etc/inittab”中列出了如下所示的登录模式,主要有单人维护模式、多用户无网络模式、文字界面多用户模式、X-Windows 多用户模式等。其中的单人维护模式(run level 为 1)是类似于 Windows 中的“安全模式”,在这种情况下,系统不加载复杂的模式从而使系统能够正常启动。在这些模式中最为常见的是 3 或 5,其中本系统中默认的为 5,也就是 X-Windows多用户模式。,51,2执行内容/etc/rc.d/rc.sysinit在确定了登录模式之后,就要开始将 Linux 的主机信息读入 Linux 系统,其内容就

28、是文件“/etc/rc.d/rc.sysinit”中的。查看此文件可以看出,在这里确定了默认路径、主机名称、“/etc/sysconfig/network”中所记录的网络信息等。,52,3启动内核的外挂模块及各运行级的脚本在此,主要是选择模块的型态以进行驱动程序的加载。接下来会根据不同的运行级(runlevel)加载不同的模块,启动系统服务。,53,54,INIT 进程的一个重要作用就是启动 Linux 系统服务(也就是运行在后台的守护进程)。Linux 的系统服务包括两种,第一种是独立运行的系统服务,它们常驻内存中,自开机后一直启动着(如 httpd),具有很快的响应速度;第二种是由 xinet 设定的服务。xinet 能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。因此,可以把 xinetd 看作一个启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。,55,4.3 小结本章主要介绍了Linux系统常用的一些命令,包括如何登录和退出系统、创建及删除目录、文件管理等。为了使用Linux,首先需要有一个合法的账号,其次要学会使用man命令,以便随时获取需要的帮助信息。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号