1.打开目录
opendir
DIR *opendir(const char *name);
功能:
打开一个目录获得一个目录流指针
参数:name:目录名
返回值:成功返回目录流指针,失败返回NULL
2.读取目录
readdir
struct dirent *readdir(DIR *dirp);
功能:
从目录流中读取文件信息并将保存信息的结构体
地址返回
参数:dirp:目录流指针
返回值:包含文件信息的结构体,出错或者读到目录流末尾返回NULL
3.关闭目录
closedir
int closedir(DIR *dirp);
功能:关闭之前已经打开的目录流对象
参数:opendir的返回结果中目录流对象
返回值:成功 0,失败 -1;
4.切换工作路径
chdir 作用与cd指令相同
int chdir(const char *path)
path:改变到的路径
返回值:成功返回0,失败返回-1
5.获得当前路径
getcwd 作用与pwd指令相同
char *getcwd(char *buf, size_t size);
参数:
buf:保存工作路径空间的首地址
size:保存路径空间的长度
返回值:成功返回包含路径空间的字符串首地址,失败返回NULL
6.创建目录
int mkdir(const char *pathname, mode_t mode);//777 666 --x--x--x
参数:
pathname:路径
mode:
mode & ~umask 0002
返回值:成功返回0,失败返回-1
7.删除目录
int rmdir(const char *pathname);
参数:
pathname:目录文件的名字
返回值:成功返回0,失败返回-1
作用与rm指令相同,rm用法为,rm + 目录名 + rf
8.获取文件的属性参数
int stat(const char *path, struct stat *buf);
参数:
path: 文件的路径
buf: 属性存放空间的首地址
返回值:
成功返回0
失败返回-1
st_mode标志位
000 000 000 100 000 000
001 100 110 0
000 000 000 000 000 000
|文件 | |设置| |文件权限 |
|类型 | |组和|
|用户|
|ID |
拓展:links属于硬链接,是将两个文件名指向同一个文件
symbolic link 是软链接,类似于快捷方式
同时man指令只能用于函数,无法用于结构体查询