20155207第十章课下测试补交

1、( 单选题 | 1 分)
假设下面代码中的foobar.txt中有6个ASCII字母,程序的输出是()

A .
c = f

B .
c = o

C .
c = b

D .
c = 随机数

正确答案: A

p635 

2、( 多选题 | 1 分)
下面说法正确的是()

A .
Linux内核使用的file table 所有的进程共享的。

B .
不同进程打开同一个文件的文件描述符必须一样。

C .
使用dup2 把标准输入重定向到描述符7 dup2(7,0)

D .
使用dup2 把标准输入重定向到描述符7 dup2(0,7)

E .
ls > foo.txt 是输出重定向

F .
类型为FILE的流是对文件描述符和流缓冲区的抽象。

正确答案: A C E F p637 p638

dup2函数复制描述符表表项oldfd到描述符表表项newfd,覆盖描述符表表项newfd以前的内容。

3、( 多选题 | 1 分)
Linux内核用()表示打开的文件()

A .
描述符集

B .
文件表

C .
i-node表

D .
v-node表

正确答案: A B D

p634 内核用三个相关的数据结构来表示打开的文件:
- 描述符表
- 文件表
- v-node表

4、( 单选题 | 1 分)
struct stat的()标识文件的类型。

A .
st_size

B .
st_type

C .
st_mode

D .
st_rdev

正确答案: C

st_mode第一位 p632

5、( 单选题 | 1 分)
struct stat的()与chmod相关

A .
st_nlink

B .
st_mode

C .
st_size

D .
st_uid

正确答案: B

我参考了这篇[部落格](http://blog.csdn.net/h002399/article/details/49783595)

6、( 单选题 | 1 分)
下面代码的输出是()

A .
fd2 = 0

B .
fd2 = 1

C .
fd2 = 2

D .
fd2 = 3

E .
fd2 = 4

F .
不确定

正确答案: D

最低可用文件描述符原则(Lowst-Available-fd, LAf),打开文件时,为此文件安排的文件描述符总是最低可用的位置的索引

7、( 多选题 | 1 分)
read(fd, buf, 30)执行成功,返回可能不是30的是()

A .
读时遇到EOF

B .
从终端读文本

C .
读磁盘文件,但没遇到EOF

D .
读Socket

正确答案: A B D

p626 read函数从描述符为fd的当前文件位置2复制自多n个字节到内存位置buf。返回值为-1表示一个错误,而返回值0表示EOF。否在,返回值表示的是实际传送字节数量。

8、( 多选题 | 1 分)
write(2)的第一个参数fd可能来自()

A .
open(2)

B .
create(2)

C .
creat(2)

D .
close(2)

正确答案: A C

没有create(2)

9、( 多选题 | 1 分)
Unix/Linux中,对于代码fd=open("foo",O_WRONLY,0766),umask=022,下面说法正确的是()

A .
进程对foo是只写的

B .
同组成员能写foo

C .
使用者可以执行foo

D .
任何人都可以写foo

正确答案: A C

p624,p625 九个权限可以用0777表示,07(使用者)7(同组成员)7(其他人)
7(111)(读:写:执行),文件实际权限是mode&~mask

10、( 多选题 | 1 分)
关于open(2),下面说法正确的是( )

A .
flag 参数中O_RDONLY,O_WRONLY,O_RDWR至少要有一个

B .
O_RDONLY|O_WRONLY == O_RDWR

C .
fd=open("foo.txt",O_WRONLY|O_APPEND,0),调用write(fd,buff,n)写入foo.txt的数据不会破坏已有数据。

D .
fd=open("foo.txt",O_WRONLY|O_APPEND,0644),必将导致其他人不能写foo.txt

正确答案: A C

熟悉umask命令, open第三个参数实际是mode & ~umask

11、( 多选题 | 1 分)
有关Linux系统的目录,下面说法正确的是()

A .
目录是一种文件

B .
Linux将所有文件组织成目录层次结构

C .
home/rocedu/work/who1.c使用的是绝对路径

D .
./a.out使用的是相对路径

E .
.. 表示当前工作目录

F .
pwd命令可以查看当前工作目录的绝对路径

正确答案: A B D F

p623 p624
A:p623 目录是包含一组链接为文件
B:p623 linux内核将所有文件都组织成一个目录层次结构,由名为/的根目录确定。
C:绝对路径名以一个斜杠开始,表示从根节点开始的路径
D:相对路径名以文件名开始,表示从当前工作目录开始的路径 
E:.表示当前当前工作目录,..表示上一级工作目录。

12、( 单选题 | 1 分)
下面()命令可以修改当前工作目录?

A .
mkdir

B .
cd

C .
pwd

D .
ls
正确答案: B

p624 
A:使用权限:于目前目录有适当权限的所有使用者命令格式:mkdir [-p] DirName说明:建立一个子目录.
B:cd命令用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。
C:在Linux层次结构中,想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。
D:ls命令用来显示目标列表。

13、( 多选题 | 1 分)
Linux中下列概念中可以用Unix I/O处理的是()

A .
普通文件

B .
设备文件

C .
目录

D .
套接字

正确答案: A B C D

p623 所有的I/O设备都被模型化为文件,每个Linux文件都有一个类型来表明他在系统中的角色:
- 普通文件
- 目录
- 套接字
- 字符和块设备
- 命名通道
- 符号链接

14、( 单选题 | 1 分)
相对内核而言,文件分为文本文件和二进制文件。其中文本文件只含有ASCII或Unicode字符。

A .
正确

B .
错误

C .
不确定

正确答案: B

p623 应用程序常常要区分文本文件和二进制文件,文本文件是只含有ASCII或Unicode字符的普通文件

15、( 多选题 | 1 分)
通过以下系统调用()可以获得文件描述符。

A .
fopen

B .
open

C .
creat

D .
close

正确答案: B C

man 2 open

16、( 多选题 | 1 分)
Linux shell创建的每个进程开始都默认打开的文件有()

A .
标准输入(fd=0)

B .
标准输出(fd=1)

C.
标准错误(fd=2)

D .
显示器和键盘

正确答案: A B C

p622 Linux shell创建的每个进程开始时都有三个打开的文件:标准输入(描述符为0)、标准输出(描述符为1)和标准错误(描述符为2).

17、( 单选题 | 1 分)
Unix I/O中标识文件的是()

A .
文件名

B .
文件指针FILE *

C .
文件描述符fd

D .
文件目录

正确答案: C

p622 

18、( 单选题 | 1 分)
Unix/Linux中,
所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读和写来执行。

A .
正确

B .
错误

C .
不确定

正确答案: A

p623

19、( 单选题 | 1 分)
输入输出是针对()来讲的?

A .
CPU

B .
主存

.	

I/O设备

D .
计算机

正确答案: B

p623

20、( 单选题 | 1 分)

下面哪个操作系统概念可以对I/O设备进行抽象()?

A .
进程

B .
虚存

C .
文件

D .
虚拟机

正确答案: C

posted on 2017-12-08 20:55  方片8  阅读(127)  评论(0编辑  收藏  举报