Linux下如何判断文件夹或者目录是否存在
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,这篇文章主要为大家展示了"Linux下如何判断文件夹或者目录是否存在",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Linux下如何判断文件夹或者目录是否存
千家信息网最后更新 2025年02月12日Linux下如何判断文件夹或者目录是否存在
这篇文章主要为大家展示了"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 files6 nlink_t st_nlink; // number of links7 uid_t st_uid; // user ID of owner8 gid_t st_gid; // group ID of owner9 off_t st_size; // size in bytes, for regular files10 time_t st_atime; // time of last access11 time_t st_mtime; // time of last modification12 time_t st_ctime; // time of last file status change13 long st_blksize; // best I/O block size14 long st_blocks; // number of 512-byte blocks allocated15 };
我们可以通过stat获取文件的类型和文件大小等信息。文件类型有:普通文件、目录文件、块特殊文件、字符特殊文件、FIFO、套接字和符号链接。要想通过stat系列函数来判断文件或者目录是否存在,当执行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。实现如下:
以上是"Linux下如何判断文件夹或者目录是否存在"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
函数
目录
测试
权限
符号
文件夹
内容
参数
篇文章
类型
结构
普通
特殊
信息
内存
名称
大小
实际
指针
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
本地安装了两个数据库
TOR匿名网络技术
数据怎么导进数据库
web服务器需要安装数据库吗
网络安全执法检查工作报告
刀片式服务器和机架
校园网络安全黑板报图片
生死狙击2显示服务器没开放
软件开发个人述职报告
金蝶软件开发
创来网络技术有限公司代运营
steam游戏连接服务器出错
千创网络技术有限公司官网
汽车保险数据库
网络安全防诈骗主题班会教案
数据库应用性考核答案
公安网络安全宣传日活动总结
郑州net软件开发
上海软件开发涉密信息系统集成
中兴软件开发好不好
求生服务器没人进
网络安全法的形成
软件开发公司的年会互动游戏
word中导入excel数据库
vb数据库格式不可识别
逃离塔科夫西伯利亚服务器是哪个
软件开发客户寻找方法有哪些
泰兴自动网络技术诚信服务
丰台区网络技术咨询需求
电子数据库技术自考