Linux操作系统基础与实训教程(习题答案) 下载本文

内容发布更新时间 : 2024/5/29 18:13:11星期一 下面是文章的全部内容请认真阅读。

第7章

1. A 2. B 3. A 4. C 5. B 6. B 7. D 8. D 9. C

10. tar -czvf hello.tar.gz hello.c hello.c.bz5 cp hello.tar.gz /backup tar xzvf hello.tar.gz

11. Stu用户的权限:读;gra组权限:无;其他用户权限:读、写。

第8章

1.

守护进程(Daemon)是指在后台运行而没有终端,或者登录shell与之结合在一起的进程。Linux系统中有许多标准的守护进程,一种一些周期性地运行来完成特定的任务(例如:crond),而其余则连续地运行,等待系统中发生的某些特定事件(例如:xinetd和lpd)。 2. B 3. B。 4. C 5. D 6. D 7. B 8. D 9. crontab -e

编辑crontab文件: 50 16 * * * rm -rf /abc/*

00 8-18/1 * * * tail -5 /xyz/x1 >>/backup/bak01.txt 50 17 * * 1 tar czvf backup.tar.gz /data 55 17 * * * umount /dev/sdc

第9章

1. B 2. C 3. 假设本地光盘作为安装源

1)挂载本地光盘 mount -t iso9660 /dev/sr0 /mnt/cdrom 2) 在目录“/etc/yum.repos.d/”创建文件“.repo”。 3) 配置本地yum源。

[root@fanhui ~]# cd /etc/yum.repos.d #进入yum配置目录 [root@fanhui yum.repos.d]# touch CentOS7.repo #建立yum配置文件

[root@fanhui yum.repos.d]# vim CentOS7.repo #编辑配置文件,添加以下内容 [CentOS-yum]

name=CentOS7 #自定义名称 baseurl=file:///mnt #本地光盘挂载目录

enabled=1 #启用yum源,0不启用,1启用

gpgcheck=0 #检查GPG-KEY(加密算法),0位不检查,1为检查 4.

采用使用软件包方式安装软件时,可以通过rpm工具安装,由于安装时依赖软件包较多,需要解决依赖关系,不太方便。所以我们推荐使用yum工具,实现自动下载软件包,自动解决依赖关系。

第10章

1. 主机地址、网络地址。 2. 通信协议。 3. ping。 4. netstat 5.

Master机器配置如下:

ip address add 192.168.10.10/26 dev ens33 ip route add default via 192.168.10.1 hostname master

为了让修改永久生效,需要修改网卡接口配置文件/etc/sysconfig/network-scripts/目录下,名称为ifcfg-ens33的文件,在此文件中增加IP地址、子网掩码和默认网关,还需要修改/etc/hostname、/etc/resolv.conf方法文件。

Slaver1机器配置如下:

ip address add 192.168.10.20/26 dev ens33 ip route add default via 192.168.10.1 hostname slaver1

Slaver2机器配置如下:

ip address add 192.168.10.30/26 dev ens33 ip route add default via 192.168.10.1 hostname slaver2

在每个机器上执行以下操作,增加DNS服务器地址。 vim /etc/resolv.conf search xijing.edu.cn nameserver 218.30.19.40 nameserver 61.134.1.4 options rotate

options timeout:1 attempts:2

第11章

1. 插入模式、底行模式、命令模式 2.

(1) 命令模式。

命令模式是启动vi/vim后进入的工作模式,并可以转化为插入模式或者底行模式。在

命令模式下,从键盘上输入的任何字符都被当作命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi/vim命令,则vi/vim完成相应得动作,否则响铃告警。命令模式切换到插入模式只需键入相应的输入命令即可(如a、i),而要从插入模式切换到命令模式,则需在插入模式下键入ESC键。

(2) 插入模式 。

主要用于字符编辑。只有在该模式下,才可以做文字输入,按ESC键可回到命令模式。在命令模式下输入i(插入命令)、a(添加命令)等命令则进入插入模式。此后,输入的任何字符都被看作普通字符显示在屏幕上。

(3) 底行模式。

在命令模式下,按“:”键进入底行模式,此时vi会在屏幕的底部显示“:”作为底行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。

3. A。

4. 利用make工具,可以将大型开发项目分解成多个易于管理的模块。对于一个包含

几百个源文件的应用程序,使用make和makefile工具可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系,提高项目开发的效率。

5.

OBJS=prog.o code1.o code2.o CC=gcc

test:${ OBJS }

${ CC } –o test ${ OBJS }

prog.o:main.c a.h

${ CC } –c main.c –o prog.o

code1.o:2.c a.h b.h

${ CC } –c 2.c –o code1.o

Code2.o:3.c c.h b.h

${ CC } –c 3.c –o code2.o

clean:

第12章

1.

如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义将被忽略。 双引号的引用与单引号基本相同,区别在于单引号会忽略其内的特殊字符(直接引用字符串),而双引号会对其内的“$”、“\\”、“`”这3种特殊字符先进行解释,并将以解释后的含义替换字符本身的含义后输出。

反引号的作用和用法与在双引号内的变量引用相似,在shell中会将反引号内的字符串视作命令来执行,并将执行后的结果输出。如果在反引号内的字符不能被识别,那么在输出时就是空值。

2. A、B、D、H。

3. A、D。

rm –f *.o

4. PATH=$PATH:/usr/games 5.

1)shell变量定义时需要指明变量的类型,默认所有的变量为字符串;C程序变量需要 在定义时明确指定类型,不同类型间需要做类型转换。

2)由于shell程序是逐行顺序解释执行的,函数定义必须写在函数调用的前面;而C

程序不必,在文件开头加上函数申明即可。

3)相同的地方。作为编程语言,都有逻辑控制结构,如if语句、switch语句、while

循环语句等。都有函数退出状态返回值。

总之,shell是脚本语言,C语言是高级语言;shell是解释执行,C是编译后执行。 6. #!/bin/bash sum=0

for((i=1;i<=100;i++)) do

[ `expr $i % 5` -eq 0 ] && continue #也可以是:[ $(($i % 5)) -eq 0 ] && continue

sum=`expr $sum + $i` #也可以:sum=$(($sum + $i))

done echo $sum 7. #!/bin/bash

find ~ -size -5 -type f -maxdepth 1|xargs tar zcvpf backup.tar.gz if [ $? -eq 0 ] then

echo “backup is completed” else

echo “backup is error,please check arguments” fi 8. #!/bin/sh cd ~ for file in *.c do

mainname=`basename $file .c` mv $file ${mainname}.cpp