1.27目录操作函数

本文介绍了四个基本的Linux系统命令:mkdir用于创建目录,rmdir删除目录,rename进行文件重命名,以及chdir和getcwd用于修改与获取工作目录。通过实例演示了如何正确使用这些命令并处理可能出现的错误。

1.mkdir:生成目录

/*
    #include <sys/stat.h>
    #include <sys/types.h>
    int mkdir(const char *pathname, mode_t mode);
        作用:创建一个目录
        参数:
            -pathname:创建目录的路径
            -mode:权限,八进制的数
        返回值:
            成功返回0,失败返回-1
*/
#include <sys/stat.h>
#include <sys/types.h>
#include<stdio.h>
int main(){
    int ret=mkdir("aaa",0777);
    if(ret==-1)
    {
        perror("makedir");
        return -1;
    }
    return 0;
}

 2.rmdir:删除目录

3.rename:重命名

/*
    #include <stdio.h>
    int rename(const char *oldpath, const char *newpath);

*/
#include<stdio.h>
int main(){
     int ret=rename("aaa","bbb");
    if(ret==-1)
    {
        perror("rename");
        return -1;
    }
    return 0;
}

4.chdir(修改工作目录)和getpwd(获取工作目录)

/*
   #include <unistd.h>
   int chdir(const char *path);
        作用:修改进程的工作目录
        比如在/home/ethan 启动了一个可执行程序a.out,进程的工作目录 /home
    参数:
        path:需要修改的工作路径

    #include <unistd.h>
    char *getcwd(char *buf, size_t size);
        作用:获取当前的工作目录
        参数:
            -buf:存储的路径,指向的是一个数组
            -size:数组的大小
        返回值:
            返回的指向的一块内存,这个数据就是第一个参数
*/
#include <unistd.h>
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(){
    //获取当前的工作目录
    char buf[128];
    getcwd(buf,sizeof (buf));
    printf("当前的工作目录是:%s\n",buf);

    //修改工作目录
    int ret = chdir("/home/ethan/Linux/lesson13");
    if(ret==-1)
    {
        perror("chdir");
        return -1;
    }

    //创建一个新的文件
    int fd=open("chdir.txt",O_CREAT | O_RDWR,0644);
    if(fd==-1){
        perror("open");
        return -1;
    }
    close(fd);

    //获取当前的工作目录
    char buf1[128];
    getcwd(buf1,sizeof (buf1));
    printf("当前的工作目录是:%s\n",buf1);
    return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值