UNIX环境高级编程之第4章:文件和文件夹-习题

4.1 stat函数是尾随符号链接的,所以用stat替换lstat不会显示符号链接的信息

4.2 在一个目录下先再shell中输入umask



shell进程再进行创建文件的操作。其权限抖都会被屏蔽

4.3 文件权限分别为用户权限。组权限,其它权限


更改权限也能够这样写chmod u+r test.c 把赋给test.c文件的用户读权限

4.4 用creat创建已有的文件是。该文件权限不会变。可是文件会被截断(清空)

4.5 对于普通文件,其文件长度能够为0,再開始读这样的文件时。将得到文件结束(end-of-file)提示。

对于文件夹文件长度一般是一个数由于至少包含.和..。

对于符号链接也不可能为空。符号链接为一个文件路径。至少有一个字符

4.6 

#include <apue.h>
#include <fcntl.h>
int main(int argc, char *argv[]){
	int n;
	char buf[1];
	int fdr = open(argv[1],O_RDONLY);
	int fdw = creat(argv[2],S_IRUSR|S_IWUSR);
	while((n = read(fdr, buf, 1))>0){
		if(buf[0]!='' && write(fdw, buf, n)!=n)
			err_sys("write error");
	}
	if(n<0)
		err_sys("read error");
}
复制包括空洞的文件。但不将字节0写到输出文件里去
4.7  

du命令能够报告该文件所使用的磁盘空间总量。这里cp1.c的磁盘总量是4个512字节块即2048个字节(可能是最少就是四个由于2048已经远大于622了)

当创建一个新的core文件时。内核对权限有一个默认的设置

4.8 仅仅有当unlink函数返回的时候才会释放tempfile的文件夹项,本例仅仅是使用df查看文件系统中实际可用的空间

4.9 使用ulink会更改文件改动时间,假设被删除的链接不是该文件的最后一个链接,则不会删除文件,此时文件的状态更改时间被更新。

假设被删除的链接是文件的最后一个链接。则该文件就会被物理删除,此时更新文件状态时间就没有意义了




原文地址:https://www.cnblogs.com/wzjhoutai/p/7008716.html