Unix考试复习内容

一、选择题

1.Shell程序可以使用预定义的变量,若要表示在命令行中实际给出的所有位置参数的个数,可以使用的特殊变量是(C)

A.$$     B.$!     C.$#     D. $*

预定义变量扩展:

$# :命令行中位置参数的个数
$* :所有位置参数的内容
$? :上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0表示执行异常或出错
$$ :当前所在进程的进程号
$! :后台运行的最后一个进程号
$0 :当前执行的进程/程序名

2.在UNIX系统中,用于查看系统运行状态的命令(类似于Windows中的任务管理器)是(A)

A.top   B.grep  C.ps     D.ee
top:显示进程所占的系统资源
grep:一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
ps:查看服务器进程信息,如同Windows中的任务管理器。

3.Shell就是UNIX提供用户的使用界面,Shell处在(A)之间,起着协调用户与系统的一致性、在用户与系统之间进行交互作用,即Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。

A.内核与外层应用程序   B.内核与硬件 
C.硬件与外层应用程序   D.硬件与内核

4.在任何一个UNIX系统平台上都存在,并被称为标准Shell是(A)

A.Bourne Shell      B.Korn Shell
C.C Shell           D.A Shell (bash)

bourne shell级系统中使用的sh
bash即bourne again shell
区别:bash是增强版

5.在Shell程序中用来在标准输入中读入数据的命令是(A)

A.  read   B.write   C.>>    D.<<

6.在Shell程序中用来定义全局变量的命令是(A)

A.export  B.profile  C.import  D.define

7.在Shell程序中,使用位置参数时,其值始终存在的位置参数是(A)

A.$0        B.$1         C.$2        D.$9

8.下面哪个命令不能实现查看文件内容(D)

A.cat      B.pg     C.more     D.paste 
#分页显示指定文件的内容
#paste将多个文件的内容合并

9.使用chmod可以改变文件属性,例如:chmod 755 a.out是将a.out文件的所有者权限改为(D)

A.可读    B.可写        C.可执行    D.可读可写可执行  

10.UNIX系统中,配置文件所在的目录 (D)

A./home/root  B./home  C./   D. /etc

11.Shell程序可以使用预定义的变量,若要表示在命令行中实际给出的所有位置参数的字符串,可以使用的特殊变量是(D)

A.$$     B. $1     C. $#     D.  $*

12.在UNIX系统,用于查看系统中正在运行的进程的状态的命令是(C)

A.cd   B.pwd   C.ps     D.ls

13.UNIX系统中,用户源程序经过编译后得到的可执行文件属于(B)

A.ASCLL文件  B. 普通文件   C.目录文件   D.特别文件

14.在vi编辑器中,下列哪个命令可以给任意一个字符串指定缩写形式 (A)

A. ab   B.map  C.unab   D.unmap

15.不同类型文件有不同的类型标志,则目录类型文件的类型标志是 (A)

A.d      B.c       C.-          D.b

16.字符设备文件类型的标志(B)

A.p      B.  c      C.s         D.l

17.可以使用以下哪条命令完成逐行连接文件 (B)

A.cut   B. paste   C.more    D.copy

18.一般来说,设备文件所在的目录是 (D)

A./home/root   B./home   C./    D. /dev

19.使用chmod命令时,作用对象为用户组的字符是 (B)

A.u      B. g    C.o   D.a
#group缩写

20.使用test命令比较字符串时,下面那个操作符用于判断字符为空串 (D)

A.=     B.!     C.-n    D.-z

21.不属于vi中光标移动操作的是 (A)

A.i    B.b     C.j     D.k

22.一般来说,基本命令文件所在的目录是 (C)

A./home/root  B./home  C./ bin  D. /dev

23.unix操作系统是一种(D)操作系统

A.单任务、单用户  B.单任务、多用户
C.多任务、单用户  D.多任务、多用户

24.不属于vi中插入字符的操作是 (D)

A.i   B.a    C.o    D.k

二、简答题

1.以长格式显示当前目录的内容:

ls -l

2.在当前目录下创建一新目录:

mkdir ./a
#a为目录名字

3.将当前目录下的文件report复制到某个目录下:

mv a /home/chen/c205/
#a为当前目录
#/home/chen/c205/为其他目录

4.编译first.cpp,如果有编译错误的话,保存到一个名为error的文件中:

g++ -c -o first first.cpp 2> error

5.将两个文件追加到第三个文件的末尾。>>

cat a b >> c
#a,b,c均为文件

6.rm [a-e]*.c是什么意思?

删除首字母为a到e,扩长名为.c的所有文件

7.将当前系统上的用户列表追加到mydir.list文件:

who >> mydir.list 

8.使用cat命令复制myfirst文件到另一个文件,名为myfirst.copy

cat myfirst >> myfirst.copy

9.删除以report开头的所有文件。

rm -r report*

10.查找并删除所有超过10天且没有修改的first.c文件:

find . -name first.c -mtime +10 -exec rm {}  \;

11.查看目前有多少个用户正登录使用本系统:

w  或者  who

12.对data文件并行排序并将结果存放在sorted文件中,在后台运行:

sort data >> sorted 

13.使用cut命令显示numbers文件每行的头5个字符:

cut  -c  1-5  numbers

14.现有文件phone.list,对这个文件按照第二个字段进行排序,查看排序结果:

sort +1  phone.list

15.显示用户数量

who | wc -l

16.在使用mailx接受邮件时,在命令模式下r和R有什么不同?

r:给消息messages发送者和同一消息的其他所有接受者回复消息
R:给消息messages发送者回消息

17.在vi编辑下,将第5行到第10行复制到temp文件,写出命令操作。

: 5 10 w temp

18.mailx tom jeery <myfile(简述本条命令能够实现的操作)

将myfile发送给用户ID为tom,jeery的用户

19.显示who文件,每屏10行。

more -c -10 who

(原文件中的12与4相重,故只有19个)

三、Shell编程题

1.创建一个脚本文件完成如下功能。(亲测)
清屏
空2行
显示当前日期和时间
显示当前用户数
然后显示信息:Now at your service

clear
echo -e "\n"
echo `date`
echo `who | wc -l`
echo "Now at your service"

2.编写一个程序实现如下功能,根据一天的不同时间显示不同的问候语,在中午前显示good morning,在12点到18点之间显示good afternoon,在18点以后,显示good evening。

set `date`
hour=$4
if [ "$hour"\<"12:00:00" ]
then
   echo "good morning"
elif [ "$hour"\<"18:00:00" ]
then
   echo "good afternoon"
else
   echo "good evenning"
fi
exit

3.用B shell编写一段程序实现如下功能:获取用户输入数字(要求1—10之间的数字),并将该数字与5做比较,判断大小。

echo "key in a number(1—10):"
read a
if [ $a -lt 1 -o $a -gt 10 ]
then
echo "ERROR NUMBER"
elif [ $a -lt 5 ]
then
echo "it's  less 5"
elif [ $a -eq 5 ]
then
echo "it's equal 5"
else
echo "it's greater than  5"
fi
exit 0

4.写一段程序,锁定键盘,只有输入正确的密码才能使用终端。

clear
echo "Enter your password>"
read pword_1
echo "THIS SYSTEM IS LOACKED..."
read pword_2
until [ "$pword_1" = "$pword_2" ]
do
read pword_2
done
echo "finished"
exit 0

自行摘取答案, 晚上熬夜整理不易

您的支持是对我最大的鼓励!

在这里插入图片描述

发布了60 篇原创文章 · 获赞 10 · 访问量 5495

猜你喜欢

转载自blog.csdn.net/qq_43476433/article/details/103325384