Linux文件目录基本操作

目录

  • 目录概述
  • 相关操作函数
  • 相关数据结构体说明

目录概述

  • 什么是目录?
    • 在linux操作系统中其实目录也是一种文件,相对于普通文件,它的存储内容不同,它的存储内容主要是当前目录下的文件以及子目录文件信息。
    • 目录就像是一颗大树,从根处分开很多分支,Linux 系统中所有文件都存在根目录下,根目录以 “/” 表示。而关于目录的操作主要有打开,遍历和关闭等。

目录相关操作

DIR * opendir(const char * name);
struct dirent * readdir(DIR * dir);
int closedir(DIR *dir);
int mkdir(const char * pathname,mode_t mode);
int rmdir(const char * dirname);
int remove(const char * pathname);
int rename(const char * oldpath,const char * newpath);

文件目录操作函数参考

1.打开文件
函数名opendir
头文件#include<sys/types.h>#include<dirent.h>
函数原型DIR * opendir(const char * name);
功能打开 name 指定的目录
参数说明1.name:要操作的目录名;
2. DIR * 详细内容请查看相关数据结构体说明部分
返回值成功,返回DIR* 目录流,否则返回NULL,并将错误码存放于errno 里
2.关闭目录
函数名closedir
头文件#include<sys/types.h>
#include<dirent.h>
函数原型int closedir(DIR *dir);
功能关闭参数dir所指的目录流
参数说明dir:要操作的目录流指针;
返回值成功,返回0,失败返回-1,并将错误码放入 errno
3.遍历目录
函数名readdir
头文件#include<sys/types.h>
#include<dirent.h>
函数原型struct dirent * readdir(DIR * dir);
功能遍历文件目录
参数说明dir:要操作的目录流指针;
struct dirent * 详见相关数据结构体说明部分
返回值成功:用于描述一个目录项信息的指针,隐藏的位置指针会指向下一个目录项
错误发生或读取到目录尾则返回NULL并将错误码存入 errno 中
4.创建目录
函数名mkdir
头文件#include<sys/types.h>
#include<sys/stat.h>
函数原型int mkdir(const char * pathname,mode_t mode);
功能创建一个目录
参数说明1.pathname:要创建的目录名;
2.mode:目录的操作权限:
返回值成功:返回0
出错:返回 -1,并将错误码存入 errno 中
5.删除空目录
函数名rmdir
头文件#include <unistd.h>
函数原型int rmdir(const char * dirname);
功能删除一个空目录
参数说明dirname:要操作的目录名;
返回值成功:返回0
出错:返回 -1,并将错误码存入 errno 中
6.删除目录
函数名remove
头文件#include <stdio.h>
函数原型int remove(const char * pathname);
功能删除一个文件或者目录,当pathname为一个文件则调用unlink来删除,如果是一个目录,则调用rmdir 来删除。
参数说明pathname:要操作的文件或者目录名;
返回值成功:返回0
出错:返回 -1,并将错误码存入 errno 中
7.更名目录
函数名rename
头文件#include <stdio.h>
函数原型int rename(const char * oldpath, const char * newpath);
功能重命名一个文件或者目录,如果oldpath 和 newpath 所指向的路径不是同一级目录,就移动文件
参数说明1.oldpath:要更名的文件或者目录名;
2.newpath:更名后的文件或者目录名
注意:如果oldpath指定的是一个目录,在newpath所指向的目录要么不存在,要么是个空目录
返回值成功:返回0
出错:返回 -1,并将错误码存入 errno 中
相关数据结构体说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值