文件属性
存放文件属性的结构体
文件属性操操作函数
文件类型(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(软链接的创建)