day 19目录IO和链接IO

目录IO

一、目录文件的操作函数接口 


需要注意:目录文件的权限mode有
        1.r 决定是否目录下可以查看其余文件信息 
        2.w 决定目录下的文件是否能够新建
        3.x 决定目录文件是否能够进入 

二、目录文件的读取

1、操作方法:    

        1.打开目录
        2.读取目录项
        3.关闭目录

2、函数接口

链接IO

一、软链接(符号链接)


1、使用方法:ln -s 要链接向的文件名 软链接文件名 
 

示例:  ln -s b.txt a.txt 
        a.txt -> b.txt 

通过文件名进行链接  

2、函数接口

    1.symlink

    格式:

            int symlink(const char *target, const char *linkpath);
    功能:
        创建一个linkpath的软连接文件,里面存放target字符串
    参数:
        target:链接向的文件名
        linkpath:软链接文件名
    返回值:
        成功返回0 
        失败返回-1 

    2.readlink

    格式:

            ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize);
    功能: 
        读取软链接文件本身内容
    参数:
        path:软链接文件名 
        buf:存放软链接文件内容的缓冲区 
        bufsize:缓冲区的大小 
    返回值:
        成功返回读取的字节数 
        失败返回-1

二、硬链接 


1、使用场景:ln 要链接的文件名 硬链接文件名  

        通过在磁盘中存放的inode节点进行链接
        删除文件链接关系断开

2、函数接口

    1.link

        格式:
                int link(const char *oldpath, const char *newpath);
        功能:
            创建一个newpath的硬链接文件
        参数:
            oldpath:要链接的文件名
            newpath:硬链接文件名
        返回值:
            成功返回0 
            失败返回-1 

    2.unlink

        格式:
                int unlink(const char *pathname);
        功能:
            删除链接文件名,并让硬链接个数-1 ,如果一个磁盘空间硬链接个数为0,需要回收磁盘空间
        参数:
            pathname:链接文件名
        返回值:
            成功返回0
            失败返回-1 

3、其他函数接口:stat和lstat 
  int lstat(const char *pathname, struct stat *statbuf);
  功能:
    获得pathname对应文件的详细信息 
  参数:
    pathname:文件路径
    statbuf:存放文件详细信息空间的首地址
  返回值:
    成功返回0 
    失败返回-1 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值