linux操作系统课后习题答案

  • 格式:pdf
  • 大小:249.36 KB
  • 文档页数:21

linux操作系统课后习题答案

《Linux操作系统(第2版)》课后习题答案

练习题

⼀、选择题1. Linux最早是由计算机爱好者 B 开发的。

A. Richard Petersen

B. Linus Torvalds

C. Rob Pick

D. Linux Sarwar

2. 下列 C 是⾃由软件。

A. Windows XP

B. UNIX

C. Linux

D. Windows 2000

3. 下列 B 不是Linux的特点。

A. 多任务

B. 单⽤户

C. 设备独⽴性

D. 开放性

4. Linux的内核版本是 A 的版本。

A. 不稳定

B. 稳定的

C. 第三次修订

D. 第⼆次修订

5. Linux安装过程中的硬盘分区⼯具是 D 。

A. PQmagic

B. FDISK

C. FIPS

D. Disk Druid

6. Linux的根分区系统类型是 C 。

A. FATl6

B. FAT32

C. ext4

D. NTFS

⼆、填空题1. GNU的含义是:GNU's Not UNIX。

2. Linux⼀般有3个主要部分:内核(kernel)、命令解释层(Shell或其他操作环境)、实⽤⼯具。

3. 安装Linux最少需要两个分区,分别是 swap交换分区和/(根)分区。

4. Linux默认的系统管理员账号是 root 。

三、简答题(略)1.简述Red Hat Linux系统的特点,简述⼀些较为知名的Linux发⾏版本。

2.Linux有哪些安装⽅式?安装Red Hat Linux系统要做哪些准备⼯作?

3.安装Red Hat Linux系统的基本磁盘分区有哪些?

4.Red Hat Linux系统⽀持的⽂件类型有哪些?

练习题

⼀、选择题1. C 命令能⽤来查找在⽂件TESTFILE中包含四个字符的⾏?

A. grep’’TESTFILE

B. grep’….’TESTFILE

C. grep’^$’TESTFILE

D. grep’^….$’TESTFILE

2. B 命令⽤来显⽰/home及其⼦⽬录下的⽂件名。

A. ls -a /home

B. ls -R /home

C. ls -l /home

D. ls -d /home

3. 如果忘记了ls命令的⽤法,可以采⽤ C 命令获得帮助

A. ?ls

B. help ls

C. man ls

D. get ls

4. 查看系统当中所有进程的命令是 D 。

A. ps all

B. ps aix

C. ps auf

D. ps aux

5. Linux中有多个查看⽂件的命令,如果希望在查看⽂件内容过程中⽤光标可以上下移动来查看⽂件内容,则符合要求的那⼀个命令是 C 。A. cat

B. more

C. lessD. head

6. C 命令可以了解您在当前⽬录下还有多⼤空间。

A. Use df

B. Use du /

C. Use du .

D. Use df .

7. 假如需要找出 /etc/ ⽂件属于哪个包(package),可以执⾏ C 命令。

A. rpm -q /etc/

B. rpm -requires /etc/

C. rpm -qf /etc/

D. rpm -q | grep /etc/

8. 在应⽤程序启动时, B 命令设置进程的优先级。

A. priority

B. nice

C. top

D.、setpri

9. C 命令可以把复制为?

A. cp |

B. cat |

C. cat >

D. copy |

10. 使⽤ B 命令可以查看Linux的启动信息。

A. mesg –d

B. dmesg

C. cat /etc/mesg

D. cat /var/mesg

⼆、填空题1. 在Linux系统中命令区分⼤⼩写。在命令⾏中,可以使⽤Tab键来⾃动补齐命令。

2. 如果要在⼀个命令⾏上输⼊和执⾏多条命令,可以使⽤分号来分隔命令。

3. 断开⼀个长命令⾏,可以使⽤反斜杠“\”,以将⼀个较长的命令分成多⾏表达,增强命令的可读性。执⾏后,Shell⾃动显⽰提⽰符“>”,表⽰正在输⼊⼀个长命令。4. 要使程序以后台⽅式执⾏,只需在要执⾏的命令后跟上⼀个“&”符号。

三、简答题1. more和less命令有何区别?

2. Linux系统下对磁盘的命名原则是什么?

3. 在⽹上下载⼀个Linux下的应⽤软件,介绍其⽤途和基本使⽤⽅法。练习题(略)1. Vim的3种运⾏模式是什么?如何切换?

2. 什么是重定向?什么是管道?什么是命令替换?

3. Shell变量有哪两种?分别如何定义?

4. 如何建⽴和执⾏Shell脚本⽂件?如何使⼀个Shell脚本在当前Shell中运⾏?

5. 如何设置⽤户⾃⼰的⼯作环境?

6. 关于正则表达式的练习,⾸先我们要设置好环境,输⼊以下命令:

$cd

$cd /etc

$ls -a >~/data

$cd

这样,/etc⽬录下的所有⽂件的列表就会保存在你的主⽬录下的data⽂件中。

写出可以在data⽂件中查找所有⾏的正则表达式:1)以“P”开头

2)以“y”结尾

3)以“m”开头以“d”结尾

4)以“e”、“g”或“l”开头

5)包含“o”,它后⾯跟着“u”

6)包含“o”,隔⼀个字母之后是“u”

7)以⼩写字母开头

8)包含⼀个数字

9)以“s”开头,包含⼀个“n”

10)只含有4个字母

11)只含有4个字母,但不包含“f”

练习题

⼀、填空题1. shell shell 的语法与命令(含外部命令)正则表达式管道命令数据流重导向

2. 上下左右

3. r r 与 x

4. shell (#!/bin/bash) 程序⽤途版本作者

5. read date

6. ⽗程序

7. test 中括号 ( [] )

8. if...then case $var in ... esac

9. 不定循环 (while, until) 固定循环 (for)10. sh -x

⼆、实践习题1.请创建⼀个 script ,当你运⾏该 script 的时候,该 script 可以显⽰:①你⽬前的⾝份 (⽤ whoami );②你⽬前所在的⽬录(⽤ pwd)。

#!/bin/bash

echo -e "Your name is ==> $(whoami)"

echo -e "The current directory is ==> $(pwd)"

2.请⾃⾏创建⼀个程序,该程序可以⽤来计算“你还有⼏天可以过⽣⽇”。

#!/bin/bash

read -p "Pleas input your birthday (MMDD, ex> 0709): " bir

now=`date +%m%d`

if [ "$bir" == "$now" ]; then

echo "Happy Birthday to you"

elif [ "$bir" -gt "$now" ]; then

year=`date +%Y`

total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24)) echo "Your birthday will be $total_d later"

else

year=$((`date +%Y`+1))

total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24)) echo "Your birthday will be $total_d later"

fi

3.让⽤户输⼊⼀个数字,程序可以由 1+2+3... ⼀直累加到⽤户输⼊的数字为⽌。

#!/bin/bash

read -p "Please input an integer number: " number

i=0

s=0

while [ "$i" != "$number" ]

do

i=$(($i+1))

s=$(($s+$i))

done

echo "the result of '1+2+3+...$number' is ==> $s"

4.撰写⼀个程序,他的作⽤是:①先查看⼀下 /root/test/logical 这个名称是否存在;②若不存在,则创建⼀个⽂件,使⽤ touch来创建,创建完成后离开;③如果存在的话,判断该名称是否为⽂件,若为⽂件则将之删除后创建⼀个⽬录,⽂件名为logical,之后离开;④如果存在的话,⽽且该名称为⽬录,则移除此⽬录。

#!/bin/bash

if [ ! -e logical ]; then

touch logicalecho "Just make a file logical"

exit 1

elif [ -e logical ] && [ -f logical ]; then

rm logical

mkdir logical

echo "remove file ==> logical"

echo "and make directory logical"

exit 1

elif [ -e logical ] && [ -d logical ]; then

rm -rf logical

echo "remove directory ==> logical"

exit 1

else

echo "Does here have anything?"

fi

5.我们知道 /etc/passwd ⾥⾯以 : 来分隔,第⼀栏为帐号名称。请写⼀个程序,可以将 /etc/passwd 的第⼀栏取出,⽽且每⼀栏都以⼀⾏字串“The 1 account is "root" ”来显⽰,那个 1 表⽰⾏数。#!/bin/bash

accounts=`cat /etc/passwd | cut -d':' -f1`

for account in $accounts

do

declare -i i=$i+1

echo "The $i account is \"$account\" "

done

练习题

⼀、选择题1.( A)⽬录存放⽤户密码信息

A. /etc

B. /var

C. /dev

D. /boot

2. 请选出创建⽤户ID 是200,组ID是1000,⽤户主⽬录为/home/user01的正确命令。( C)

A. useradd -u:200 -g:1000 -h:/home/user01 user01

B. useradd -u=200 -g=1000 -d=/home/user01 user01

C. useradd -u 200 -g 1000 -d /home/user01 user01

D. useradd -u 200 -g 1000 -h /home/user01 user01