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 }