文件属性
存放文件属性的结构体

文件属性操操作函数

文件类型(7种)

-普通文件d目录p管道文件l符号链接(软链接)
判断文件类型的小程序
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
#include<stdio.h>
#include<memory.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
fprintf(stderr,"usage:%s files\n",argv[0]);
exit(1);
}
int i;
struct stat buff;
for(i=1;i<argc;i++)
{
memset(&buff,0,sizeof(buff));
if(lstat(argv[i],&buff)<0)
{
perror("lstat error");
continue;
}
printf("\n %-20s",argv[i]);
// 判断w文件类型
if(S_ISREG(buff.st_mode))
{
printf("normal file\n");
}
else if(S_ISDIR(buff.st_mode))
{
printf("directory file\n");
}
else if(S_ISBLK(buff.st_mode))
{
printf("block file\n");
}
else if(S_ISCHR(buff.st_mode))
{
printf("character file\n");
}
else if(S_ISSOCK(buff.st_mode))
{
printf("sock file\n");
}
else if(S_ISFIFO(buff.st_mode))
{
printf("named pipi file\n");
}
else if(S_ISLNK(buff.st_mode))
{
printf("link file\n");
}
else
{
printf("unknow\n");
}
}
return 0;
}
文件权限


文件权限操作函数
access

Linux文件系统结构





目录操作函数
link和unlink(硬链接)
- 符号链接 == 软链接(类似于windows中的快捷方式)
- 硬链接的创建的过程


- 软链接的创建过程


创建硬链接文件的小程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<errno.h>
int main(int argc,char *argv[])
{
if(argc<3)
{
fprintf(stderr,"usage:files few\n");
exit(1);
}
if(link(argv[1],argv[2])!=0)
{
perror("link failes");
exit(1);
}
return 0;
}
remove和rename

symlink和readlink(软链接的创建)




被折叠的 条评论
为什么被折叠?



