2024年6月8日发(作者:)
1.在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是(B)19
A./sbin B./bin C./usr D./lib
2.在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录
A/bin B./boot C./root D./proc
3.在Linux目录结构中用来存放系统配置文件(D)目录
A./lib B./dev C./proc D./etc
三种特殊权限中仅用于目录文件的权限是(C)22
C.黏滞位 D.都可以
三种权限中允许进入目录的权限(C) 22
A.r-可读 B.w-可写 C.x-可执行 D.都不是
6.下列脚本文件最先自动执行的是(A)24
A./etc/ B./etc/profile C.~/.bashrc D.~/.bash_logout
7.下面通配符可匹配多个任意字符的通配符是(A)29
A.* B. ? C.[abcde ] D.[!a-e]
8.输出重定向符号右边的文件已经存在,不会覆盖文件而是追加的定向符是(B)
A.> B.> > C. 2> D.&>
9.表示用户家目录的是(B)
A./home (所有用户家目录的父目录,+用户名才是用户家目录) B.~ C. . D. ..
10.可删除非空目录及其子目录的命令是(B)
A. touch -r 空目录
11. 是强引用的符号(A)
A. 单引号 B.反引号 C.双引号 D.中括号
12.可显示隐藏文件的ls命令形式选项是(A)
A. ls -a B. ls -d -h D .ls -l
13.可通过接受标准输入作为输出内容来创建简单文件的命令是(B)42
A. touch D. gedit
14.不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B) 43
A. cat 和less 和 tail D vi
命令可统计文件的行数、字数和字节数。在下列格式中只显示文件的字数的是(C) 51
A. wc B. wc -c C. wc -w D wc -l
16.可实现文件重命名的命令是(B)52
A. cp B. mv C. ln D rename
17.在Linux系统中可通过挂载将光盘、U盘或一个文件系统连接到主目录树的一个目录节点。期中光盘或光盘镜像
对应的文件系统类型是(C)44
A. vfat B. ext3 9660 D vboxsf
18.下面更改文件命令只能更改符号连接的目标文件的权限的命令是(C)
A. chown C. chmod D.以上都不对
命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其
中从最高到最低位依次表示为(A)每个八进制的三个二进制位从高到低分别表示为有无读、写、执行权限
A.文件所有者 文件所属组 其他用户 B. 其他用户 文件所属组 文件所有者
C.文件所属组 文件所有者 其他用户 D.其他用户 文件所有者 文件所属组
命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其
中每个八进制的三个二进制位从高到低分别表示为有无 (A)
A.读写执行B.写读执行 C.执行 读 写 D.执行 写 读
21.运行时不会创建子进程的方式是(C)69
A.赋予shell程序文件可执行权限 ,直接运行shell 程序(外部命令)
B. 调用命令解释器解释执行shell程序 (Shell函数)
C.使用source命令执行shell 程序(内部命令)
D.用( )将多条命令括起来而形成的复合命令执行
22.对于使用(C)连接的两条命令,只有当左边的命令执行失败(退出状态为非0值)才会继续执行右边的命令。
A. ;B. && C. || D.都不是
执行命令在同名时优先级别最高的是(A)
A.别名 B. 函数 C.内部命令 D.外部命令
24.将一个变量stab的值清除(即成为空串)的命令是(D)
A. $stab B.${#stab} C.${stab } D unset stab
变量不需要预先定义,若对其进行数值操作,可指定变量的属性为整数,具体命令为D
A. declare -a 变量名 e -f 变量名 t -r 变量名 t -i 变量名
中可表示引用数组abrr中的所有非空元素的引用是(B)76
A. ${abrr} B.${abrr [*]} C.${#abrr[*] D.${#abrr[@]}
27.在Shell变量引用操作符可实现字符串替换其中(C)用来测试如果变量stra存在且不为空,则返回为word,
否则返回为空串78
A.${stra:-word } B. ${stra:=word } C.${stra: +word } D.${stra: ?word }
28.在Shell变量引用操作符可实现字符串替换其中(D)用来测试,如果变量stra存在,则返回为变量stra的值,
否则输出为word ,并退出当前脚本程序
A.${stra-word } B. ${stra=word } C.${stra: +word } D.${stra: ?word }
29.在Shell变量引用操作符可实现模式匹配替换其中(B)用来的含义是若pattern 匹配变量stra的头部,则删
除最长匹配部分并返回剩余部分。
A. ${stra #pattern} B.${stra##pattern } C.${stra%pattern} D.${stra%%pattern}
30.为了使子进程能继承父进程中定义的变量,就必须使(D)命令将这些变量送入进程转出区83
A. read
31. 使用(D)形式时,即使表达式中有Shell的特殊字符时,也不必用双引号将其括起来。87
A. test 表达式 B.[ 表达式 ] 算术表达式 D.((算术表达式))
32. 使用(D)形式时可以返回算术表达式的确切值
A. test 表达式 B. let 算术表达式 C.((算术表达式 )) D.$((算术表达式))
可以对编译阶段进行控制,其中(B)选项规定编译到汇编语言,不进行其他操作。107
A. -E B.-S C.-c D.-o
可以对编译阶段进行控制,其中(A)选项设定库文件的路径
A.-L path B. -I path C. -l library D.-static
可以对编译阶段进行控制,其中(D)选项在可执行文件中包含标准调试信息,供gdb进行调试。
A.-Wall B. -Werror C. -w D.-g
36.在Linux底层文件访问中的大多数操作都是围绕文件描述符来展开的其中(A)函数是内核向进程返回一个文件
描述符为以后使用148
() B. read() C. write() ()
37.最终文件权限取决于(D)
A. mode B. unmask C. mode&unmask &~unmask 非掩码
()中第三个参数的值为0表示(A)
A.文件开始位置 B. 文件读写指针当前位置 C. 文件结束位置 D.都不是
39.文件属性读取函数中,依据文件名且当文件是一个符号链接时返回是链接所指向文件的信息的函数是(A)152
B. lstat C. fstat D.都不是
40.利用文件属性读取函数获取的st_mode进行文件类型测试方法正确的是D
A.对成员st_mode同文件类型掩码进行与运算 B. 对成员st_mode直接判断
C. 利用带成员st_mode参数宏(用于文件类型判断)定义 D. A和C都可以
41.下列函数中可关闭文件的函数(A)
() B. dup2() C. A和B都可以 ()
42.下列底层文件访问函数中第一个参数是文件描述符的是(C)157
B. lchown C. fchown
43.硬链接是(B)162
A. 指向目标文件的指针 B. 指向文件的索引节点
C. 可跨越不同文件系统创建 D.可通过symlink()来创建
44.读取链接readlink和删除链接unlink操作对象是(C)163
A.都只对硬链接有效 B. 都对软链接无效
B.读取只对软链接有效,删除都两种都有效 D.读取对两种都有效,删除只对软链接有效。
45.目录文件的读取函数readdir()参数和返回值的含义()C 167
A.参数和返回值都指向目录文件 B.参数和返回值都指向目录项
C.参数指向目录文件,返回值指向目录项 D.返回值指向目录文件,参数指向目录项
46.对磁盘文件的标准I/O操作一般是实现(A)171
A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以
47.当标准输入和标准输出涉及交互作用设备时,它们是(B)
A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以
48.标准错误输出是(C)
A.全缓冲 B.行缓冲 C.不带缓冲 D.都可以
49.在函数fopen() 中文件打开模式中要求文件必须存在的模式是(A)172
A.r和r+ B.w和w+ C.a和a+ 和wb
50.在函数fopen() 中文件打开模式中不是可读写的方式打开文件模式是(D)
A.r+ B.w+ C.a+ D.r
51.在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一
个指定的文件打开为一个预定义的标准流(C)
n
52.以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是(C)174
r
53.当到达文件尾端或出错时,字符读取函数的返回值都是EOF,为进一步确认文件是否已到文件尾,应当通过(B)
函数来判断。
rr
54.在定位函数中,可直接将流的读写指针设置到文件的起始位置同时会将错误指示器errno 清零的函数是()
rewind 182 无答案
rr 174
55.下面关于ftell()函数成功调用说法不正确的是(C)
A.会清除流结束标志 B.返回读写指针当前相对文件起始位置的位移量
C.返回读写指针当前相对文件结束位置的位移量 D.会撤销已调用ungetc()对流的影响
56.格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。其中()函数是将格式化数据输出到指
定大小的字符缓冲区。(D)183
f f tf
57.格式化输入可从标准输入、指定文件及字符缓冲区读取格式化数据。其中()函数是输出到指定文件。(B)
f f tf
58.关于临时文件不正确的是A186
A.可通过tmpnam()创建 B.也可通过tmpfile()创建
C.程序结束时或关闭文件时自动删除 D.调用tmpname 次数有限制
59.下列是进程的异常终止的是(D)193
A.从main中调用return返回 B.调用exit C.调用_exit D.调用abort
60.不属于非格式化标准I/O的是(C)
A. 字符I/O B.行I/O C.列I/O D.块I/O
61.关于exit()函数不正确的是(B)194
A. 先清理后进入内核 B.底层系统调用
C.有一个整型参数 D.用于正常终止一个进程
62.内核使程序执行的方法的是(A)
A. 调用exec函数 B.调用exit/_exit C.从main返回 D.收到一个系统终止信号
63.关于atexit函数正确的是(D)
A. 一个进程可登记超过32个函数 B.函数登记的顺序 和调用顺序相同
B. 同一函数可登记多次,但调用一次
D.在显示或隐式调用exit时则执行这些登记的终止处理程序
64.非初始化数据段由exec赋初值常称为(C)196
A. 正文段 B.数据段 段 D.堆
65.在存储空间布局中从低地址到高地址依次分布为A
A.正文段→数据段→bss段→堆→栈 B.栈→ 堆→bss段→数据段→正文段
C.正文段→堆→栈→数据段→bss段 D.堆→ 正文段→数据段→bss段→栈
为0的交换进程是(A)200
A.其他所有进程的祖先进程 B.所有其他用户进程的祖先进程
C.其他所有内核线程的父进程 D.普通进程
67.调用exec可能有变化的是(D)204
A.调用前后进程ID B.调用exec前后实际用户ID
C.调用exec前后实际组ID D.调用exec前后有效用户ID和有效组ID
68当waitpid函数的pid参数设置为(A)表示等待任一子进程终止。211
==-1 ==0 >0 <-1
函数在父进程中的返回值是(B)206
A.0 B.创建的子进程的进程标识号 C.-1 D.1
函数在子进程中的返回值是(A)
A.0 B.创建的子进程的进程标识号 C.-1 D.1
71.进程可以忽略大部分信号,但下列信号中(D)不能忽略213
T T L
72.调用exec函数会将原来设置为要捕获的信号都更改为(A)214
A. 默认 B.忽略 C.另一捕获 D.默认或忽略
73.可用于在不同主机的进程间通信的技术是(D)225
A. 管道 B.共享内存 C.消息队列 D.套接字
74.只能在同源进程间通信的技术(A)224
A. 普通管道 B.命名管道 C.消息队列 D.共享内存
75.不属于System V IPC通信技术的是(A)
A. 管道 B.消息队列 C.信号量 D.共享内存
76.建立从父进程到子进程的管道的方法(B)225
A. 父进程关闭管道的写端,子进程关闭管道读端
B.父进程关闭管道的读端,子进程关闭管道的写端
C.父子进程都管道的读端 D.父子进程都关闭管道的写端
76.获取某个环境变量值使用函数A
A.getenv B.putenv C.setenv D.unsetenv
77.文件系统保存在磁盘的B
A.引导块 B.超级块 C.i节点块 D.数据块
78.Linux文件系统的根目录的i节点号为C
A. 0 B. 1 C.2 D.3
79.文件描述符的数据类型是B
A. char
80.设置文件偏移量的系统调用是C
A. truncate B. sync C . lseek
81.下面那个不是lseek第三个参数的取值C
_SET _CUR _NOW _END
82.可以使用(C)系统调用获得符号链接所引用文件名称
k nk nk
83.获得工作路径名称的系统调用是A
id id in
84.通过文件属性中的uid获得文件拥有者名字的系统调用是B
id id in
85.通过文件属性中的gid获得文件所属组名字的系统调用是C
id id in
86.根据文件路径来改变文件权限使用系统调用是B
一、填空题
内核与发行版的关系:Linux Kernel 3.5.3是Linux内核版,而Ubuntu 12.04.1是Linux的发行版
是linux系统的一种命令行用户界面,提供了用户与操作系统进行交互的接口,本质上是命令解释器,可
为用户提供个性化的使用环境。
3.在Shell中测试运算有文件属性测试、字符串测试、数值测试、逻辑运算。
4. 专门执行整数算术运算的命令let所指表达式可执行C语言中常见的算术、逻辑、位运算、比较运算等。
5.Vi的三中工作模式:插入模式、命令模式、末行模式。
6.Gcc生成可执行文件的四个步骤:预处理、编译、汇编、链接。预处理是对源程序进行头文件加载和宏展开等操
作,由cpp完成;汇编一是产生汇编代码,二是产生二进制的目标文件,由gcc使用as;生成的多.o文件和使用
到的库文件链接成为可被操作系统执行的可执行程序,使用ld工具,可使用两类库文件。
7.库分为 静态库 和共享库 。静态库由多个.o文件组成的集合,文件成员没有特殊的存在格式,使用“ar”可
维护和管理,库文件后缀为“.a”;共享库多个.o文件由编译器按照一定特殊的方式生成。多个可执行程序可共享
库文件的代码段,但不共享数据。
8.命令行参数是main。函数的参数y
Main函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针
数组。
9.Linux 中日期时间的表示方法有:算术类型、结构体类型、字符串类型。
10.如果一个C程序的入口表示为main(int argc,char *argv[]),编译该程序后的可执行程序为,那么
在命令“./ –f foo”后,main中的参数argv[1]指向的字符串是(“-f”)。
11.Linux系统下表示标准输入、标准输出和标准错误输出的文件描述符(符号表示)分别为(STDIN_FILENO、
STDOUT_FILENO 、STDERR_FILENO),它们的值分别为0、1、2。
12.数字635表示的权限使用字母的方式表示为 (rw—wxr-x)、使用符号方式表示为(S_IRUSR | S_IWUSR | S_IWGRP
| S_IXGRP | S_IROTH | S_IXOTH)。
13.系统调用open的功能是打开或创建文件。
14. 使用open打开文件时有三个标志必须要选择其一,这三个标志是O_RDONLY、O_WRONLY、O_RDWR。
15.文件偏移量代表下一次读或写的位置。
16.将文件偏移量市值为当前偏移处之前的4个字节的维护使用lseek(fd,(-4),(SEEK_CUR))。
17.设置打开文件标志(O_TRUNC),可以截断文件为0,使用系统调用(truncate)可以截断文件或者加长文件。
18.如果umask设置为022,则创建一个新文件夹(数字表示)的权限为(644)、创建一个新目录的权限为(755)。
19.如果umask设置为024,则创建一个新文件夹(数字表示)的权限为(642)、创建一个新目录的权限为(753)。
20.使用系统调用(umask)可以设置和得到文件模式的屏蔽字。
21.创建硬链接使用系统调用(link),创建符号链接使用系统调用(symlink)。
22.获得工作路径名称的系统调用是(getcwd)。
23.可以使用(stat或fstat或lstat)系统调用显示文件属性信息。
24.chmod,chown,utime都可以修改文件i节点信息,其中chmod的功能是(更改文件权限)、chown的功能是(更
改文件所有者和所属组)、utime的功能是(更改文件访问时间和修改时间)。
25.若实现将标准输出重定向到文件描述符为6对应的文件上,则应使用语句(dup2(6,1))。
26.系统调用(Unlink)的作用是删除目录项,这里的目录项是指(文件名和文件i节点的对应关系)。
27.打开目录使用(DIR *opendir(const char *name))系统调用,关闭目录使用( int closedir(DIR *dir))
系统调用,读取目录内容使用(struct dirent *readdir(DIR *dir))系统调用。
28.chdir系统调用的功能是(改变当前目录)。
29.创建目录使用(int mkdir(const char *pathname, mode_t mode))系统调用、删除目录使用(int rmdir(const
char *pathname))系统调用。
函数实现的操作:创建一个管道,fork一个子进程,然后关闭管道的不使用端,在子进程中exexc一个
shell以执行一条命令,然后等到命令的终止。
31.使用kill发送信号时,发送方进程应具有相应的权限:
接受和发送进程的所有者相同,发送进程的所有者是超级用户
三、简答题
1.系统调用、库函数的区别和练习
从用户角度观察,系统调用和库函数都以C函数形式出现,提供给用户一种功能实现的接口,需要用户输入指
定的参数,调用结束得到指定的返回值。
从实现者角度观察,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。
系统调用由两部分组成:
(1)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运行在核心
态。
(2)接口函数:是提供给应用程序的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用
的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使
用户态下运行的应用程序陷入核心态。
4.完成如下命令
(1)新建用户tom 和用户组student
#useradd tom
#passwd tom
#groupadd student
(2)新建文件file
#touch file
(3)将文件file 改名为test,然后将test拷贝到/home
#mv file test
#cp test /home
(4)将/home/test文件的拥有着修改为tom,将文件所属组该为student
#chown tom:student /home/test
5.静态库和共享库的区别
(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。
(2)共享库只是在程序开始运行时才载入,在编译时,只是简单地指定需要使用的库函数。
(3)静态库文件以.a结尾,共享库文件以.so结尾。
6.Linux文件类型主要有哪七类?
常规文件、目录文件、字符设备文件、块设备文件、管道文件、链接文件、套接字文件
7.简述文件、i节点、文件名、目录之间的关系
每个存在磁盘上的文件都由i节点和数据块两部分组成,i节点和文件一一对应,一个i节点可以对应多个文
件名,文件名和i节点的对应关系叫做文件的硬链接,文件名和i节点的对应关系保存在目录文件中。
8.什么是文件描述符?
(1)一个非负整数,内核以此来标识一个特定进程正在操作的文件。
(2)012代表三个标准的文件描述符,分别为标准输入、标准输出、标准错误输出
9.使用符号方式表示rwxrwxrwx权限
S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH| S_IWOTH|S_IXOTH
10.写出open一下6种打开标志:只读、只写、读写、追加、文件不存在创建、截断为0
O_RDONLY O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC
11.读程序,写出执行结果并解释得到该结果的原因
main()
{
int fd1,fd2;
fd1=open(“/etc/passwd”,O_RDONLY);
fd2=open(“/etc/passwd”,O_RDWR);
printf(“fd1=%d,fd2=%dn”,fd1,fd2);
close(fd1);
close(fd2);
}
结果:fd1=3 fd2=4
原因:open返回的文件描述符为最小可用的非负整数,012是三个标准的文件描述符默认已经被占用,所以第一个
open的返回值为3,第二个open返回的是4。
12.回答stat、fstat、latat三个系统调用的区别
stat根据路径获得文件元数据信息
fstat根据文件描述符获得文件元数据信息
前两者如果遇到符号链接文件则会一直引用至非符号链接文件
lstat获得符号链接文件本身的文件元数据信息
12.dup和dup2的区别和联系
联系:dup与dup2都用来将新文件描述符指向原来文件描述符指向的打开文件描述。
区别:dup返回的新文件描述符为最小可用的文件描述符,dup2返回的新文件描述符可以通过第二个参数指定。
13.硬链接和符号链接的区别
(1)命令
ln 原文件硬链接文件(不能对目录创建硬链接)
ln –s 原文件/目录符号链接文件
(2)是否新增文件:硬链接不增文件,符号链接增加文件。
(3)删除原文件/目录
硬链接:对应i节点链接数-1。
符号链接:符号链接文件失效。
(4)删除链接文件
删除硬链接文件,使对应i节点的链接数-1。
删除符号链接文件,对原文件/目录无任何影响
(5)是否跨文件系统:硬链接不可以,符号链接可以
14.fork与vfork区别?
(1)fork创建的子进程复制父进程的整个地址空间,vfork不创建这一副本,子进程借用父进程的地址空间,直
到其调用exec族函数或终止;
(2)fork创建的子进程和父进程相互独立地运行,而vfork创建子进程后挂起父进程,直到子进程终止或调用exec
族函数。
使用kill发送信号时,发送方进程应具有相应的权限:
接受和发送进程的所有者相同,发送进程的所有者是超级用户。
15.阅读以下代码,若execlp调用成功的话,“Done!”会打印输出吗?为什么?
#include
int main()
{
printf(“Running ps with execlpn”);
execlp(“ps”,”ps”,”-af”,0);
printf(“Done!n”);
exit(0);
}
不会输出“Done!”。
原因:
执行execlp(“ps”,”ps”,”-af”,0)调用成功后,当前进程的地址空间被新的程序ps所替代,将执行“ps -af”
16.试写出下列程序段的运行结果,并解释原因
int x=0,int y=0;
void thread1(void)
{
printf(“This is sentence 1n”);
y=7;
sleep(1);
printf(“This is sentence 2n”);
x=x+y;
}
void thread2(void)
{
printf(“This is sentence 1n”);
x=4;
sleep(1);
printf(“This is sentence 1n”);
y=8+y;
}
void main(void)
{
pthread_t id1,id2;
pthread_create(&id1,NULL,(void *)thread1,NULL);
pthread_ create(&id2,NULL,(void *)thread2,NULL);
pthread_join(id1,NULL);
pthread_ join(id2,NULL);
printf(“x=%d,y=%dn”,x,y);
}
答案:
This is sentense 1
This is sentense 1
This is sentense 2
This is sentense 2
x=11,y=15
原因:
(1)线程1先运行,线程2后运行。
线程1执行sleep(1);后阻塞,线程2继续执行,线程2执行到sleep(1);时线程2阻塞,线程1阻塞结束继续执
行,线程1执行结束后线程继续执行到结束。
(2)线程1和线程2共享进程的数据段,因此共享变量x,y。
17.进程间通信的六种方式是什么?简述他们的通信原理?
(1)信号:用于通知接收进程有某种事件发生。
(2)管道:连接一个进程的输出至另一个进程的输入的一种方法。
(3)信号量:一个计数器,用来记录对某个资源的使用情况。
(4)共享内存:允许多个进程访问同一块内存空间。
(5)消息队列:消息的链表,链表中每个节点包括消息类型和正文两部分。
(6)套接字:在网络上主机间进程进行通信的方式。
18.PIPE与FIFO的区别与联系
PIPE为未命名管道,FIFO为命名管道。
联系:PIPE和FIFO都是单向传输,一端为读,另一端为写。
区别:PIPE只能在有亲缘关系的进程中使用,如父子进程;
FIFO有名字,所以只要知道该名字,无关进程之间也可以使用。
19.书名产生信号的几种方式?
(1)用户操作。如键盘操作Ctrl-C,最终使得内核产生信号SIGINT。
(2)进程执行出错。如浮点数溢出,内核也会产生信号。
(3)进程执行某个系统调用。如调用kill向某个进程或进程组发送信号。
20.说明信号传递的过程。
(1)生成(generating)。内核要更新目标进程的数据结构,表示一个新的信号已经被发送给此进程。此时,进程
并没有对信号做出任何响应。
(2)传递(delivery)。强迫目标进程对信号做出响应。
四、编程题
1.向文件f1中写入“hello world!”,然后再将f1中的内容读出并显示在屏幕上。(注意必要的错误判断)
#include
#include
#include
int main()
{
int fd;
char buf1[13]={"hello world!"};
char buf2[12];
int num;
fd = open( "f1",O_RDWR| O_CREAT | O_TRUNC, 0644);
if(fd==-1)
{
perror("f1 not open");
exit(1);
}
num=write(fd,buf1,sizeof(buf1)-1);
if(num!=(sizeof(buf1)-1))
printf("write less than wantn");
lseek(fd,0,SEEK_SET);
num=read(fd,buf2,12);
if(num!=12)
printf("read less than 12n");
write(1,buf2,12);
close(fd);
}
2.向文件f2中写入“aabbccddee”,然后将偏移量移到绝对值偏移为4的位置处,读6个字符,并将结果显示在
屏幕上
#include
#include
#include
int main()
{
int fd;
char buf1[11]={"aabbccddee"};
char buf2[10];
int num;
fd = open( "f2",O_RDWR| O_CREAT | O_TRUNC, 0644);
if(fd==-1)
{
perror("f2 not open");
exit(1);
}
num=write(fd,buf1,sizeof(buf1)-1);
if(num!=(sizeof(buf1)-1))
printf("write less than wantn");
lseek(fd,4,SEEK_SET);
num=read(fd,buf2,6);
if(num!=6)
printf("read less than 6n");
write(1,buf2,6);
close(fd);
}
3.向文件f3中写入“aabbccddeeffgghh”,然后将文件截短后的文件内容读出并显示在屏幕上
#include
#include
#include
int main()
{
int fd;
char buf1[17]={"aabbccddeeffgghh"};
char buf2[8];
int num;
fd = open( "f3",O_RDWR| O_CREAT | O_TRUNC, 0644);
if(fd==-1)
{
perror("f3 not open");
exit(1);
}
num=write(fd,buf1,sizeof(buf1)-1);
if(num!=(sizeof(buf1)-1))
printf("write less than wantn");
lseek(fd,0,SEEK_SET);
ftruncate(fd,8);
num=read(fd,buf2,8);
if(num!=8)
printf("read less than 8n");
write(1,buf2,8);
close(fd);
}
4.实现“cat文件名”显示文件内容
#include
main(int argc,char *argv[])
{
int fd;
int num;
char buf[10];
if(argc!=2)
{
printf("miss filenamen");
exit(1);
}
fd=open(argv[1],O_RDONLY);
if(fd==-1)
{
perror("error open");
exit(1);
}
while((num=read(fd,buf,10))!=0)
write(1,buf,num);
close(fd);
}
5.实现“cp 原文件 目标文件”
#include
#include
main(int argc,char *argv[])
{
int from,to;
int num;
char buf[10];
if(argc!=3)
{
printf("argument errorn");
exit(1);
}
from=open(argv[1],O_RDONLY);
to=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0644);
num=read(from,buf,10);
while(num!=0)
{
write(to,buf,num);
num=read(from,buf,10);
}
close(from);
close(to);
}
6.编写程序pro3.c,将字符串“hello world”通过输出重定向方式写入文件f1中
#include
#include
#include
#include
#include
main()
{
int fd;
if((fd=open("f1",O_WRONLY|O_CREAT,0644))==-1)
perror("open fail");
if(dup2(fd,1)==-1)
perror("Redirect failed");
printf("Hello worldn");
close(fd);
}
7.使用fork创建进程,在子进程中打印“I am the child”和子进程pid,在父进程中打印“I am the father”
和父进程pid
#include
#include
#include
int main()
{
pid_t pid;
pid = fork();
if(pid < 0)
{
perror("fork");
exit(1);
}
else if(pid == 0)
printf("I am the childn");
else
printf("I am the fathern");
exit(0);
}
8.创建子进程,在子进程中执行“ps -A”命令,父进程等待子进程结束后打印“child over”
及所处理的子进程进程号
#include
#include
main()
{
pid_t pid,cpid;
int i;
char* args[64];
args[0]=”ps”;
args[1]=”-A”;
args[2]=NULL;
pid=fork();
if(pid<0)
{
perror(“fork”);
exit(1);
}
else if(pid==0)
{
execvp(args[0],args);
exit(0);
}
else
{
cpid=wait(NULL);
printf(“child over! cpid=%dn”,cpid);
}
}
9.编写程序处理SIGINT信号,当程序接收到SIGINT信号后输出“SIGINT is caught”
#include
#include
void signal_handler(int signum)
{
switch(signum)
{
case SIGINT:
printf("SIGINT is caught!n");
break;
}
}
int main()
{
signal(SIGINT,signal_handler);
pause();
return 0;
}
10.使用PIPE时限父子进程向子进程发送1234567890,子进程接收并显示
#include
#include
main()
{
int pfd[2];
char buf[32];
pid_t pid;
pipe(pfd);
if((pid=fork())<0)
perror("fork");
else if(pid>0)
{
close(pfd[0]);
write(pfd[1],"1234567890",11);
}
else
{
close(pfd[1]);
read(pfd[0],buf,11);
printf("child read:%sn",buf);
}
}
一、单项选择题
1、Linux操作系统内核创始人是( C )
A.Bill Gates B.Richard Stallman
C.Linus Torvalds D.Dennis e
2、以下哪种不是Linux的Shell类型( C )
A.bash B.ksh C.rsh D.csh
3、下面关于Shell的说法,不正确的是( B )。
A、一种命令语言解释器 B、一种和C类似的程序语言
C、操作系统的外壳 D、用户与Linux内核之间的接口程序
4、hda3表示( B )。
A、IDE0接口上的从盘 B、IDE0接口上主盘的第三个分区
C、IDE0接口上的第三个主分区 D、IDE0接口上的第三个逻辑分区
5、一般情况下,Swap的大小建议是( C )。
A、50M B、100M C、内存大小的2倍 D、150M
6、Linux下的cd命令可以改变用户的当前目录,当用户键入cd并按回车后,( A )。
A、当前目录改为用户主目录 B、当前目录改为根目录
C、当前目录没有变 D、当前用户改为上一级目录
7、在字符界面下启动X-Window的命令是( B)
A、start B、startx C、begin D、beginx
二、填空题(将正确答案填在每小题的空格内。本题共40空,每空1分,共40分)
1、安装Linux时经常建议初学者将磁盘分两个分区,分别是根分区和SWAP交换分区。
2、Linux的内核版本分为_稳定版_和开发版,其版本号通常由3个数字组成,并表示为X、Y、Z的形式,X代表__
主版本号_,Y代表__次版本号_,Z代表_末版本号_。其中,Y如果是偶数,则代表这个内核版本是_稳定版_,可以
公开发行。
3、如果将硬盘接在第一个IDE接口的从硬盘上,在Linux系统中这个硬盘代号是_______hdb____。这个硬盘第二
个逻辑分区的代号是___hdb6________。
4、在Windows与Linux并存的计算机中,安全删除Linux而不影响Windows的两个步骤分别是_删除Linux的引导
装载程序__和__删除Linux的磁盘分区
5、从GNOME切换到KDE有两种方法,分别是__利用桌面切换工具和_利用登录画面.
6、Linux的虚拟终端有__7__个,从图形模式切换到第一个文字界面的快捷键组合是____Ctrl+Alt+_[F1]~ [F6]。
7、在字符界面下退出当前登录的方法有两个,分别是___exit___和___Ctrl+D__。
8、系统要在今天的21:30关机,在字符界面下可以使用__shutdown –h21:30__命令来实现。
9、拥有管理员root权限的用户在字符界面下重启Linux的命令有两个,分别是_reboot__和__shutdown –r now_。
10、想知道当前目录的绝对路径,可以在字符界面下输入___pwd______命令。
11、使用命令_____shutdown –c __可以取消已经在后台进行的shutdown指令内容,如果想要取消当前正在运行
的shutdown指令内容,可以使用快捷键_____Ctrl+c__。
12、将系统当前时间改为2009年12月1日10时30分的命令是____date 12___。
13、想知道2009年10月份的月历的命令是__cal 10 2009____。
14、Bash的命令提示符有两种,分别是____$_____和__#(系统管理员)__。
15、分屏显示出当前目录下的所有文件和子目录,包括隐藏文件和隐藏子目录的详细信息的命令是______ls
–al|more____。
16、想显示文件的第11-20行的命令是____head –n 20 文件名|tail –n10______。
17、在字符界面中想查找date命令的帮助信息,最常使用__man__命令。退出该帮助信息的快捷键是__q__。
18、清除当前终端屏幕内容的命令是_____clear_____。
19、在字符界面下可以通过____tab____键对输入的shell命令实现自动补全。
20、目前,Linux用于保存数据的磁盘分区所采用的默认文件系统为___ext3_______。
21、在字符界面,欲为命令“ls -al”设置一个别名为“ll”,那么设置的命令为____________alias ll=’ls
-al’_____。
22、分屏显示文本文件的命令有两个,其中___less________命令可以使用pageup、pagedown等按键的功能向前向
后翻看,因此更加灵活。
23、将ls -al命令执行的结果不在标准输出设备上显示,而是保存到进行输出的命令是______ls
–al>________。
24、bash可以记录一定数量已经执行过的命令,这些命令都被存放在bash_history文件中,可以通过
_______history________命令来查看Shell命令的历史记录。
25、某文件的访问权限用数字法表示为765,用字母法则表示为___rwxrw-r-x__。
三、判断题(本题共6空,每空1分,共6分)
1. 在普通用户账户下可以使用命令shutdown –h now进行关机。 ( F )
2.以2009/10/10格式显示时间的命令是date +%y/%m/%d。 ( F )
3.命令cd /var/www/html表示从根目录开始寻址进入指定的绝对目录。 ( T )
4.命令cd ~和命令cd ~user的作用完全相同,都是回到用户的主目录。 ( F )
5. cat和tac功能相同,但是显示的结果恰好相反。 ( T )
6. GNU软件也叫自由软件,是指源代码公开,但不可自由传播的软件。 ( F )
四、简答题(本题型共5小题,共40分)
1.什么是Linux?(6分)
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
的应用领域有哪些?(6分)
集成计算机、桌面、服务器、嵌入式系统
3.Linux的主要组成部分从广义上来讲有哪几部分构成?(8分)
内核、Shell、文件系统、实用工具
4.简述X Window的工作原理。(10分)
用户的输入信息由X Server接受后,通过X协议传递给X Client,X Client根据用户的指示执行相应的程序,并
把显示结果返回给X Server,X Server根据X Client返回的显示结果,在显示器中建立窗口,并在窗口中显示图
形和文字
每一套X Window系统只有一个唯一的X Server
X Server用来负责建立窗口、在窗口中画图形影像和文字、回应X Client程序的请求
X Client 仅仅是实现系统窗口功能的一些应用程序,如GNOME
X Client无法直接影响窗口或显示,只能送一个“请求”给X Server,让X Server来完成它们的请求
5. 命令提示符 “[jerry@rhel3 /]”的含义是什么?(10分)
当前账户名称:jerry
主机名:rhel3
根目录:/
一、选择题
1)
2)
3)
4)
5)
6)
7)
8)
9)
下列关于操作系统的叙述中,哪一条是不正确的?( C )
A.操作系统管理计算机系统中的各种资源 B.操作系统为用户提供良好的界面
C.操作系统与用户程序必须交替运行 D.操作系统位于各种软件的最底层
Linux的发展始于( )年,它是有( )的一名大学生开发的。( A )
A. 1990、芬兰 B. 1991、芬兰 C. 1993、美国 D. 1991、波兰
内核不包括的子系统是( D ) 。(进程管理系统内存管理系统I/O管理系统
Linux 中权限最大的账户是( B )。
A. admin B. root C. guest D. super
D.本机IP 地址
虚拟文件系统进程间同性间通信子系统)
A.进程管理系统 B.内存管理系统 C.I/O管理系统 D.硬件管理系统
10) 在通常情况下,登录Linux 桌面环境,需要( B )。
11) A.任意一个帐户 B.有效合法的用户帐号和密码 C.任意一个登录密码
12) 在Red Hat Enterprise Linux 5中要配置计算机的IP地址,需要打开哪个菜单( C )。
13) A.“应用程序”→“Internet” B.“系统”→“首选项”→“网络代理”
14) C.“系统”→“管理”→“网络” D.“位置”→“网络服务器”
15) 配置网卡时,下面哪一项一般不需要配置( D )。
16) 地址 B.子网掩码 C.默认网关地址 地址
17) Linux文件权限中保存了( D )信息。
18) A.文件所有者的权限 B.文件所有者所在组的权限
19) C.其他用户的权限 D.以上都包括
20) Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在( C )目录中。
21) A./bin
23) A. 467
B./etc C./dev
B. 674
D./lib
22) 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为( D )。
C. 476 D. 764
24) 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( A ) 。
25) A. chmod a+x g+w exer1 B. chmod 765 exer1
C. chmod o+x exer1 D. chmod g+w exer1
26) 当前安装Linux的主机中位于第二个IDE接口的master接口挂接一块40GB的硬盘,其在Linux中的设备文件名为( B )。
27) A./dev/had B./dev/hdb C./dev/hdc D./dev/hdd
28) 已知Linux系统中的唯一一块硬盘是第一个IDE接口的master设备,该硬盘按顺序有3个主分区和一个扩展分区,这个扩展分区
又划分了3个逻辑分区,则该硬盘上的第二个逻辑分区在Linux中的设备名称是( C )。
29) A./dev/hda2 B. /dev/hda5 C./dev/hda6 D./dev/sda6
30) 在redhat Linux系统中,下列哪个命令可以用来将分区挂载到目录:( A )
31) B. mkfs 2fs
32) 在redhat Linux系统中,所有文件系统的挂载信息存放在哪个配置文件中:( B )
33) A./etc/passwd B. /etc/fstab C./etc/ D./etc/inittab
34) 在redhat Linux系统中,下列哪个命令可以用来激活服务的不同运行级别:( D )
35) B. make fig
36) 在redhat Linux系统中,硬件驱动程序配置信息存放在那个配置文件中:( C )
37) A./etc/passwd B. /etc/fstab C/etc/ D./etc/inittab
38) 在redhat Linux系统中,下列哪个命令可以用来查看kernel版本信息:( D )
39) B. ls kernel
40) 将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下,命令是( B ) 。
41) dev/had1 /winsys B. mount /dev/had1 /winsys
42) /dev/had1 winsys dev/had1 winsys
43) 哪一个是终止一个前台进程可能用到的命令和操作: ( B )。
44) B.
45) 你是Linux系统员,在/root下编写一个脚本文件showenv。你运行此脚本,命令如下:./showenv PWD 结果显示错误提示
如下:
46) bash:./showennv: 权限不够
47) 于是你运行命令ll showenv显示如下:
48) -rw-r—r-- 1 root root 155 6月 19 09:58 showenv
49) 你想实现只有自己可以运行此脚本,而其他帐户不能运行,你需要运行命令( A )。A. chmod u+x showenv B. chmod g+x showenv
50) C. chmod o+x showenv D. 以上命令都不能实现
51) 你是Linux系统管理员,运行命令mount –t iso9660 /dev/cdrom /mnt/cdrom。随后又运行几个命令,其中包含umount /mnt/cdrom,
但不包含mount 命令。你还运行命令history,其中部分显示如下:
52) 103 mkdir /mnt/cdrom
53) 104 mount –t iso9660 /dev/cdrom /mnt/cdrom
54) …
55) 你想再次访问光驱,应该运行命令( C )。
56) A.单击一次上箭头 B.!mount C.!104 /mnt/cdrom
57) ?????第二个IDE接口主硬盘的第一个分区的标识为( hdb1 )。
58) A. /dev/hda5 B. /dev/hda1 C. /dev/hdc1 D. /dev/hdc5
59) 若一台计算机的内存为128M,则交换分区的大小一般设为( C )。
60) A.64MB B.128MB C.256MB D.512MB
61) DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机
分配( D )地址。
62) A.网络
63) 检查DNS服务器的配置文件的命令有( C )
64) A.named-checkconf B.named-checkzone C.nslookup D. checkdns
65) 以下对DNS服务器的描述,正确的是( C )。
66) A.DNS服务器的主配置文件为/etc/named/dns.Conf
67) B.配置DNS服务器,只需配置好/etc/named.conf文件即可
68) C.配置DNS服务器,通常需要配置/etc/named.conf和相应的区域文件
69) D.配置DNS服务器时,正向和反向区域文件都必须配置才行
70) 启动DNS服务器的命令是( C )。
71) A.service bind restart B.service bind start
72) C.service named start D.server named start
73) 检验DNS服务器配置是否成功,解析是否正确,最好采用( D )
74) A.ping B.netstat C.ps—aux l bind D.nslookup
75) ?? 用ftp进行文件传输时,有两种模式:( C )。
76) 和binary 和Word Document
77) 和binary 和Rich Text Format
78) Samba服务器的配置文件是( D )。
79)
80) 关于DNS服务器,叙述正确的是( C )。
81) 服务器配置不需要配置客户端
82) B.建立某个分区的DNS服务器时只需要建立一个主DNS服务器
83) C.主DNS服务器需要启动named进程,而辅DNS服务器不需要
84) 服务器的文件包含了根名字服务器的有关信息
85) 在DNS配置文件中,用于表示某主机别名的是:( B ) 。
86)
87) Samba服务器的进程由( B )两部分组成 。
88) 和sendmail 和nmbd 和dhcpd D httpd和squid
89) DNS域名系统主要负责主机名到( A )的解析。
90) A.IP地址 地址 C.网络地址 D.主机别名
91) Apache服务器是( B )。
92) A.DNS服务器 B.Web服务器 C.FTP服务器 D.Sendmail服务器
93) 在以下的文件中,属于Apache主配置文件的是( A )。
94) A./etc/httpd/httpd.conf B./etc/Apache2/Apache2.conf
95) C./etc/Apache2/ D./etc/Apache2/
96) ??设置Apache服务器主目录的路径是( D )。
97) A. DocentROt B. Serroot C. DocumentRoot D. serverAdmin
98) ?? Apache服务器默认的监听连接端口号是( C )。
99) A. 1024 B. 800 C. 80 D. 8
100) 若Linux用户需要将FTP默认的21号端口修改为8800,可以修改 ( B ) 配置文件。
101) A./etc/vsftpd/userconf B./etc/vsftpd/
102) C./etc/ D./etc/hosts
103) 下面说法错误的是( D )
104) A、Linux操作系统不限制应用程序可用内存的大小
105) B、Linux操作系统是免费软件,可以通过网络下载。
106) C、Linux操作系统部分符合UNIX标准,可以将Linux上完成的程序经过重新修改后移植到UNIX主机上运行。
107) D、Linux操作系统支持多用户,在同一时间可以有多个用户使用主机
108) 下面关于RED HAT操作系统的启动过程。正确的顺序为( C )
109) (1)、加载内核程序,完成启动的前期工作,并加载系统的ENTT进程
110) (2)、主机启动进行系统自检后,读取启动引导程序
111) (3)、根据系统的运行级别启动相应的服务程序
112) (4)、根据ENTT的配置文件执行相应的启动程序。进入指定的系统运行级别
113) (5)、根据用户的启动菜单来选择的启动项。引导操作系统启动
114) (6)、显示用户输入用户名口令进行登录
115) A、2-5-3-1-4-6 B、2-1-5-4-3-6 C、2-5-1-4-3-6 D、1-2-3-4-5-6
116) 在Linux中,当root密码丢失后,应该:( D )
117) A、使用软盘启动直接进入系统 B、进入单用户模式后修改root密码
118) C、进入系统维护模式后修改root密码 D、重新安装系统
119) LINUX操作系统是一种( D )
120) A、单用户单进程系统B、多用户单进程系统
121) C、 单用户多进程系统D、多用户多进程系统
122) 台风是哪种Linux发行版的标志( B )
123) A、Suse B、Debian C、Redhat
125) A、Suse B、Redhat
D、Freebsd
D、Debian
124) 绿色的蜥蜴是哪种Linux发行版的标志( A )
C、Freebsd
126) Linux的吉祥物是( C )
127) A、一个手持叉子的红色小恶魔
C、一个企鹅
B、一个绿色的蜥蜴
D、一顶红色帽子
C、媒体播放器 D、游戏
D、美国
128) Mozilla FireFox是一款什么软件?( B )
129) A、即时通讯工具
131) A、芬兰
B、网络浏览器
130) ds的国籍是( A )
B、日本 C、印度
132) 下面的操作系统中,不属于网络操作系统的是( D )
133) A、Netware B、UNIX C、Windows NT D、DOS
134) 用"useradd std"命令添加一个用户,这个用户的主目录是什么?( C )
135) A、/etc/std B、/var/std C、/home/std D、/bin/std
136) 显示一个文件最后几行的命令是( B )
137) A、last B、tail C、rear D、tac
138) 在ps命令什么参数是用来显示所有用户的进程的( D )
139) A、x B、b C、u D、 a
140) 如何显示Linux系统中注册的用户数(包含系统用户)( D )
141) A、wc --lines /etc/passwd
142) C、account –l
B、nl /etc/passwd |head
D、wc --users /etc/passwd
143) 在一行结束位置加上什么符号,表示未结束,下一行继续( C )
144) A、/ B、; C、 D、 |
145) DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机
分配( D )地址。
146) A 网络 B MAC C TCP D IP
147) 改变文件所有者的命令为 ( C ) 。
148) A chmod B touch C chown D cat
149) 在使用匿名登录ftp时,用户名为 ( D ) 。
150) A users B anonymous C root D guest
151) Linux 文件名的长度不得超过 C 个字符。
152) A 64 B 128 C 256
C 80
D 512
D 8
153) Web服务器Apache默认的接听连接端口号是 ( 80 ) 。
154) A 1024 B 800
155) Samba服务器的配置文件是 ( D ) 。
156) A B C rc.d D
157) 字符设备文件类型的标志是 (C) 。
158) A p B c C s D l
159) Linux支持的文件系统有 (D )
160) 2 3 FS D.以上均支持
161) 与head命令相反的命令是(B)
162) A.cat B.tail C.locate D.cd
163) Linux安装程序提供了两个引导装载程序(A)
164) A.GROUP和LLTO B.DIR和COID C.GRUB和LILO
165) 作为桌面应用系统中最为广泛的办公应用,OpenOffice是一款开源系统,它的软件下载地址为(A)
166) A.www.openoffice.org B.www.openoffice.com
167) C.www.office.com D.www.office.org
169) A.IE B.MS Office C.PhotoShop D.FlashGet
二、填空题
1)
2)
3)
4)
Linux一般有4个主要部分:___内核__、___Shell __、__文件结构__和__实用工具___。
Linux的版本号分为:内核版本号和_发行版本号_,Red Hat Enterprise Linux 5的内核版本是_ 2.6.18 __。
Red Hat Enterprise Linux 5中提供的默认的X Window桌面环境是:GNOME 。
GNOME桌面环境包括 面板 、 程序菜单 和桌面。
168) Linux下的软件openoffice,相当于Windows下的软件(B)
一、单项选择题(每题2分,共40分)
1、当安装linux操作系统时将选择下列那一个操作? ( B )
A. 选择 "图形登录方式" 设定系统开始运行级为4
B. 选择 "文本登录方式" 设定系统开始运行级为3
C. 选择 "文本登录方式" 设定系统开始运行级为5
D. 选择 "图形登录方式" 设定系统开始运行级为3
2、.Linux通过VFS支持多种不同的文件系统。Linux缺省的文件系统是( C )
9660 系列
3.、关闭linux系统(不重新启动)可使用( B )命令。
+alt+del wn -r
4、.修改以太网mac地址的命令为( B )。
ig oute
5.在vi编辑器中的命令模式下,键入( B )可在光标当前所在行下添加一新行。
A.
6. 以下选项中,哪个命令可以关机? ( A )
A. init 0 B. init 1 C. init 5 D. init 6
7.请选择关于 /etc/fstab 的正确描述。 ( B )
A. 系统启动后,由系统自动产生 B. 用于管理文件系统信息
C. 用于设置命名规则,是否使用可以用 TAB 来命名一个文件
D. 保存硬件信息
8.你使用命令“vi /etc/inittab”查看该文件的内容,你不小心改动了一些内容,为了防止系统出问题,你不想保存所修改内容,你
应该如何操作( B )
A.在末行模式下,键入:wq B.在末行模式下,键入:q!
C.在末行模式下,键入:x! D.在编辑模式下,键入“ESC”键直接退出vi
9.删除文件命令为( D )
10.显示已经挂装的文件系统磁盘inode使用状况的命令是( A ) ?
–i –I –I –i
11.网络管理员对www服务器可进行访问、控制存取和运行等控制,这些控制可在( A )文件中体现。
12.如果想在Linux下实现热启,应当修改/etc/inittab下的哪一行( B )。
A.#Trap CTRL-ALT-DELETE B.#ca::ctrlaltdel :/sbin/shutdown -t3 -r now
C.#id:3:initdefault: D.#10:3:wait:/etc/rc.d/rc 3
13.启动samba服务器进程,可以有两种方式:独立启动方式和父进程启动方式,其中后者是在( C )文件中以独立进程方式启动。
A./usr/sbin/smbd B./usr/sbin/nmbd D./etc/
14下列哪个命令在建立一个 tar归档文件的时候列出详细列表( A )。
-t b)tar -cv c)tar -cvf d)tar –r
15.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是( B ) 。
也随之被删除 仍存在,但是属于无效文件
C.因为fileB未被删除,所以fileA会被系统自动重新建立
会随fileA的删除而被系统自动删除
16.一个bash shell脚本的第一行是( D )?
A.#/bin/csh B.#/bin/bash C./bin/bash D.#!/bin/bash
17.改变文件所有者的命令为( C )?
18.在给定文件中查找与设定条件相符字符串的命令为( A )。
19.建立一个新文件可以使用的命令为( D )。
20. 存放Linux基本命令的目录是什么( A )?
A. /bin B. /tmp C. /lib D. /root
二、 填空题(每空2分,共20分)
1.将前一个命令的标准输出作为后一个命令的标准输入,称之为( 管道)。
2.在shell编程时,使用方括号表示测试条件的规则是:方括号两边必须有(空格 )。
3.在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为( hdb )。
4.当系统管理员需升级内核版本和改变系统硬件配置时,应(重新编译内核 )。
5.在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令( nslookup )。
6.启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 at 、batch 和( crontab ) 。
7.在Linux操作系统中,设备都是通过特殊的(文件 )来访问。
不仅是(用户命令的解释器 ),它同时也是一种功能强大的编程语言。
9.在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是(Samba )服务器。
10.结束后台进程的命令是( kill )。
三、写出完成以下功能的命令(每题2分,共10分)
1.在/home目录下查找文件名为。Profile的文件,找到后删除
.find /home –name .profile -exec rm{ } ;
2.将文件解压缩
tar -xzvf
3.升级安装wu-ftpd软件包
rpm –Uvh
4.创建一个用户,用户名为user02,所属私有组和标准组为stuff,用户家目录为/home/user2,用户登陆shell为/bin/bash。
useradd –g stuff –G stuff -d /home/user2 -s /bin/bash user02
5.赋予所有用户读和写文件的权限:
Chmod a+rw
四、简答和shell编程题(每题10分,共30分)
1. Linux内核主要由哪几部分组成?每部分的作用?
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。
进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程;内存管理(MM)允
许多个进程安全的共享主内存区域;虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了
统一的接口,VFS提供了多达数十种不同的文件系统;网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持;进
程间通讯(IPC) 支持进程间各种通信机制。
2.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?
(1)第一种方法:用户应使用crontab –e 命令创建crontab文件。格式如下:
0 0 * * sun cp –r /user/backup /tmp
(2)第二种方法:用户先在自己目录下新建文件file,文件内容如下:
0 * * sun cp –r /user/backup /tmp
然后执行 crontab file 使生效。
3.写一个shell 脚本,检查给出的串是否为回文(palindrome)。
#! /bin/bash
echo "Enter string"
read str
len=`echo $str | wc -c`
len=`expr $len - 1`
l=`expr $len / 2`
ctr=1
flag=0
while test $ctr -le $l
do
a=`echo $str | cut -c$ctr`
b=`echo $str | cut -c$len`
if test $a -ne $b
then flag=1
break
fi
ctr=`expr $ctr + 1`
len=`expr $len - 1`
done
if test $flag -eq 0
then echo "String is palindrome"
else echo "String not a palindrome"
fi
一、单选
1 . 存放用户帐号的文件是(C)。
A. shadow B. group C. passwd D. gshadow
2 . 下面哪个系统目录中包含Linux使用的外部设备(B)。
3 . Linux系统的联机帮助命令是(D)。
A. tar B. cd C. mkdir D. man
4 . 如何删除一个非空子目录 /tmp (B )。
A. del /tmp/* B. rm -rf /tmp C. rm -Ra /tmp/* D. rm –rf /tmp/*
5. 更改一个文件权限的命令是(C)。
A. change B. attrib C. chmod D. at
6. 如果执行命令 #chmod 746 ,那么该文件的权限是(A)。
A. rwxr--rw- B. rw-r--r— C. --xr--rwx D. rwxr--r—
7. 如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么您可以使用的命令是(A )。
A. ls *.txt B. find –name “.txt” C. ls –d .txt D. find . “.txt”
8 . 怎样显示当前目录(A)。
A. pwd B. cd C. who D. ls
9 . 欲把当前目录下的 复制为 ,正确的命令是(D)。
A. copy B. cp |
C. cat D. cat >
10.为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为:( B )。
A. 566 B. 644 C. 655 D. 744
11.为了将当前目录下的压缩归档文件解压缩,我们可以使用:( A )。
A. tar -xvzf B. tar -xvz
C. tar -vzf D. tar -xvf
12.用来保存用户名、个人目录等资料的文件是( B )。
A. /etc/shadow B. /etc/passwd C. /etc/inittab D. /etc/group
13.一个文件的权限是-rw-rw-r--,这个文件所有者的权限是( C )。
A. read-only B. write C. read-write
14.绝大多数Linux分区使用的文件系统类型是( D )。
A. vfat B. nfs C. swap D. ext2
15.在Linux系统中,硬件设备大部分是安装在( B )目录下的。
A. /mnt B. /dev C. /proc D. /swap
16.比较重要的系统配置资料,一般来说大部分位于( A )目录下。
A. /etc B. /boot C. /home D. /usr
17.要改变文件的拥有权,使用命令( B )。
A. chgrp B. chown C. chsh D. chmod
18.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是( D )。
A -m B –d C -f D –p
19.局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24
网络时,其路由设置正确的是(B )。
A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
A./bin B./dev C./boot D./home


发布评论