首页 Linux系统及编程基础习题答案

Linux系统及编程基础习题答案

举报
开通vip

Linux系统及编程基础习题答案...第1章Linux基础及安装1.什么是Linux?Linux是一款优秀的计算机(​http:​/​​/​baike.baidu.com​/​view​/​3314.htm"\t"_blank​)操作系统,支持多用户、多进程、多线程,实时性好,功能强大且稳定。同时,它又具有良好的兼容性和可移植性,被广泛应用于各种计算机平台上。作为Internet的产物,Linux操作系统由全世界的许多计算机爱好者共同合作开发,是一个自由的操作系统。2.Linux的主要特点是什么?Linux具有UNIX的所有特性并且具有自己独特的...

Linux系统及编程基础习题答案
...第1章Linux基础及安装1.什么是Linux?Linux是一款优秀的计算机(​http:​/​​/​baike.baidu.com​/​view​/​3314.htm"\t"_blank​)操作系统,支持多用户、多进程、多线程,实时性好,功能强大且稳定。同时,它又具有良好的兼容性和可移植性,被广泛应用于各种计算机平台上。作为Internet的产物,Linux操作系统由全世界的许多计算机爱好者共同合作开发,是一个自由的操作系统。2.Linux的主要特点是什么?Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在以下几个方面:(1)开放性(2)多用户(3)多任务(4)出色的稳定性能(5)良好的用户界面:Linux向用户提供了两种界面:用户界面和系统调用界面。(6)设备独立性:设备独立性是指操作系统把所有外部设备统一当作文件来看,只要安装它们的驱动程序,任何用户都可以像使用文件那样操作并使用这些设备,而不必知道它们的具体存在形式。(7)丰富的网络功能:完善的内置网络是Linux的一大特点,Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密的内核结合在一起的联接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。(8)可靠的安全性(9)良好的可移植性:可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。3.Linux的主要组成包括什么?(1)Linux内核(Kernel):内核(Kernel)是系统的心脏,是运行程序和管理硬件设备的内核程序,决定着系统的性能和稳定性,实现操作系统的基本功能。(2)Linux的Shell:Shell是系统的用户界面,提供用户与内核进行交互操作的一种接口。Shell是一个命令解释器,它解释由用户输入的命令并且把他们送到内核执行。Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写shell程序与其他应用程序具有同样的效果。(3)Linux文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。通常是按照目录层次的方式进行组织,用户能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限、文件的共享程度。(4)Linux实用程序(utilities)和应用程序(Applications): 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的Linux系统都有一套成为应用程序的程序集,包括文本编辑器、编程语言、XWindow、办公套件、Internet工具、数据库等。4.Linux与Windows的主要区别是什么?(1)Linux的应用目标是网络:Linux的设计定位于网络操作系统。虽然现在已经实现Linux操作系统的图形界面,但仍然没有舍弃文本命令行。由于纯文本可以非常好地跨越网络进行工作,所以Linux配置文件和数据都以文本为基础。(2)可选的GUI:目前,许多版本的Linux操作系统具有非常精美的图形界面。Linux支持高端的图形适配器和显示器,完全胜任与图形相关的工作。但是,图形环境并没有集成到Linux中,而是运行于系统之上的单独一层。这意味着用户可以只运行GUI,或者在需要时使用图形窗口运行GUI。(3)文件名扩展:Linux不使用文件名扩展来识别文件的类型,这与Windows操作系统不同。Linux操作系统是根据文件的头内容来识别其类型。为了提高用户的可读性,Linux仍可以使用文件名扩展,这对Linux系统来说没有任何影响。Linux通过文件访问权限来判断文件是否为可执行文件,任何一个文件都可以赋予可执行权限,程序和脚本的创建者或管理员可以将它们识别为可执行文件,这样做有利于安全,使得保存到系统上的可执行文件不能自动执行,可以防止许多脚本病毒。(4)重新引导:在使用Windows系统时,也许已经习惯出于各种原因而重新引导系统(即重新启动),但在Linux系统中这一习惯需要改变。一旦开始运行,它将保持运行状态,直到受到外来因素的影响,比如硬件故障。实际上,Linux系统的设计使得应用程序不会导致内核的崩溃,因此不必经常重新引导,所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引导系统。如果用户确实重新引导了Linux系统,问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 很可能得不到解决,甚至还会使问题更加恶化,因此在学习Linux操作系统时,要克服重新引导系统的习惯。另外,可以远程地完成Linux中的很多工作,只要有一些基本的网络服务在运行,就可以进入到那个系统。而且,如果系统中一个特定的服务出现了问题,用户还可以在进行故障诊断的同时让其他服务继续运行。当用户在一个系统上同时运行多个服务的时候,这种管理方式更为重要。(5)命令区分大小写:所有的Linux命令和选项都区分大小写。5.什么是Linux的内核版本和发行版本?Linux的内核版本是指在LinusTorvalds领导下开发小组开发出的系统内核的版本号。内核版本号由3个数字组成,形式如下:major.minor.patchlevel(1)major:目前发布的Kernel主版本号。(2)minor:为次版本号,一般来说minor位为偶数的版本标明这是一个可以使用的稳定版本,如2.6.4;minor位为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.5.11。(3)patchlevel:表示对当前版本的修补次数发行版本是一些组织或厂家将Linux系统内核与应用软件和文档封装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合。目前已经有了几百种发行版本。6.Linux系统的用户有哪些?Linux是多用户系统,用户分为根用户(系统管理员)和普通用户两大类。每个用户在系统中都有唯一的用户名称,该用户名称为用户账号,使用户使用系统的凭证。根用户(系统管理用)又称为超级用户,用户账号为root,在系统中拥有最高权限,主要负责系统的管理工作。普通用户账号有根用户创建,命名时不能以数字和下划线作为第一个字符。普通用户是系统的使用者,只在自己的目录下工作,没有系统管理权限。7.什么是运行级别?Linux有哪些运行级别?所谓运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6,具有不同的功能,在/etc/inittab文件中定义。七个运行级别为:(1)0----关机(千万不要把initdefault设置为0)(2)1----单用户模式(3)2----多用户模式,但是没有NFS(4)3----完全多用户模式(5)4----没有用到(6)5----X11(7)6----重启(千万不要把initdefault设置为6)8.如何更改默认的运行级别?运行级别可以由超级用户通过telinit命令来转换,此命令可以将转换信号传递给init,告诉它切换到哪个运行级别。也可以通过修改/etc/inittab文件来进行缺省运行级别的修改。9.如何登录和注销?(1)登录----图形界面:图形提示用户名+口令;字符界面:输入用户名+口令(2)注销----图形界面:运行“系统->注销”命令;字符界面:logout或ctrl+d或exit10.如何安全关闭系统?图形界面:系统关机;文本界面:有shutdown、halt、reboot、init。11.简述XWindow的原理。XWindow系统由三部分构成。(1)XServer:控制实际的显示与输入设备(2)XClient:向XServer发出请求以完成特定的窗口操作。(3)通信通道:负责XServer与XClient之间的通信。XServer是用来控制实际的显示设备和输入设备(键盘和鼠标或其他输入设备)的软件。XServe可以建立窗口、在窗口中画图形、图像和文字;响应XClient的需求。它不会自己执行动作,只有在XClient提出请求后才完成动作。每一个显示设备只有一个唯一的XServer。XServer一般由系统的供应厂商提供,用户通常无法修改。对操作系统而言,XServer只是一个普通的用户程序而已,因此很容易更换一个新的版本,甚至可编译运行由第三方厂商提供的原始程序。XClient是指使用系统窗口功能的一些应用程序。把X下的应用程序称作XClient,原因是它们是XServer的客户,XClient要求服务器应它的请求完成特定的动作。XClient无法直接影响窗口或显示,它们只能向XServer发送请求,让XServer来完成它们的需求。用户可以使用不同来源的XClient:一些是由系统提供的(例如时钟),一些来自于第三方厂商,一些是用户为了特殊应用而编写的自己的客户程序。通信通道是XServer和XClient之间传递信息的通道,凭借这个通道,XClient发送请求给XServer,而XServer借助于它向XClient回送状态及一些其他的信息。第2章Linux的文件系统1.简述Linux文件系统的特点。(1)Linux文件系统采用树形结构,从根目录root(/)开始。(2)Linux的虚拟文件系统允许众多不同类型文件系统共存,并支持跨文件系统的操作。(3)Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列。(4)Linux的文件可由文件拥有者或超级用户设置相应的访问权限而受到保护。(5)Linux把所有的外部设备都看做文件,可以使用与文件系统相同的系统调用和函数来读写外部设备。2.什么是虚拟文件系统,Linux为什么采用虚拟文件系统?虚拟文件系统是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。虚拟文件系统既没有文件,也不直接管理文件,它只是用户与实际文件系统之间的接口。它并不需要保存在永久存储介质中,只是在需要时由内核在内存(​http:​/​​/​wiki.dzsc.com​/​info​/​1471.html"\t"_blank​)内存  内存的正式叫法是内存储器,以此来与外存储器区分开。物理上它安装在计算机内部,通常安装在主板上,所以称为内存。它的作用是供暂时存储处理器需要处理的数据或处理后的结果,可见内存是计算机处理器的工作空间。它是处理器运行的程序和数据必须驻留于其中的一个临时存储区域,是计算机十分重要的部件。中创建起来的一个文件系统,所以叫做虚拟文件系统。Linux允许众多不同类型的文件系统共存,并支持跨文件系统的操作,这是由于虚拟文件系统的存在。系统中所有的文件系统不但依赖虚拟文件系统共存,而且也依靠虚拟文件系统协同工作。3.在所用的Linux系统上,根目录下主要含有哪些子目录,各子目录的含义?(1)/bin:存放二进制可执行命令目录;(2)/home:用户主目录的基点目录,默认情况下每个用户的主目录都设在该目录下,如默认情况下用户user01的主目录就是/home/user01;(3)/lib:存放标准程序设计库目录,又叫动态链接共享库目录,目录中存放的文件作用类似windows里的.dll文件;(4)/etc:存放系统管理和配置文件目录;(5)/dev:存放设备特殊文件目录,如声卡文件、磁盘文件等;(6)/usr:最庞大的目录,存放应用程序和文件目录,其中包含如下目录:(a)/usr/local/bin:存放本地增加的命令目录;(b)/usr/local/lib:存放本地增加的库目录;(c)/usr/X11R6:存放Xwindow目录;(d)/usr/bin:存放众多的应用程序目录;(e)/usr/sbin:存放超级用户的一些管理程序目录;(f)/usr/doc:存放linux文档目录;(g)/usr/include:存放Linux下开发和编译应用程序所需头文件目录;(h)/usr/lib:存放常用的动态链接库和软件包的配置文件目录;(i)/usr/man:存放帮助文档目录;(j)/usr/src:存放源代码目录,Linux内核的源代码就放在/usr/src/linux子目录中;(7)/proc:虚拟目录,是系统内存的映射,可直接访问这个目录来获取系统信息;(8)/root:系统管理员的主目录;(9)/var:存放系统产生的经常变化文件目录,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 页以及一些应用程序的数据文件等等;(10)/tmp:存放公用临时文件目录。4.什么是文件?Linux下主要有哪些类型文件?文件是指由创建者定义的,具有文件名的一组相关元素的集合,文件可以是文本文档、图片、程序等。Linux下的文件类型包括:普通文件,也称为常规文件,是Linux中最一般格式的文件,包括系统文件、用户文件和库函数;目录文件,是由文件目录信息构成的特殊文件,目录文件的内容不是应用程序和数据,而是用来检索普通文件的目录信息;设备文件,在Linux中输入输出设备被看做特殊文件,设备文件分两类,字符设备文件和块设备文件;符号链接文件,是一种特殊类型的文件,它的内容只是一个字符串,该字符串可能指向一个存在的文件也可能什么都不指向。5.什么是工作目录、用户主目录?工作目录是用户在登录到Linux系统中后所处于的目录,也称为当前目录。工作目录用“.”表示,其父目录用“..”表示。可用pwd命令查看工作目录,可用cd命令改变工作目录。用户主目录是系统管理员增加用户时创建的(以后也可以改变),每个用户都有自己的主目录。普通用户的主目录在/home下,root用户作为系统管理员,因为身份特殊所以有自己的主目录,在/root下。6.根据下图,圆圈代表目录,方框代表文件,当前目录为n,用相对路径法和绝对路径放分别写出文件g、o、z的路径。绝对路径是指从"/"开始的路径,也称为完全路径;如:/home/user、/usr/bin。相对路径是从用户当前目录或用户主目录开始的路径,如:./user1、../user2、~/user3。其中:(1)“.”表示用户工作目录(2)“..”表示工作目录的上一级目录(3)“~”表示用户主目录用户要访问一个文件时,要通过路径名来引用。可以使用绝对路径名,也可以使用相对路径名。文件相对路径绝对路径g../../e/g/e/go../../e/i/o/e/i/oz./v/x/z/f/n/v/x/z7.举例说明cat、more和less命令的用法。cat命令可以把多个文件连接后输出到标准输出(屏幕)或加“>文件名”输出到另一个文件中。如显示当前目录下文件testfile1的内容可用如下命令:cattestfile1。more命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按键继续。如显示/etc/profile文件的内容,每屏10行可用如下命令:more-10/etc/profile。less命令与more命令相似,分屏显示文件的内容。less命令允许用户向前(PageUp)或向后(PageDown)浏览文件。如文件/etc/profile中查找字符串“HOSTNAME”,并从该字符串后显示可以如下命令:less-pHOSTNAME/etc/profile。8.将主目录下的文件.bashrc复制到/tmp下,并重命名为bashrc,用命令实现上述过程。cp~/.bashrc/tmp/bashrc。9.举例说明比较文件的异同使用哪些命令?comm命令对两个已经排好序的文件进行比较,comm从文件1和文件2中读取正文行进行比较,生成三行输出:在两个文件中都出现的行,仅在文件1中出现的行,仅在文件2中出现的行。如比较当前目录下的已排好序的两文件memo1和memo2的异同用命令:commmemo.1memo.2。diff命令比较文本文件,并找出它们的不同。diff命令比comm命令更强大,不要求文件预先排好序。如果两个文件完全一样,该命令不显示任何输出。如比较当前目录下的未排好序的两文件memo1和memo2的异同可用如下命令:diffmemo.1memo.2。10.举例说明怎样对文件进行压缩和备份?对文件压缩的命令主要有bzip2和gzip;对文件备份的命令主要有tar。如用bzip2命令压缩当前目录下的文件memo.1:bzip2memo.1。用gzip命令压缩压缩当前目录下的文件memo.1:gzipmemo.1。用tar命令将当前目录下的文件memo.1、memo.2、memo.3备份到文件memo.tar中:tarcvfmemo.tarmemo.1memo.2memo.3。11.将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,用命令实现上述过程。实现此任务的tar命令格式为tarzcvf/home/wang.tar.gz/home/stud1/wang。12.在Linux下有一文件列表内容如下:lrwxrwxrwxlhawkeyeusers6jul1809:41nurse2→nurse1(1)要完整显示如上文件类别信息,应该使用什么命令?ls-l(2)上述文件列表内容的第一列内容“lrwxrwxrwx”中的“l”是什么含义?对于其它类型的文件或目录还可能出现什么字符,它们分别表示什么含义?“l”表示该文件是符号链接文件。“-”表示该文件是普通文件,“d”表示该文件是目录,“b”表示该文件是块设备文件,“c”表示该文件是字符设备文件。(3)上述文件列表内容的第一列内容“lrwxrwxrwx”中的第一、二、三个“rwx”分别代表什么含义?第一个“rwx”表示该文件的文件主人具有读写执行的权限,第二个“rwx”表示该文件的主人同组用户具有读写执行的权限,第三个“rwx”表示该文件的其他用户具有读写执行的权限。(4)上述文件列表内容的第五列内容“6”是什么含义?表示该文件的链接数。(5)上述文件列表内容的最后一列内容“nurse2->nurse1”是什么含义?表示文件nurse2是符号链接文件,其链接到文件nurse1。13.在根目录下创建目录gdc,并设置权限为gdc的主人具有读写执行权限,与主人同组用户可读写,其它任何用户则只能读。mkdir/gdc;chmodu=rwx,g=rw,o=r。14.在用户user的主目录下新建目录software,并将路径/etc下所有以h开头的文件及目录拷贝到software中,用命令实现上述过程。mkdir/home/user/software;cp/etc/h*/home/user/software15.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?符号链接文件包含到另一个文件的路径名。当用户需要在不同的目录下用到相同的文件时,不需要在每一个目录下都存放该文件,只要在某个固定的目录下存放,然后在其它的目录下用命令链接(link)它即可,不必重复的占用磁盘空间,硬链接指通过索引节点来进行的链接。在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),文件属性保存在索引结点里,系统是通过索引节点(而不是文件名)来定位每一个文件。在Linux系统中,可以通过命令让多个文件名指向同一索引节点,这多个文件即为硬链接文件。符号链接可以建立对于文件和目录的链接,硬链接只能建立对文件的链接;符号链接可以跨文件系统,即可以跨磁盘分区,硬链接不可以跨文件系统;符号链接的文件类型位是l,链接文件具有新的i节点,硬链接的文件类型位是“-”,且硬链接文件的i节点同被链接文件相同。第3章Linux的VIM编辑器1.vim有几种工作模式?各模式之间如何转换?​shell提示符命令模式插入模式末行模式启动vim退出vim文本插入命令Esc键:键自动返回​第4章Linux系统管理基础1.简述Linux系统引导过程。​加载BIOS预引导(LILO/GRUB)加载系统内核映像(kernelboot)init建立用户接口Shellrcrc.sysinitlogin加电用户执行Linux命令​2.在Linux系统中运行级别分为几级?分别有何特点?系统的运行级别是系统运行时所处的一种状态,不同的运行级别在用户登录及使用上有一些不同。Linux系统提供7种运行级别,7种运行级别定义如下:运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆。运行级别2:多用户状态(没有NFS支持)运行级别3:完全的多用户状态(有NFS),标准运行级别,登录后进入命令行模式。运行级别4:系统未使用,保留。运行级别5:多用户模式,X11控制台,登录后进入图形GUI模式。运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。3.关闭系统的shutdown、halt、reboot、init命令各有何特点?(1)shutdown命令:使用shutdown命令可以安全的关闭Linux系统,shutdown命令是用shell编写的程序,必须由超级用户才能执行,shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭,请保存文件,停止作业,注销用户。shutdown命令的语法格式:shutdown[-fFhknrc(参数名称)][-t秒数]时间[警告信息](2)halt命令:halt是最简单的关机命令,相当于shutdown–h组合,halt执行时,kill掉所有应用程序,然后调用系统指令sync,sync将所有内存信息通过文件系统写入硬盘,然后停止内核。Halt命令格式:#halt(3)reboot命令:reboot命令的执行过程与halt基本类似,不同的是halt是用于关机,而reboot是关机后引发系统重启。命令格式:#reboot(4)init命令:init进程是所有进程的祖先,其进程号始终为1,init命令主要用于系统不同运行级之间的切换,切换的工作是立即完成的。4.Linux系统用户的类型都有哪些?(1)超级用户(2)普通用户(3)特殊用户5.Linux用户管理有哪几种方法?(1)通过GUI方式管理(2)通过修改用户管理相关配置文件管理(3)通过系统管理命令管理6.Linux用户管理相关的文件有哪些?解释文件内容。在Linux系统中,主要使用/etc目录下的三个文件来维护用户及用户组的相关信息。(1)/etc/passwd文件,其中存放关于账户相关的信息(2)/etc/shadow文件,/etc/passwd的影子文件,来存放用户的加密口令。(3)/etc/group文件,其中存放用户组相关的信息资料。7.使用useradd命令添加用户student,然后使用userdel删除该用户。(1)useraddstudent(2)passwdstudent(3)userdelstudent8.Linux系统中设备如何标识?用户是通过文件系统与设备接口的,所有设备都作为设备文件,设备文件的文件名一般由两部分构成,第一部分是主设备号,第二部分是次设备号。其中,主设备号代表设备的类型,可以唯一地确定设备的驱动程序和界面,如hd表示IDE硬盘,sd表示SCSI硬盘,tty表示终端设备,lp表示打印机等;次设备号代表同类设备中的序号,如hda表示IDE主硬盘,hdb表示IDE从硬盘,tty0表示编号为0的终端,lp0表示第一个打印机等。9.如何进行u盘挂载?卸载?挂载u盘设备(假设u盘标识为sdb1)到/mnt/usb目录。#mount/dev/sdb1/mnt/usb10.什么是进程?“进程”(Process)来描述程序动态执行过程。11.练习使用进程管理命令对进程进行查看、调度、终止。ps,at,kill12.Linux系统的日志分为哪几类?Linux系统中的有三个主要的日志子系统:(1)连接时间日志子系统(2)进程统计日志子系统(3)错误日志子系统13.Linux系统中主要的日志文件有哪些?解释其文件内容。(1)/var/log/dmesg/var/log/dmesg文件保存内核启动的信息,在这个文件里,用户可以看到内核和各种驱动程序的加载,加载硬件驱动时系统也会显示出相应的信息。(2)/var/log/messages/var/log/messages文件是Linux系统中最全面的log文件,它记录了内核和应用程序发生错误时的信息和系统运行的一般信息。第5章Linux的网络管理及应用1.为什么RedHatEnterpriseLinux更适合于做网络操作系统?Linux应网络而生,先天最大的优点在于其作为服务器的强大功能。RedHatEnterpriseLinux更是小红帽公司的旗舰产品,面向企业用户,针对网络应用做出优化,可靠性,安全性高。作为主流的Linux网络操作系统,现在已成为Linux服务器应用市场的主流。2.Ping命令的返回值有哪些?各有什么含义?有三个返回值值icmp_seq,ttl,time。icmp_seq表示当前是第几个icmp包,ttl表示最大生存周期(timetolive),time表示这个icmp包从发出到返回所花的时间。例如:icmp_seq=1ttl=64time=2.03ms。3.使用Nslookupwww.dlpu.edu.cn命令进行域名解析的全过程?nslookup是DNS客户端,当在本机终端输入Nslookupwww.dlpu.edu.cn之后,本机先发DNS查询数据包到本机所指定的DNS服务器,DNS服务器收到查询包后进行解析,如果本地网络内的DNS服务器无此条记录,本地DNS服务器会向互联网上的其它DNS服务器提出解析请求,得到最终结果,如没有就返回错误。本地DNS在缓存此条记录的同时把此解析结果返回给本机。本机得到了www.dlpu.edu.cn的真实IP或者是无法解析的结果。4.NFS和samba有什么异同点?两者都是为了实现网络文件共享,不同点就是NFS是文件系统,samba是网络协议;NFS只能用于Unix,Linux类系统内部的共享,而samba还可以在Unix,Linux类系统与windows系统之间实现文件共享。5.有哪几种虚拟Web主机技术,各起什么作用?有三种:基于域名,基于IP地址和基于端口号。基于域名可以实现多个域名分别指向同一台主机上不同WEB应用;基于IP可以给主机设置多个不同的IP区别不同的WEB应用;基于端口可以让主机通过不同的端口来区分不同的WEB应用。6.邮件服务器有哪几种服务器?哪些是发邮件,哪些是收邮件的?邮件服务器有三种:smtp,pop,imap。Smtp是发邮件服务器,pop,imap是收邮件服务器,其中pop和imap相比允许将邮件收到本地客户端。7.练习邮件服务器的配置过程,查找资料学会outlook邮件客户端的设置和使用?以用outlook设置test@126.com这个邮箱为例,第一步得了解126.com收发邮件服务器域名或者地址,启动outlook填入用户名和邮箱地址,设置pop服务器为pop.126.com,设置smtp服务器为smtp.126.com下一步下一步。最后别忘了在工具—-帐户里选中此邮箱并且右键属性设置其smtp服务器需要验证,不然会导致发邮件发不出去。8.练习FTP服务器的配置过程,学会字符界面下ftp命令连接服务器上下载文件的基本使用方法。以通过ftp命令连接ftp.dlpu.edu.cn为例:先在cmd中输入ftp进入到ftp命令行状态。输入openftp.dlpu.edu.cn回车连接上服务器,在提示下输入用户名anonymous,密码随便,成功后输入dir查看远程服务器上的文件目录,用cd目录名称的方式进入到下一级目录,用cd..回到上一层目录,用pwd查看当前在服务器的那个目录下,用lcd查看本地当前目录和改变本地目录。9.查找资料了解什么是LAMP服务器?它的需要哪些程序?Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。要安装LAMP服务器步骤是要依次安装apache、mysql和PHP。第6章Linux下Shell编程1.什么是shell?Linux的shell主要有哪几种类型?Shell是一个用户接口,是一个命令解释器,除此之外,shell命令本身还可以作为程序设计语言,将多个shell命令组合起来,编写能实现系统或用户所需功能的程序。Shell类型:bash,bsh,csh,tcsh,ksh,ash,zsh2.如何编辑一个shell脚本、shell脚本的执行方式有哪些?Vi+shellscriptname执行方式:(1)为脚本文件加上可执行权限,然后在命令行直接输入shell脚本文件名执行。(2)shshell脚本名(3).shell脚本名3.shell变量都有哪些?在shell编程中可以使用四种变量:用户自定义变量、环境变量、位置变量和特殊变量。4.shell中都有哪些引号,他们之间的区别是什么?在shell中引号分为三种:单引号,双引号和反引号。单引号(‘)由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后也会失去原有意义,而只作为普通字符解释。双引号(“)由双引号括起来的字符,除“$”、“\”、“’”、和“””这几个字符仍是特殊字符并保留其特殊功能外,其余字符作为普通字符对待。反引号(`)反引号括起来的字符串被shell解释为命令,在执行时,shell首先执行该命令,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。5.一个shell脚本,内容如下:#!/bin/bash#finduser----寻找是否有第一个参数指定的用户登录if[$#-ne1]thenechousage:finduserusername>&2exit1fiwho|grep$1验证该脚本执行结果。6.一个shell脚本内容如下:echo“enterusername:”readuseruntilwho|grep“$user”>/dev/nulldosleep30done验证该脚本执行结果。7.一个shell脚本,内容如下:#!/bin/bashif[$#-ne2]thenecho“usage:$0mdayssize”1>&2exit1fiif[$1–lt0–o$1–gt30]thenecho“mdaysisoutofrange”exit2fiif[$2–le20]thenecho“sizeisoutofrange”exit3fifind/-xdev–mtime$1–size+$2–print验证该脚本执行结果。从根目录开始查找所有$1小时前修改,大小大于$2块的文件。8.一个shell脚本,内容如下:echo–n“whichcolordoyoulike?”readcolorcase“$color”in[Bb]l??)echoIfeel$colorechoTheskyis$color;;[Gg]ree*)echo$colorisfortreesecho$colorisforseasick;;red|orange)echo$colorisverywarm!;;*)echonosuchcoloras$color;;esacecho“outofcase”验证该脚本执行结果。9.设计一个shell脚本:求命令行上所有整数和。答:sum=0while[$#!=0]doletsum=sum+$1shiftdoneecho“thesumofargumentsis$sum”10.设计一个shell脚本:判断当前工作目录下所有的文件类型,如果是目录显示目录名,如果是文件查看文件内容,如果都不是,显示提示信息。forfilein./*doif[-d“$file”]thenls“$file”elif[-f“file”]thenmore“$file”elseecho“$fielisnotadirectoryoraregularfile.s”done第7章Linux下编程1.gcc编译过程一般分为哪几个阶段?各阶段的主要工作是什么?gcc编译过程一般分为预处理、编译、汇编、链接四个阶段,各阶段的主要工作如下:(1)预处理阶段:在该阶段,编译器将上述代码中的stdio.h编译进来。GCC首先调用cpp进行预处理,根据以字符#开头的命令修改原始的C程序。如hello.c中#include指令告诉预处理器读系统头文件stdio.h的内容,并把它直接插入到程序文本中去。结果就得到经过编译预处理的源代码hello.i。但实际工作中通常不用专门生成这种文件,因为基本上用不到。若非要生成这种文件不可,可以利用下面的示例命令。$gcc-Ehello.c-ohello.i(2)编译阶段:GCC调用cc1检查代码的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 性,是否有语法错误等,以确定代码实际要做的工作,在检查无误后,把代码翻译成汇编语言,生成汇编处理后的汇编代码hello.s。这个阶段对应的GCC命令如下所示。$gcc-Shello.i-ohello.s汇编语言是非常有用的,它为不同高级语言不同编译器提供了通用的语言。如:C编译器和Fortran编译器产生的输出文件用的都是一样的汇编语言。(3)汇编阶段:GCC调用as把编译阶段生成的hello.s文件转成编译后的目标文件hello.o,但hello.c中所引用的其他文件中函数(如printf)的内存位置尚未定义。这个阶段对应的GCC命令如下所示:$gcc-chello.s-ohello.o(4)链接阶段:GCC调用ld将程序的目标文件与所需的所有附加的目标文件连接起来,最终生成可执行文件。如GCC找到hello.c所调用的函数printf函数库所在位置/user/lib,把函数的实现链接进来,生成最终的可执行文件hello。可以利用下面的示例命令完成。$gcchello.o-ohello如果我们不想生成中间的各类型文件,可用如下命令由源文件直接编译链接成可执行文件。$gcchello.c-ohello2.简述GNUgdb的功能。gdb是Linux系统中一个功能强大的GNU调试程序,它可以调试C和C++程序,使程序开发者在程序运行时观察程序的内部结构和内存的使用情况。gdb提供如下功能:(1)运行程序,设置所有的能影响程序运行的参数和环境;(2)控制程序在指定的条件下停止运行;(3)当程序停止时,可以检查程序的状态;(4)修改程序的错误,并重新运行程序;(5)动态监视程序中变量的值;(6)可以单步逐行执行代码,观察程序的运行状态;(7)分析崩溃程序产生的core文件。3.用gdb调试下面的程序。#include#include#includemain(){charmy_string[]="hellothere";my_print(my_string);my_print2(my_string);}my_print(char*string){printf("Thestringis%s\n",string);}my_print2(char*string){char*string2;intsize,i;size=strlen(string);string2=(char*)malloc(size+1);for(i=0;i#include#includemain(){charmy_string[]="hellothere";my_print(my_string);my_print2(my_string);}my_print(char*string){printf("Thestringis%s\n",string);}my_print2(char*string){char*string2;intsize,size2,i;size=strlen(string);size2=size-1;string2=(char*)malloc(size+1);for(i=0;imain(){intp1,p2,i,j,k;while((p1=fork())==-1);if(p1==0){for(i=0;i<50;i++){printf("son%d",i);}}else{while((p2=fork())==-1);if(p2==0){for(j=0;j<50;j++){printf("daughter%d",j);}}else{for(k=0;k<50;k++){printf("father%d",k);}}}}从运行结果可知父亲进程、女儿进程、儿子进程并发执行。如果在每个printf后面加上sleep(1),结果如下:…从运行结果可知加上sleep后父进程和两个子进程并发程度更大。8.编写一个程序,该程序当我们输入Ctrl+C时输出字符串“Igotsignal”。在其余的时间,该程序只是无限循环,每一秒输出一条“helloworld”信息。#include#include#includevoidouch(intsig){printf("Igotsignal%d\n",sig);(void)signal(SIGINT,SIG_DFL);}intmain(){(void)signal(SIGINT,ouch);while(1){printf("helloworld!\n");sleep(1);}}9.编写程序,实现简单shell的基本功能。读入用户从键盘输入的命令,并执行它。#includemain(){charcommand[32];char*prompt="$";while(printf("%s",*prompt),gets(command)!=NULL){if(fork()==0)execlp(command,command,(char*)0);elsewait(0);}}10.利用文件系统的系统调用creat()、open()、read()、write()、close()编写一个程序,把一个文件读出写到另一个文件中,实现简单的copy功能。main(argc,argv)intargc;char*argv[];{intfd1,fd2,n;charbuf[512];fd1=open(argv[1],0);fd2=creat(argv[2],0644);while((n=read(fd1,buf,512))>0)write(fd1,buf,n);close(fd1);close(fd2);}如有侵权请联系告知删除,感谢你们的配合!精品精品精品
本文档为【Linux系统及编程基础习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:324KB
软件:Word
页数:0
分类:互联网
上传时间:2021-03-01
浏览量:5