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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youngyangyang04/article/details/47747113

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)提示。

对于目录文件长度通常是一个数因为至少包括.和..。

扫描二维码关注公众号,回复: 3180130 查看本文章

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

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]!='\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会更改文件修改时间,如果被删除的链接不是该文件的最后一个链接,则不会删除文件,此时文件的状态更改时间被更新。如果被删除的链接是文件的最后一个链接,则该文件就会被物理删除,此时更新文件状态时间就没有意义了




猜你喜欢

转载自blog.csdn.net/youngyangyang04/article/details/47747113
今日推荐