版权声明:本文为博主原创文章,未经博主允许不得转载。 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会更改文件修改时间,如果被删除的链接不是该文件的最后一个链接,则不会删除文件,此时文件的状态更改时间被更新。如果被删除的链接是文件的最后一个链接,则该文件就会被物理删除,此时更新文件状态时间就没有意义了