【APUE 学习】文件和目录 - 习题

来源:互联网 发布:上海少年编程培训 编辑:程序博客网 时间:2024/05/17 03:45

4.1 用stat 函数替换程序清单4-1 中的lstat函数,如若命令行参数之一是符号链接,那么会发生什么变化。

答:stat 函数检测不到符号链接,而是会跟随符号链接找到指向的文件;


4.2 如果文件模式创建屏蔽字是777(八进制),结果会怎样?用shell 的umask 命令验证该结果。

答:创建的文件权限为 000。

$ umask 
0777
$ touch 1
$ ls -l 1
---------- 1 public jack 0 2013-01-15 07:59 1
$ umask 0022
$ touch 2
$ ls -l 2
-rw-r--r-- 1 public jack 0 2013-01-15 07:59 2


4.3 关闭一个你所拥有文件用户读权限,将导致不允许你访问自己的文件,对此进行验证。

jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ ll 1
-rw-r--r-- 1 jack jack 0 2013-01-15 07:56 1
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ cat 1
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ chmod u-r 1
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ ll 1
--w-r--r-- 1 jack jack 0 2013-01-15 07:56 1
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ cat 1
cat: 1: Permission denied


4.4  创建文件foo 和bar后,运行程序清单4-3 中的程序,这将会发生什么情况?

jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ touch foo bar
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ ll foo bar
-rw-r--r-- 1 jack jack 0 2013-01-15 08:33 bar
-rw-r--r-- 1 jack jack 0 2013-01-15 08:33 foo
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ ./umask 
jack@jack-laptop:/home/workspace/apue.2e/practice/file_dir$ ll foo bar
-rw-r--r-- 1 jack jack 0 2013-01-15 08:33 bar
-rw-r--r-- 1 jack jack 0 2013-01-15 08:33 foo

creat 函数不会改变原来文件的属性。