失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux如何判断目录是否存在

linux如何判断目录是否存在

时间:2022-06-05 14:38:53

相关推荐

linux如何判断目录是否存在

运维|linux运维

linux

运维-linux运维

超级淘源码,Ubuntu安装时好久,tomcat服务器ip,smartbi 爬虫接口,西安php培训哪里有,seo快排亅乐云seolzw

工作中涉及到文件系统,有时候需要判断文件和目录是否存在。我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询。 (推荐学习:linux运维)

hibernate 源码分析,vscode改扩展配置文件,ubuntu虚拟机xp,tomcat落伍了吗,swing和sqlite,网页设计优案例,云服务器备案,幻灯片切换插件,pages前端框架,牛爬虫图片,php采集器,中山百度seo报价,springboot扫描其他类,织梦网站一排4张图片,html我的网页源代码,赤兔cms 模板,dede后台无法登陆,登录页面代码jsp,开源发动机管理系统,威客程序哪个好lzw

stat系列函数

手机电玩源码,vscode插件备份文件,ubuntu关闭按钮,tomcat 上传大文件,sqlite压力,商务网页设计作业,si常用的数据库,dns服务器知识,ecshop商品限购插件,前端垂直框架,爬虫的活,php空间免费,川北seo,springboot依赖版本,wordpress 分类标签,网站底部横条导航代码,易语言取超文本浏览框网页源码,百度百家模板,asp后台管理源码,html5特效页面下载,c 学生宿舍管理系统源码,魅思cms视频程序lzw

stat函数用来返回与文件有关的结构信息。stat系列函数有三种情况,分别对应文件名称、文件描述符和符号链接文件。stat结构描述了文件的属性,主要包括文件的类型、文件大小等等。详细stat结构如下所示:

struct stat { mode_t st_mode; // file type & mode(permissions) ino_tst_ino;// i-node number(serial number) dev_tst_dev;// device number(filesystem) dev_tst_rdev; // device number for specials files nlink_t st_nlink; // number of links uid_tst_uid;// user ID of owner gid_tst_gid;// group ID of owner off_tst_size; // size in bytes, for regular files time_t st_atime; // time of last access time_t st_mtime; // time of last modification time_t st_ctime; // time of last file status change longst_blksize; // best I/O block size longst_blocks; // number of 512-byte blocks allocated};

我们可以通过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 的路径名称太长

如果觉得《linux如何判断目录是否存在》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。