Linux教程第四版课后习题4答案
linux操作系统课后习题答案

linux操作系统课后习题答案Linux操作系统课后习题答案在学习Linux操作系统课程中,课后习题是巩固知识、提高技能的重要环节。
通过完成课后习题,我们可以更好地掌握Linux操作系统的基本概念、命令和应用。
下面将对一些常见的Linux操作系统课后习题进行详细解答,希望能帮助大家更好地理解和掌握Linux操作系统。
1. 什么是Linux操作系统?Linux操作系统是一种开源的、免费的操作系统,它基于Unix操作系统,具有稳定、安全、高效等特点。
Linux操作系统被广泛应用于服务器、嵌入式系统、个人电脑等领域,是当前最流行的操作系统之一。
2. Linux操作系统的特点有哪些?Linux操作系统具有以下特点:开源、免费、稳定、安全、高效、多用户、多任务、多线程、多平台等。
3. Linux操作系统中的常用命令有哪些?Linux操作系统中常用的命令包括:ls、cd、pwd、mkdir、rmdir、cp、mv、rm、cat、more、less、head、tail、grep、find、chmod、chown、chgrp、ps、top、kill、shutdown等。
4. 如何查看当前目录下的文件和子目录?可以使用ls命令来查看当前目录下的文件和子目录。
例如,输入ls命令后,系统会列出当前目录下的所有文件和子目录。
5. 如何切换到上一级目录?可以使用cd..命令来切换到上一级目录。
例如,输入cd..命令后,系统会将当前目录切换到上一级目录。
通过以上课后习题的解答,我们可以更好地理解和掌握Linux操作系统的基本知识和常用命令。
希望大家在学习Linux操作系统的过程中能够加强练习,不断提高自己的技能水平。
同时也希望本文能够对大家有所帮助,谢谢阅读!。
LINUX第四章课后编程题答案

LINUX<<4.9>>编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。
#!/bin/bashdir=$1 /初始化shift /参数向左移while [ $1 ] /循环dofile=$1 / 初始化,赋值现在位置的参数1cp $1 $dir /将现位置参数1中的值复制到目录中shift /参数左移donels $dir 显示指定目录中的列表运行:bash 代码名称要移动的目录要移动的文件《4.10》编写一个shell脚本,显示当天日期,查找给定的某用户是否在系统中工作。
如果在系统中,就发一个问候给他。
#!/bin/bashdate/显示日期ifwho |grep "^$1"/寻找用户thenwrite $1 << ! /对用户发消息!echo "hello !"fi运行:bash vi编辑的文件<<4.11>>打印给定目录的某些文件,由第一个参数指出文件所在的目录,其余参数是要打印的文件名#!/bin/bashdir=$1cd $ dirshiftfor f in $@;docat $fdone运行:bash 程序代码名称目录名称文件名称<<4.12>>利用for循环将当前目录下的(*.c)文件移到指定的目录下,并按文件大小排序,显示移动后指定目录的内容。
#!/bin/bashfor file in `ls -l /root/a | grep ".*.c"` (Tab键上面的`){mv /root/a/$file /root/b}ls -lS /root/b运行:bash vi创建的文件<<4.13>>利用数组形式存放10个城市的名字,然后利用for循环把他们打印出来。
#!/bin/bashfor xahar in kaxkar tumxuk aksu kumul hotan atux alar turpan urumqi altaydoecho $xahardone运行:bash 程序代码名称《4.14》编写一个shell脚本,求斐波那契数列的前10项及总和。
Linux教程第四版课后习题

L i n u x教程第四版课后习题2(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--思考题2简述Linux命令的一般形式。
答:command [-option] parameter1 parameter2...请说明以下命令的功能:date,cd,cp,pwd,rm,mkdir,echo,who,ls,cat,more,man。
答:date命令:显示当天日期;cd命令:切换目录;cp命令:复制文件pwd命令:显示当前用户工作目录;rm命令:删除文件;mkdir命令:建立目录;echo命令:将参数表示的内容显示在屏幕上;who命令:显示哪些用户在使用系统;ls命令:列出某个目录下的文件;cat命令:显示参数表示文件的内容;more命令:显示文件内容;man命令:帮助命令,可以查看所有Linux命令的帮助信息。
公元2000年的元旦是星期几答:星期六什么是文件Linux下主要有哪些不同类型的文件答:Linux中文件是指文件系统中存储数据的一个命名对象;Linux下主要的文件类型有:普通文件、目录文件、设备文件、符号链接文件。
确定当前工作目录是什么把工作目录改到父目录上,然后用长格式列出其中所有的内容。
答:确定当前工作目录: pwd ;把工作目录改到父目录上: cd / ;然后用长格式列出其中所有内容: ls 或者是 ll 。
在所用的Linux系统上,根目录下含有哪些内容各自功能是什么答::包含二进制文件的可执行程序。
:存放用于管理系统的命令。
:用于存放引导系统时使用的各种文件。
:非常重要,它包含许多Linux系统配置文件。
:包含标示设备的特别文件,这些文件用于访问系统中所有不同类型的硬件。
:是用户起始目录的基础目录。
:存放安装文件系统的安装点。
:包含了多个子目录,这些子目录中保存系统上一些重要的程序,可供所有用户共享。
:包括系统正常运行时要改变的数据。
Linux课后习题参考答案

第1章:1)D2)错3)错4)错5)错6)错7)错8)错第3章:1)C2)C3)B4)D5)A6)D7)C8)C第5章:1)D,C选项也可以,但是因为缺掉一步make test可能会存在问题,在确认无误的情况下也可以这么做2)A3)A4)C5)A6)C第7章:1)B(-p后面多了一个空格)注:CD应该合为一个选项2)A3)B4)C第10章1.正则表达式可以说是一个字符模板,用来在搜索中匹配相同的字符。
(对)2.“^”字符,匹配输入字符串的开始位置。
(对)3.“\”字符,用来转义一个元字符。
(对)4. grep命令的意思是“全面搜索正则表达式”并把找到的行打印出来5. bash中编辑功能“Ctrl+A”的作用是将光标移动到行首6. bash中编辑功能“Ctrl+T”的作用是交换光标所在的字符与前—个字符(对)7. bash中通配符“*”的含义是匹配任意字符的0次或多次出现(对)8.答案见教材中的相关章节第12章1.内核模块简称模块,是一段可执行的程序,它可以被动态加载到内核中,并成为内核的一部分。
加载到内核中的模块具有与内核一样的权限,可以访问任何内核中的数据结构。
2.Linux的内核可以通过多种方式进行定制他们分别是:文本交互问答方式、文本窗口交互方式、图形窗口交互方式、根据原有配置文件生成新的配置文件。
第13章1.在RedHat9中提供了两个启动引导程序:GRUB、LILO。
2.在Linux系统中通常有0~6,共7个运行级别。
其中完全多用户模式的编号是3 ,图形登录的多用户模式的编号是5 。
3.runlevel命令的作用是查看当前的运行级别。
4.改变系统运行级别的命令是init [0123456]。
5.假设系统启动默认进入图形登录的多用户模式,如果要让系统在启动时直接进入完全多用户模式,则需要修改inittab文件。
第15章1.大多数Linux驱动程序以芯片组命名,而不是根据设备生产商来进行命名。
操作系统第四版-课后习题标准答案

第一章作者:佚名来源:网络1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。
如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。
程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
linux操作系统课后习题答案

linux操作系统课后习题答案操作系统是计算机系统中的重要组成部分,它负责管理计算机的硬件和软件资源,并且提供给用户一个良好的操作界面。
Linux是一个开源的操作系统,广泛应用于服务器和个人电脑上。
为了帮助读者更好地理解和掌握Linux操作系统,本文回答了一些常见的课后习题。
习题一:Linux系统中如何查看当前所在的目录?在Linux系统中,可以使用命令"pwd"来查看当前所在的目录。
首先打开终端,输入"pwd"命令后回车,系统会显示当前所在目录的路径。
习题二:Linux系统中如何创建一个新的目录?在Linux系统中,可以使用命令"mkdir"来创建新的目录。
在终端中输入"mkdir 目录名称",然后回车即可创建一个新的目录。
习题三:Linux系统中如何列出一个目录下的所有文件和子目录?在Linux系统中,可以使用命令"ls"来列出一个目录下的所有文件和子目录。
在终端中输入"ls 目录名称",系统会显示该目录下的所有文件和子目录的列表。
习题四:Linux系统中如何移动文件或目录?在Linux系统中,可以使用命令"mv"来移动文件或目录。
在终端中输入"mv 源文件或目录目标目录",然后回车即可将文件或目录移动到目标目录中。
习题五:Linux系统中如何复制文件或目录?在Linux系统中,可以使用命令"cp"来复制文件或目录。
在终端中输入"cp 源文件或目录目标目录",然后回车即可将文件或目录复制到目标目录中。
习题六:Linux系统中如何删除文件或目录?在Linux系统中,可以使用命令"rm"来删除文件或目录。
在终端中输入"rm 文件或目录",然后回车即可删除文件或目录。
linux课后习题答案

linux课后习题答案Linux课后习题答案Linux操作系统是一种开源的操作系统,广泛应用于服务器、嵌入式设备以及个人电脑等领域。
它以其高度的稳定性、安全性和灵活性而备受推崇。
在学习Linux的过程中,我们经常会遇到一些习题,下面是一些常见的Linux课后习题及其答案。
1. 什么是Linux操作系统?Linux操作系统是一种开源的操作系统,基于Unix的设计思想和原则,由Linus Torvalds于1991年首次发布。
Linux操作系统具有高度的稳定性、安全性和灵活性,被广泛应用于服务器、嵌入式设备以及个人电脑等领域。
2. 如何在Linux系统中创建一个新的用户?在Linux系统中,可以使用`useradd`命令来创建一个新的用户。
例如,要创建一个名为"testuser"的用户,可以执行以下命令:```useradd testuser```此命令将在系统中创建一个新的用户,并分配一个唯一的用户ID。
3. 如何将一个用户添加到一个用户组中?要将一个用户添加到一个用户组中,可以使用`usermod`命令。
例如,要将用户"testuser"添加到用户组"testgroup"中,可以执行以下命令:```usermod -aG testgroup testuser```此命令将用户"testuser"添加到用户组"testgroup"中。
4. 如何在Linux系统中查看当前登录的用户?要查看当前登录的用户,可以使用`who`命令。
该命令将显示当前登录系统的用户列表,包括用户名、登录时间以及登录终端。
5. 如何在Linux系统中查看文件的内容?要查看文件的内容,可以使用`cat`命令。
例如,要查看文件"test.txt"的内容,可以执行以下命令:```cat test.txt```此命令将显示文件"test.txt"的内容。
Linux第四章作业答案

第四章 Linux编程作业参考答案一,AWK命令行应用1)处理/etc/passwd文件a)打印第一列(userid)提示:awk -F 分隔符‘{print $第几列}’fileb)打印root用户的1,2 field2)打印用户home目录下所有文件的:owner和文件名(只打印这两列)提示:使用ls -l 和 awk3)打印所有登录本机器的ip,并去掉重复。
提示:使用last,awk,sort,uniq二,AWK完整流程创建order文件 (商品名,数量,单价)apple 20 6.5orange 10 8grape 7 12berry 5 32输出格式 awk -f order.awk order (参考employee.awk)name count price (表头)apple 20 6.5...=================== (表尾)order.awkBEGIN{print "name\tcount\tprice"; OFS="\t"}{print $1,$2,$3}END{print "=========================\n"}三,AWK变量,计算使用order文件 (商品名,数量,单价)apple 20 6.5orange 10 8grape 7 12berry 5 32输出格式:awk -f order2.awk ordername count price total...Number of item: Total count: Order total price:order2.awkBEGIN{print "name\tcount\tprice\ttotal"; OFS="\t"; total=0; totalCount=0;} {totalCount += $2;total += ($2 * $3);print $1, $2, $3, $2*$3}END{printf "Number of item: %d, Total count: %d, Order total price: %.2f\n", NR, totalCount, total}四、AWK donation作业Mike:Harrington:(510) 548-1278:250:100:175Christian:Dobbins:(408) 538-2358:155:90:201Susan:Dalsass:(206) 654-6279:250:60:50Archie:McNichol:(206) 548-1348:250:100:175Jody:Savage:(206) 548-1278:15:188:150Guy:Quigley:(916) 343-6410:250: 100:175Dan:Savage:(406) 298-7744:450:300:275Nancy:McNeil:(206) 548-1278:250:80:75John:Goldenrod:(916) 348-4278:250:100:175Chet:Main:(510) 548-5258:50:95:135Tom:Savage:(408) 926-3456:250:168:200Elizabeth:Stachelin:(916) 440-1763:175:75:300donation2.awkBEGIN{FS=":"; total = 0; max = 0; i = 0;print " *** FIRST QUARTERLY REPORT *** ";print " *** CAMPAIGN 2000 CONTRIBUTIONS *** ";print "-------------------------------------------------------------------------------";printf("%20s %15s %8s %8s %8s %15s\n", "NAME","PHONE", "Jan", "Feb", "Mar", "Total Donated");print "-------------------------------------------------------------------------------";}{name=$1 " " $2;subtotal=$4+$5+$6;total = total + subtotal;if (subtotal > 500) { names[i] = name; phone[i] = $3; lastToIndex[$2 $3]=i; i++}if (subtotal > max) { max = subtotal; max_name=name; max_first=$1;}printf("%20s %15s %8.2f %8.2f %8.2f %15.2f\n", name, $3, $4, $5, $6, subtotal);}END{print "-------------------------------------------------------------------------------";print " SUMMARY"print "-------------------------------------------------------------------------------";printf ("The campaign received a total of $%.2f for this quartar.\n", total); printf ("The average donation for the %d contributors was $%0.2f.\n", NR, total/NR);printf ("The highest total contribution was $%0.2f made by %s.\n", max, max_name);printf (" *** THANKS %s***\n", max_first);printf ("The following people donated over $500 to the campaign.\n");printf ("They are eligible for the quarterly drawing!!\n");printf ("Listed are their names (sorted by last name) and phone numbers:\n");len=asorti(lastToIndex, sortname);for (i = 1; i <= len; i++) {ii = lastToIndex[sortname[i]];printf (" %s--%s\n", names[ii], phone[ii]);}printf (" Thanks to all of your continued support!!\n");}运行结果:五、Shell 变量写一个脚本weather.sh,完成下面功能:外部定义环境变量:export weather=”Sunny”输入What’s your name? (echo, read)Which city do you live? (echo, read)输出:Hi “名字”,the weather of “城市” is“定义的weather”执行脚本:chmod u+x weather.sh; ./weather.sh外部定义局部变量weather1, 使用source执行?#!/bin/bashread -p "What's your name?" nameread -p "Which city do you live?" cityecho "hi $name, the weather of $city is $weather. Local weather is $weather1."六、Shell String pattern match创建一个脚本:ip_match.sh用户输入一个string,判断是否是IPv4地址yes: 输出This is an IPv4 addressno: 输出Wrong address提示: IPv4 regex: ([0-9]{1,3}\.){3}[0-9]{1,3}#!/bin/bashpattern='([0-9]{1,3}\.){3}[0-9]{1,3}'echo "Input a string"read strif [[ $str =~ $pattern ]]; thenecho "This is a ipv4 address: $str"elseecho "Wrong address! $str"fi七、Shell 文件条件判断输入:please input a file name:逻辑:如果文件已经存在:the file already exites不存在,新建一个空文件,名字为输入的string。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在的最下面添加: "$"
针对当前特定的用户起作用的环境变量
3、修改文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级这些环境变量,你只需要修改其个人用户主目录下的 文件就可以了。
答:
$()
$()
|
运行:代码名称
4.18设计一个程序,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。
答;
;
"$" $1 $2 ;
运行:创建的文件 14
再次输入
意思是用第一个字开始连续输出四个字
4.9编写一个
答:调用程序对其解释执行,相当与于头文件
$1 初始化
参数向左移
[$1] /循环
$1 初始化 ,赋值现在位置的参数1
$1 $ 将现位置参数1中的值复制到目录中
参数左移
$ 显示指定目录中的列表
运行:代码名称+要移动的目录+要移动的文件
4.10编写一个脚本,显示当天日期,查找给定的某用户是否在系统中工作。如果在系统中,就发一个问候给他。
{
$
}
运行:文件名称
4.13
答:
$
运行:代码名称
4.1
答:
1
1
–n –e "$a\t$b"
""
4
[ $ – 0 ]
""
""
–n –e "\t$a\t$b"
"n "
"1"
" $n"
运行:创建的文件
4.15下述表达式的作用是什么?
${ [*]} ${ [@]}
答:${[*]}:数组所有元素
${[@]}:数组每一个元素
命令历史:、文件名通配符:、变量、快捷键。
4.3执行脚本的方式是哪些?
答:1、输入定向到脚本。该方式用输入重定向方式让从给定文件中读入命令行,并进行相应处理。其一般形式是:
$<脚本名例如:
$ <1
2、以脚本名作为参数。其一般形式是:
$脚本名 [参数]
3、将脚本的权限设置为可执行,然后在提示符下直接进行。
第四章
4
答:几种常见的:、、、、
下默认的是 ()
4.2简述的主要功能。有什么特点?
答:是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
引用、多命令执行、命令行展开:~ {}、命令的执行状态结果、多命令执、命令补全:$、路径补全:、命令缓存表、命令别名:,
在下面添加:"$"。
4.8
$#
[$0]
"$ \$$ ”
‘$1’
$
答:$# #获取脚本参数个数
# 初始化 变量,赋值为 “”
[ $ 0] # 如果 大于0,执行下面的循环
"$ \$$" # 给重新赋值,变为 “ ${的值}”
' $1' # 减1
# 之后回到上面的 判断
$ # 执行命令。
类似于执行堆栈操作。
4.4将主提示符改为用户的主目录名,并予以输出。
答:1= $
$
4.5说明三种引号的作用有什么区别。
答:中有三种引号,分别为双引号(" ")、单引号(' ')以及反引号(` `)。
双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身。
单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符。
反引号(` `):在反引号中的字符串将解释成命令来执行。
4.6利用变量赋值方式,将字符串
答:$
$
$”c:>\$\*”
4
答:
只对当前的 起作用的环境变量
1、控制台中设置,不赞成这种方式,因为他只对当前的 起作用,换一个设置就无效了:
直接控制台中输入 : $"$" (关闭 会还原为原来的)
对所有的用户的都起作用的环境变量
${*/}:删掉第一个/及其左边的字符串
${.*}:删掉第一个.及其右边的字符串
${[*]}:数组元素的个数
${}:用 代替 进行替换,的值不变
4.16显示前面所执行的40个命令的清单,重新执行倒数第5条命令。编写其中一条命令,然后执行。
答;运行: 40
#!-5
4.17定义一个别名命令,它等价的功能是:显示当前日期和工作目录,并列出有多少用户在系统上工作。
答:
/显示日期
"^$1"/寻找用户
$1 << ! /对用户发消息
!
" !"
运行:文件名称
4.11打印给定目录的某些文件,由第一个参数指出文件所在的目录,其余参数是要打印的文件名。
答:#!
$1 $1表示第一参数
$
f $@;$@表示全部参数
$f
运行:程序代码名称+目录名称+文件名称
4.12
答:
`| ".*"` (键上面的`)