Linux下判断文件夹或者目录是否存在
发布时间:2023-01-09 10:52:05 所属栏目:Unix 来源:
导读: Linux下如何判断文件夹或者目录是否存在?在开发中经常遇到这样的问题,本篇文章为大家详细讲解一下Linux下判断文件夹或者目录是否存在具体方法。
tat系列函数
stat函数用来返回与文件有关的结构
tat系列函数
stat函数用来返回与文件有关的结构
|
Linux下如何判断文件夹或者目录是否存在?在开发中经常遇到这样的问题,本篇文章为大家详细讲解一下Linux下判断文件夹或者目录是否存在具体方法。 tat系列函数 stat函数用来返回与文件有关的结构信息。stat系列函数有三种情况,分别对应文件名称、文件描述符和符号链接文件。stat结构描述了文件的属性,主要包括文件的类型、文件大小等等。详细stat结构如下所示: 1?struct?stat?{ 2?????mode_t????st_mode;????//?file?type?&?mode(permissions) 3?????ino_t?????st_ino;?????//?i-node?number(serial?number) 4?????dev_t?????st_dev;?????//?device?number(filesystem) 5?????dev_t?????st_rdev;????//?device?number?for?specials?files 6?????nlink_t???st_nlink;???//?number?of?links 7?????uid_t?????st_uid;?????//?user?ID?of?owner 8?????gid_t?????st_gid;?????//?group?ID?of?owner 9?????off_t?????st_size;????//?size?in?bytes,?for?regular?files 10?????time_t????st_atime;???//?time?of?last?access 11?????time_t????st_mtime;???//?time?of?last?modification 12?????time_t????st_ctime;???//?time?of?last?file?status?change 13?????long??????st_blksize;?//?best?I/O?block?size 14?????long??????st_blocks;??//?number?of?512-byte?blocks?allocated 15?}; 我们可以通过stat获取文件的类型和文件大小等信息。文件类型有:普通文件、目录文件、块特殊文件、字符特殊文件、FIFO、套接字和符号链接。要想通过stat系列函数来判断文件或者目录是否存在unix路径简化,当执行stat函数,如果文件存在时,还需进一步判断该文件是普通文件还是目录文件。 stat系列函数错误返回-1,错误码存在errno中,errno取值如下: 1、ENOENT?参数file_name?指定的文件不存在 2、ENOTDIR?路径中的目录存在但却非真正的目录 3、ELOOP?欲打开的文件有过多符号连接问题,?上限为16?符号连接 4、EFAULT?参数buf?为无效指针,?指向无法存在的内存空间 5、EACCESS?存取文件时被拒绝 6、ENOMEM?核心内存不足 7、ENAMETOOLONG?参数file_name?的路径名称太长 access函数 access函数按照实际用户ID和实际组进行访问权限测试。函数原型为: #include? int?access(const?char?*pathname,?int?mode); mode取值: F_OK 测试文件是否存在 R_OK 测试读权限 W_OK 测试写权限 X_OK 测试执行权限 正确判断一个文件是否存在是用access函数, oepndir函数 opendir函数用来打开文件目录,成功返回指针,出错返回NULL (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
