45习题答案
一、选择
1. 好玩的游戏排行榜文件系统保存在磁盘的(B
引导块        B 超级块        C i节点块      D 数据块
2. linux文件系统的根目录的i节点号为(C
A  0              B  1            C 2            D  3
3. 文件描述符的数据类型为(B
A  char        B int        C double      D float
4. 设置文件偏移量的系统调用是(C
A  truncate    B sync        C lseek      D creat
5. 下面哪个不是lseek第三个参数的取值(C
A SEEK_SET    B SEEK_CUR    C SEEK_NOW    D SEEK_END
.bin的文件怎么打开
6. sync系统调用的功能是(A
A 刷新所有缓存到磁盘              B 刷新缓存中某个文件的所有信息到磁盘
C 刷新缓存中某个文件的数据到磁盘  D 刷新缓存中某个文件的属性信息到磁盘
7. fsync系统调用的功能是(B
A 刷新所有缓存到磁盘              B 刷新缓存中某个文件的所有信息到磁盘
C 刷新缓存中某个文件的数据到磁盘  D刷新缓存中某个文件的属性信息到磁盘
8. fdatasync系统调用的功能是(C
A 刷新所有缓存到磁盘              B 刷新缓存中某个文件的所有信息到磁盘
C 刷新缓存中某个文件的数据到磁盘  D刷新缓存中某个文件的属性信息到磁盘
9. 可以使用(C)系统调用获得符号链接所引用文件名称。
A  link          B  symlink      C readlink    D  softlink
10. 获得工作路径名称的系统调用是(A
A  getcwd        B  getpwuid      C getgrgid    D  getlogin
11. 通过文件属性中的uid获得文件拥有者名字的系统调用是(B
A  getcwd        B  getpwuid      C getgrgid    D  getlogin
12. 通过文件属性中的gid获得文件所属组名的系统调用是(C
A  getcwd        B  getpwuid      C getgrgid    D  getlogin
13. 根据文件路径来改变文件权限使用系统调用(B
A chown          B  chmod        C fchmod      D  fchown
二、填空
1. 磁盘被看作是由_____构成的,它的大小是扇区的倍数,扇区的大小一般是_____512字节__
2. 每块物理磁盘可以被分成片,每片可以被称作____________分区_________。每片对应一个特殊文件,特殊文件名由设备名构成,如“hd*n”或“sd*n”,其后跟随数字和字母,如/dev/hda5代表的设备为_____第一块物理磁盘的第5个分区________
3. statvfs系统调用可以获得____文件系统____信息,该信息保存在磁盘的____超级块_中。
4. 文件系统的安装是指___将一个文件系统连接到一个已经存在的文件系统上____,可使用系统调用___mount_实现;卸载是指___将两个文件系统的连接断开___,可使用系统调用__umount__实现。
5. Linux系统下,表示标准输入、标准输出和标准错误输出的文件描述符(符号表示)为_STDIN_FILENO____ STDOUT_FILENO ____ STDERR_FILENO __,它们的值分别为____0__________1___________2______
6. 文件描述符是对___进程打开文件表____的索引,进程表中的每个记录项指向一个__打开文件描述___,打开文件描述最终会到__复制到内存中的文件的i节点___
7. 数字635表示的权限使用字母方式表示为__rw—wxr-x__,使用符号方式表示为_S_IRUSR|S_IWUSR|S_IWGRP|S_IXGRP|S_IROTH|S_IXOTH___
8. 系统调用open的功能是___打开或创建文件_____
9. 使用open打开文件时有三个标志必须要选择其一,这三个标志是___O_RDONLY________O_WRONLY_____O_RDWR_____
10. O_EXCLO_CREAT合用表示__文件不存在则创建,否则失败___
11. 文件偏移量代表_____下一次读或写的位置_________
12. 将文件偏移量设置为当前偏移处之前的4个字节的位置,使用lseek(fd,__4___,__SEEK_CUR___)
13. 设置打开文件标志__O_TRUNC__可以截短文件为0,使用系统调用___truncate___可以截短或加长文件。
14. 如果umask设为022,则创建一个新文件的权限(数字表示)为__644____,创建一个
新目录的权限(数字表示)为____755_____
15. 如果umask设为024,则创建一个新文件的权限(数字表示)为___642_____,创建一个新目录的权限(数字表示)为__753_______
16. 使用系统调用___umask____可以设置和得到文件模式的屏蔽字。
17. 系统调用___unlink___的作用是删除目录项,这里的目录项是指___文件名和文件i节点的对应关系____
18. 创建硬链接使用系统调用___link___,创建符号链接使用系统调用__symlink_
19. 获得工作路径名称的系统调用是___getcwd_____
20. 可以使用____statfstatlstat__系统调用显示文件属性信息。
21. chmodchownutime都可以修改文件i节点的信息,其中chmode的功能是__更改文件权限__chown的功能是卫生饮食__更改文件所有者和所属组___utime的功能是__更改文件访问时间和修改时间_
22. 打开目录使用___opendir___系统调用,关闭目录使用____closedir___系统调用,读取目录内容使用__readdir___系统调用。
23. chdir系统调用的功能是_____改变当前目录______
24. 创建目录使用____mkdir__系统调用,删除目录使用_____rmdir____系统调用。
25. 若实现将标准输出重定向到文件描述符为6对应的文件上,则应使用语句__dup2(6,1)_____
三、判断并解释原因
1. 一个文件的硬链接中,第一个创建的硬链接与其他硬链接相比总是最后一个被删除
(错)硬链接之间平等
2. 可以对普通文件和目录文件创建硬链接和符号链接。
(错)对目录不可以创建硬链接
3. 给一个文件创建硬链接时,如果新的链接文件已经存在,则覆盖之。
(错)返回错误
4. 一个符号链接不能再引用另一个符号链接。
好玩的手游网游排名
(错)可以
5. lstat系统调用可以获得某符号链接所引用的文件的i节点信息。
粽子蒸多久才会熟
(错)返回符号链接文件本身的i节点信息
6. 父进程打开文件返回文件描述符后创建的子进程共享父进程的文件描述符
(对)
7. 对于一个已经打开的文件来说,读和写的位置使用不同的偏移量
(错)文件偏移量代表下一次读或写的位置
8. 多个进程打开同一个文件,这几个进程共用读写偏移量
(错)每个进程的每次open都会得到一个打开文件描述,文件描述中保存文件偏移量,不同进程的open得到的是不同的打开文件描述,因此不同
9. 父进程打开一个文件后创建的子进程与父进程共用读写偏移量
(对)
四、简答
1. 简述文件、i节点、文件名、目录之间的关系。
答:每个存在磁盘上的文件都由i节点和数据块两部分组成,i节点和文件一一对应,一个i节点可以对应多个文件名,文件名和i节点的对应关系叫做文件的硬链接,文件名和i节点的对应关系保存在目录文件中。
2. 回答stat、fstat、lstat三个系统调用的区别。
答:stat根据路径获得文件元数据信息
fstat根据文件描述符获得文件元数据信息
前两者如果遇到符号链接文件则会一直引用至非符号链接文件
lstat获得符号链接文件本身的文件元数据信息
3. 使用什么方式来判断一个文件是什么类型的?使用什么方式来判断文件的权限?
答:首先使用stat获得文件属性结构体为struct stat,其中的成员变量st_mode代表了文件类型及权限。st_mode16位,1215位代表文件类型,可根据这四位进行判断文件类型。08位代表三类用户的九种权限,可根据这9位进行判断文件的权限。
4. dup和dup2的区别和联系?
答:
联系:dupdup2都用来将新文件描述符指向原来文件描述符指向的打开文件描述。
区别:dup返回的新文件描述符为最小可用的文件描述符,dup2返回的新文件描述符可以通过第二个参数指定。
5. 什么是文件描述符?
答:
1)一个非负整数,内核以此来标识一个特定进程正在操作的文件。
2dnf连接失败请稍后几分钟012代表三个标准的文件描述符,分别为标准输入、标准输出、标准错误输出
6. 使用符号方式表示rwxrwxrwx权限。
答:
S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH| S_IWOTH|S_IXOTH
7. 写出open的以下6种打开标志:只读、只写、读写、追加、文件不存在创建、截短为0。
O_RDONLY  O_WRONLY  O_RDWR  O_APPEND  O_CREAT  O_TRUNC
8. 硬链接和符号链接的区别.
1)命令
ln  原文件  硬链接文件  (不能对目录创建硬链接)
ln –s  原文件/目录  符号链接文件 
2)是否新增文件:硬链接不增文件,符号链接增加文件。
3)删除原文件/目录
硬链接:对应i节点链接数-1
符号链接:符号链接文件失效。
4)删除链接文件
删除硬链接文件,使对应i节点的链接数-1
删除符号链接文件,对原文件/目录无任何影响
5)是否跨文件系统:硬链接不可以,符号链接可以
五、读程序写结果
1. 读程序,写出执行结果,并解释得到该结果的原因。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。