第一章 Linux 系统简介
一、思考题
1.UNIX 的大部分代码是用一种流行的程序设计语言编写的,该语言是什么?
C 语言
2.UNIX 系统的特点有哪些?
·多任务
·多用户
·并行处理能力
·设备无关性
·工具
·错误处理
·强大的网络功能
·开放性
3.什么是 Linux?其创始人是谁?
Linux 是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、
可以自由使用的 UNIX 兼容产品。其创始人是 Linus
4.Linux 操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些?
·UNIX 操作系统
·MINIX 操作系统
·GNU 计划
·POSIX 标准
·Internet
5.简述 Linux 系统的特点。
·自由软件
·良好的兼容性
·多用户、多任务
·良好的界面
·丰富的网络功能
·可靠地安全性、稳定性
·支持多种平台
6.常见的 Linux 的发行版本有哪些?
·Red Hat Linux
·Caldera OpenLinux
·SuSE Linux
·TurboLinux
·红旗 Linux
·中软 Linux
二、选择题
1.Linux 最初是以 MINIX 操作系统为模板而开发出来的。
2.关于 Linux 内核版本的说法,下列选项中错误的是(C)。
A.表示为主版本号.次版本号.修正号 B.1.2.3 表示稳定的发行版
C.1.3.3 表示稳定的发行版 D.2.2.5 表示对内核 2.2 的第 5 次修正
(补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。)
3.Linux 属于自由软件。
4.自由软件的含义是软件可以自由修改和发布。
5.一下不具有多任务性的操作系统是 DOS
第二章 Linux 系统入门
一、思考题
1.Linux 系统有哪些运行级别?其含义是什么?
可用级别为 0~6,其中 0:关闭系统;6:重新启动,其他略。
2.Linux 系统下经常使用的两种桌面环境是什么?
GNOME 和 KDE
3.什么是 X-Window 系统?它有什么特点?
图形界面(X-Window)是在 Linux 操作系统中提供的图形化用户界面(GUI),其支持的视
窗系统也称为 X,它的特点有:它采用了“客户端-服务器”模式;它是一个跨平台的操作环
境。
7.默认情况下,超级用户和普通用户的登录提示符分别是什么?
# 和$
二、选择题
1.系统引导的过程一般包括如下的几步:①MBR 中的引导装载程序启动。②用户登录。
③Linux 内核运行。④BIOS 自检。正确的顺序是④①③②。
2.Linux 中使用 Ctrl+Alt+BackSpace 组合键可以关闭 X-Window 图形用户界面。
3.字符界面下使用 init 命令关机所用的参数是 0 。(参数 6 是重新启动)
4.字符界面下使用 shutdown 命令重启计算机时所用的参数是–r 。
5.使用 man 命令调阅相关的帮助信息时,用于逐页地下翻的功能键是 Space 。
第三章 shell 与 shell 命令
一、思考题
1.shell 的基本功能有哪些?
命令解释执行、文件名替换、输入/输出重定向、连同管道建立、系统环境设置和 shell 编
程。
2.Linux 系统中的主要目录有哪些?
/:系统的根目录
/dev:系统的设备目录
/home:用户主目录
/root:root 用户主目录
/boot:Linux 的启动目录
/usr:用户级目录
3.工作目录及其父目录课分别用什么表示?
. 和..
5.常用的 shell 环境变量有哪些?
·HOME:用户家目录的完全路径名
·LOGNAME:登录用户名
·IFS:命令行内部域分割符
·PATH:由冒号分隔的目录路径名
·TEAM:终端的类型
·PWD:当前工作目录的绝对路径名
·PS1:主提示符
·PS2:辅助提示符
6.什么是输入/输出重定向?管道的功能是什么?
I/O 重定向是指通过文件的形式实现 I/O;在两个或多个进程之间建立一种连接,用于进程
间的通信
7. shell 中的引号分为哪几种?
单引号、双引号和反引号。
二、选择题
1.下列设备属于块设备的是硬盘。
2.cd 命令可以改变用户的当前目录,当用户输入命令“cd”并按 Enter 键后,当前目录改为用
户主目录。
3.命令 echo-en …\a‟的输出为响铃。
4.超级用户的主目录是/root
5.要删除目录/home/user1/subdir 连同其下级目录和文件,不需要交互确认,正确的命令
是:rmdir-pf/home/user1/subdir
第四章用户管理和密码管理
一、思考题
4.如何在删除一个用户时也删除它的家目录,在做该操作时应该注意哪些问题?
userdel –r user,默认情况下 userdel 不删除用户的家目录,因为其中可能包含有用数据。
5.如何观察当前系统的运行级别?
who -r
6.如何确定用户所使用的终端?
tty
二、选择题
1.在 UNIX/Linux 系统添加新用户的命令是 useradd
2.添加用户时使用参数-d 可以指定用户目录。
3.修改用户自身的密码可使用 password
4.解锁一个用户所使用的命令是 password –u
5.删除一个用户所使用的命令是 password –d
第五章 UNIX/Linux 文件系统和权限管理
一、思考题
1.Linux 系统有几种类型文件?它们分别是什么?有哪些相同点和不同点?
3 类:普通文件、目录文件和设备文件。相同点是,它们都是文件,都有一个文件名和 i 节
点号。不同点是,普通文件的内容为数据,目录文件的内容为目录项或文件名与 i 节点对
应表,而设备文件不占用磁盘空间,通过其 i 节点信息可建立与内核驱动程序的联系。
3.何为裸设备?如何使用裸设备?以裸方式使用设备时应注意些什么?
裸设备是指无文件系统的设备,如软盘、U 盘、硬盘或一个硬盘分区,也称为原始设备。
使用时将设备直接作为文件来使用。以裸方式使用设备时系统会忽略设备上的文件系统,
将会覆盖原有的系统文件。
5.如果某些设备文件被误删除了,如何恢复它们?
可以参照它在相同系统中的情况,使用 mknod 重建它。
6.如何确定某文件的类型?
使用 file 命令。
二、选择题
1.设用户所使用的系统的硬盘为 IDE 设备且只有一块硬盘,则硬盘中的 D 盘所处的分区最
有可能是/dev/hda5
2. 设用户所使用的系统的有两块 IDE 硬盘,Linux 系统位于第一块硬盘上,查询第二块硬盘
的分区情况命令是 fdisk –l/dev/hdb
3 设用户所使用的系统的只有一个 SCSI 硬盘,则用户在系统开启后首次使用 U 盘时,U 盘
所占用的最有可能的设备是/dev/sdb1
4.统计磁盘空间和文件系统使用情况的命令是 df
5.构造 ISO9660 光盘文件系统的命令是 mkisofs
6.用于文件系统直接修改文件权限及其管理的命令是 chmod
7.有一个文件包 mypkg.tgz,查看其中文件的命令是 tar xvfz mypkg.tgz
第六章进程与任务或作业管理
一、思考题
1.UNIX/Linux 系统有几类进程?试说明后台进程的作用或执行过程。
3 类:前台、后台和批处理进程。后台进程是以非交互式在后台运行的进程,用户可以通
过终端启动后台进程,方法:cmd params…&
后台进程大多数是守候进程或服务器进程,这些进程是在系统启动时自动启动的,守候着
某个端口,等待客户来访问并为他们提供服务。此类进程自启动后一直运行着,直到关机
或被用户强行终止。
2.试述 0#、1#进程的作用及 UNIX/Linux 进程树的形成。
在 UNIX/Linux 系 统 中 , 0# 进 程 的 主 要 作 用 是 调 试 与 交 换 。 创 建 1# 进 程 后 , 会 根 据
/etc/inittab 的规定继续系统初始化,创建相应的子进程,而子进程又可创建其子进程。进
程树的创建过程如下图:
……... ... ... ... ... ...
二、选择题
1.在 Linux 系统中,用于进程状态查询的常用命令是 ps 和 pstree
2.若使 pid 进程无条件终止,则使用的命令是 kill -9
3.当一个进程正在执行时,用户按下了 Ctrl+C 键,该进程接收到的信号是 2
4.设置用户作业被定义在文件/tmp/myj 内,要求改作业在 3 个小时以后执行,正确的命令
是 at now + 3 hours < /tmp/myj 和 at now + 3 hours –f /tmp/myj
5.在 Linux 系统中,让命令 myp 以优先级数 10 运行的命令为 nice -10 myp 和 nice –n10 myp
第九章网络管理与网络应用
一、思考题
1.什么是子网掩码?其作用是什么?
子网掩码是一个 32 位地址,用于屏蔽 IP 地址的一部分以区分网络标志和主机标志;其作
用有:①用来区分一个 IP 地址的网络号和主机号各占多少位。②通过子网掩码来判断两
个 IP 地址是否属于同一网络。③将网络分为多个子网。
3.如何查看当前系统运行了哪些网络服务?
可以使用 chkconfig 来查看系统运行的各种服务,其主要用法为:chkconfig --list
4.用户如何设置在 Linux 系统开机时自动启动某个网络服务?
使用 ntsysv 工具,在要设置为自动启动的服务名旁的复选框选中(*),并按“确定”按钮保
存配置结果。
二、选择题
1.20
2.196.100.1 是 C 类地址。
2.当 IP 地址的主机地址全是 1 时表示该网络的广播地址。
3.路由器最主要的功能是选择信息包传送的最佳路径。
4.FTP 传输中使用 20 和 21 两个端口。
第十章 shell 编程
一、思考题
1.正则表达式可以用于模式匹配与搜索,常见的正则表达式有几类?BRE 的正则表达式可
以完全使用在 ERE 吗?
3 类:SRE、BRE 和 ERE;ERE 比 BRE 具有更丰富的语法,一些 BRE 表达式不可以用在 ERE
中。
2.shell 是解释语言还是编译语言?
解释语言。
3.awk 的默认域分隔符是什么?如何改变 awk 的域分隔符?
白空格;改变方法是使用-F 选项,例如-F:可使分隔符变为冒号“:”。
4.在 shell 中如何回到刚离开的工作目录?
使用“cd ~-”命令。
二、填空题
1.grep –E …[Hh]enr(y|ietta)‟file 的 功 能 是 在 文 件 file 中 查 找 Henry 、 henry 、 Henrietta 或
henrietta
2.grep –v “ ^# ” /etc/syslog.conf 的作用是在文件/etc/syslog.conf 中查找非注释行。
5.awk –F: …{print $1} END {print NF;print NR}‟/etc/passwd 的作用是显示文件/etc/passwd 中的
所有用户名,并在结束时输出由“:”分隔的域数和总行数。
6.awk …{print toupper($0)}‟ofile 的作用是将输入文件 ifile 的内容转换成大写后输出到
文件 ofile
1.试分别用 grep、sed、和 awk 实现:删除文件 ifile 中以#开始的注释行,并将结果输出到
文件 ofile。
grep –v …^#‟ ofile
sed –e …/^#‟ ofile
awk …!/^#/ {print $0}‟ ofile
2.设计一个菜单 shell 程序,要求如下:
①捕获信号 1、2、3、15
②在循环中,当收到信号后在终端上显示“I Received Signal #”,其中#为收到的信号编号。
#!/bin/sh
trap sig1 1
trap sig2 2
trap sig3 3
trap sig15 15
function print_sig( ) {echo –e “I Received Signal:$1\n”;}
sig1( ) {print_sig 1;}
sig2( ) {print_sig 2;}
sig3( ) {print_sig 3;}
sig15( ) {print_sig 15;}
func1( ) {echo “function1”;}
func2( ) {echo “function2”;}
while true
do
clear; echo –e “\n\n\t\t1.func1 2.func2 q.exit”
case $x in
1) func1;;
2) func2;;
Q|q|E|e exit 0;;
*) echo –e “\a”;;
esac
read x
done
4.在 UNIX/Linux 系统中,环境变量时非常重要,在字符界面下试说明:
①PATH 变量的作用,如何得到 PATH 的值?
②在 UNIX/Linux 系统的超级用户的环境变量 PATH 中允许包含当前目录吗?
③若在超级用户的当前目录内有可执行文件 mypro,如何执行它(写出执行时键盘输入的
内容)?
④如何使用该命令在后台执行(写出执行时键盘输入的内容)?
①PATH 为命名搜索路径,可用 echo $PATH 命令显示。
②UNIX/Linux 的 PATH 变量内不允许包含当前路径。
③./mypro
④./mypro &
5.设计一个 shell 程序计算 n 的阶乘。要求:
①从命令行接收参数 n。
②在程序开始后立即判断 n 的合法性,即是否有参数。若有,是否为正整数?若非法,请
给出错误的提示。
③最后给出计算的结果。
#!/bin/sh
if [$# -eq 0]; then echo –e “$0 no Params.\a\n”; exit 0; fi
x=`echo $1 | awk …/[^[:digit:]]/ {print $0}‟`
if [“x$x” != “x”]; then echo –e “Input:$* error!\a”; exit 1; fi
fact=1; tmp=1
while [$tmp –le $1]
do
fact=$((fact*tmp)); tmp=$((++tmp));
done
echo “fact=$fact”
第十一章 Linux 系统的 C 编程
一、思考题
2.在标准 C 中,以下两个语句有何不同?
#include
#include “file.h”
答:前者 file,h 在 include 目录,而后者 file.h 在当前目录或/usr/include 目录。3.如何构造和
使用自己的静态库?
首先使用 gcc –c *.c 生成目标文件,然后再使用 ar crv *.a*.o 生成表态库,最后使用 ranlib
libmyl.a 为子函数建立索引表。当创建成功后,就可以按照库系统的方法使用静态库,用法
参见以下实例:
cc –o fp f3.c libmyl.a
#使用库 libmyl.a 和 f3.c 生成可执行程序 fp cc –o fp f3.o libmyl.a
。
。
#–L 指定当前目录,–lmyl
#使用库 libmyl.a 和 f3.o 生成可执行程序 fp cc –o fp f3.c –L.–lmyl
指定库 libmyl.a 4.如何构造和使用自己的共享库?
首先使用 gcc –c *.c 生成目标文件,然后再使用 gcc –shared –o lib*.so *.o/由目标文件生成共
享库。使用共享库时要用到头文件 dlfcn.h 和几个相关的函数:dlerror(返回动态共享库操
作状态信息)、dlopen(打开共享库)、dlsym (返回共享中函数的入口地址)和 dlclose
(关闭共享库)。
二、填空题
1.设有 C 语言程序 my.c
A.生成目标文件 my.o 的命令是 gcc –c my.c 。
B.生成汇编语言文件 my.s 的命令是 gcc –S my.c 。
C.生成可执行程序 myp 的命令是 gcc –o myp my.c 。
(2.设有两个 C 语言程序模块 c1.c 和 c2.c(不含 main 函数)。
A.由 c1.c 和 c2.c 生成静态库 libmyar.a 的命令是。
B.由 c1.c 和 c2.c 生成共享库 libmyar.so 的命令是。
3.在某 Makefile 内有以下语句:
SRC=f1.c f2.c f3.c
TGT=$(SRC:.c=.d)
SRC+=f4.c
TGT=
SRC=
)
阅读 Makefile 文件:
all:libmys.so
SRC=f1.c f2.c f3.c
TGT=$(SRC:.c=.d)
%.o:%.c
cc –c $?
Libmys.so:$(TGT)
cc –shared –o $@ $(TGT)
clean:
rm –f $(TGT)
回答以下问题:
1.此 Makefile 文件的主要功能是什么?
生成共享库文件 libmys.so
2.此 Makefile 文件包含多少个规则?它们分别是什么?
4 个,分别是 all、%.o、libmys.so 和 clean
3.使用此 Makefile 文件可以生成目标文件 f2.o 吗?为什么?
可以,因为规则%.o:%.c 已经定义了*.o 与*.c 的关系和生成方法。
第十二章 DHCP 服务器
一、简答题
1.简述 DHCP 的功能
DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)的缩写,它是 TCP/IP
协议簇中的一种,主要是用来给网络客户机分配动态的 IP 地址。
2.简述 DHCP 的配置文件的相关选项及含义。
为客户端指定 DNS 域名
·subnet-mask(子网掩码)为客户端指定子网掩码
·domain-name(域名)
·domain-name-server ip ip 地址为客户端指定 DNS 服务器的 IP 地址·host-name(主机名)为
客户端指定主机名
·routers ip 地址为客户端指定默认网关
3.在不同网络环境中的 DHCP 的规划。
(1)小型网络中 DHCP 的部署
·网络中提供特殊服务(DNS、FTP)的服务器应该采用静态 IP 地址
·不同的网络服务应该由不同的服务器承担
(2)大型网络中 DHCP 的部署
·为每一个子网配置一台 DHCP 服务器
·在每个子网中设定一个 DHCP 中继代理
4.DHCP 中继的含义及其应用。
DHCP 中继代理:指 DHCP 服务器和 DHCP 客户之间转发 DHCP 消息的主机或路
由。在大型网络中主机将 IP 请求发给中继代理,有中继代理向 DHCP 服务器发出请求,并
将获得的 IP 地址返回给 DHCP 客户机。
(第十三章 FTP 与 TFTP 服务器
一、简述题
1.简述 FTP 服务的原理。
2.简述 Linux 系统的常用 FTP 服务器软件及其特点。
3.简述 TFTP 的用途。
)
第十四章 telnet 协议与 openssh 服务器
一、简述题
1.简述 telnet、ssh 的功能和区别。
telnet 和 ssh 都是用来远程连接的协议。telent 是明码传输,ssh 是加密传输。
2.简述 openssh 的主配置文件的选项及含义。
/etc/hosts.equiv 允许使用 rlogin 自动登录本机的主机列表
/etc/ssh/shosts.equiv (同上一条)
/etc/ssh ssh 配置目录
/etc/ssh/ssh_config 客户端配置文件
~/.ssh/config (同上一条)
/etc/ssh/sshd_config 服务器端配置文件
第十五章网络资源共享服务器 Samba
一、思考题
1.什么是 SMB?什么是 Samba?
SMB:Server Message Block 服务信息块。
Samba 是一组软件包,用于实现 SMB,它主要用作网络资源共享服务器,并能使 Linux 主
机与 Windows 主机之间实现文件共享和打印机共享。
5.如何从 Linux 访问 Windows 或另一台 Linux 的共享资源?
(1)使用 smbclient 工具查看或访问服务器共享资源;
(2)使用 smbmount 工具(和远程挂载方法)直接访问服务器共享资源。
二、选择题
1.Samba Server 共有 4 中验证方式,其中验证级别最低的是共享。