linux 目录操作函数 mkdir rename chdir

mkdir

 1 /*
 2     man 2 mkdir:linux系统函数
 3     #include <sys/stat.h>
 4     #include <sys/types.h>
 5     int mkdir(const char* pathname, mode_t mode);
 6         作用:创建一个目录
 7         参数:
 8             - pathname:创建的目录的路径
 9             - mode:权限  八进制的数
10         返回值:
11             成功:返回0
12             失败:返回-1
13 */
14 #include <sys/stat.h>
15 #include <sys/types.h>
16 #include <stdio.h>
17 
18 int main()
19 {
20     int ret = mkdir("aaa",0777);
21     if(ret == -1)
22     {
23         perror("mkdir");
24         return -1;
25     }
26     return 0;
27 }

rename  

 1 /*
 2     man 2 rename
 3     #include <stdio.h>
 4     int rename(const char* oldpath,const char* newpath);
 5     返回指令:man终端下  return value
 6 */
 7 
 8 #include <stdio.h>
 9 int main()
10 {
11     int ret = rename("aaa","bbb");
12     if(ret == -1)
13     {
14         perror("rename");
15         return -1;
16     }
17     return 0;
18 }

chdir    

 1 /*
 2     man 2 chdir 
 3     man 2 getcwd 
 4     #include <unistd.h>
 5     int chdir(const char* path);
 6         作用:修改进程的工作目录
 7             例如:/home/ubuntu 启动了一个可执行程序a.out, 进程的工作目录为 /home/ubuntu
 8         参数:
 9             - path:需要修改的工作目录
10     #include <unistd.h>
11     char* getcwd(char* buf, size_t size);
12         作用:获取当前工作目录
13         参数:
14             - buf:存储的路径,指向的是一个数组(传出参数)
15             - size:数组的大小
16         返回值:
17             返回指向一块内存,这个数据就是第一个参数
18 */
19 #include <unistd.h>
20 #include <stdio.h>
21 #include <string.h>
22 #include <sys/stat.h>   //open
23 #include <sys/types.h>  //open 
24 #include <fcntl.h>      //open
25 
26 int main()
27 {
28     //获取当前的工作目录
29     char buf[128];
30     getcwd(buf, sizeof(buf));
31     printf("当前的工作目录是:%s\n",buf);
32     //修改工作目录
33     int ret = chdir("/home/ubuntu/Linux/lesson13");
34     if(ret == -1)
35     {
36         perror("chdir");
37         return -1;
38     }
39     //创建一个新的文件
40     int fd = open("chdir.txt",O_CREAT | O_RDWR,0664);
41     if(fd == -1)
42     {
43         perror("open");
44         return -1;
45     }
46     close(fd);
47     //获取当前的工作目录
48     char buf1[128];
49     getcwd(buf1, sizeof(buf1));
50     printf("当前的工作目录是:%s\n",buf1);
51     return 0;
52 }

posted on 2023-09-12 16:56  廿陆  阅读(40)  评论(0编辑  收藏  举报

导航