Linux学习入门--文件编程学习三
2018-03-06 00:00
393 查看
摘要: 主要学习了目录文件的操作以及链接文件
1. 获取当前目录的路径:getwd() getcwd() get_current_dir_name()
2.进程重新指定到新的目录,即设置当前路径: chdir()/fchdir()
3. 创建目录: mkdir() 删除目录 rmdir()
4. 打开一个目录: opendir() 关闭一个目录: closedir()
5. 读取目录中的内容:readdir(),返回的是一个数组,包含目录的节点号和名称,见下面的例子,罗列出目录下的所有文件名字
6. 特殊文件的创建: mknod(管道、设备文件) 未写代码测试
7.文件的挂载与卸载: mount() unmount() (需要root用户) 未写代码测试
8.硬链接:link() 软链接:symlink() 读软链接本身的内容:readlink()
运行结果:
1. 获取当前目录的路径:getwd() getcwd() get_current_dir_name()
2.进程重新指定到新的目录,即设置当前路径: chdir()/fchdir()
3. 创建目录: mkdir() 删除目录 rmdir()
4. 打开一个目录: opendir() 关闭一个目录: closedir()
5. 读取目录中的内容:readdir(),返回的是一个数组,包含目录的节点号和名称,见下面的例子,罗列出目录下的所有文件名字
6. 特殊文件的创建: mknod(管道、设备文件) 未写代码测试
7.文件的挂载与卸载: mount() unmount() (需要root用户) 未写代码测试
8.硬链接:link() 软链接:symlink() 读软链接本身的内容:readlink()
/* get_current_dir_name()使用需要定义该宏,并且放在所有头文件之前 */ #define _GNU_SOURCE #include <unistd.h> #include <stdio.h> #include <sys/types.h> #include <dirent.h> int main(void) { char buf[100] = {0}; char buf_read[100] ={0}; struct dirent *dirent1; getcwd(buf,100); //方法一:getcwd()获取当前目录的路径 printf("%s\n",buf); printf("%s\n",get_current_dir_name()); //方法二:get_current_dir_name()获取当前目录的路径 if (mkdir("./test",0777) == -1) //mkdir()创建一个目录test,删除非空目录rmdir() { perror("mkdir"); } if (chdir("./test") == -1) //chdir()重定向当前进程指向test目录,并不影响父进程 { perror("chdir"); } printf("current dir is: %s\n",get_current_dir_name()); //当前目录变成test DIR * dp = opendir(get_current_dir_name()); //opendir()打开一个目录 while ((dirent1 = readdir(dp)) != NULL) //readdir()循环输出文件目录下的内容 printf("read dirent d_name %s\n",dirent1->d_name); if (link("./text.txt", "./text1.txt") == -1) //link(),硬链接,相当于备份 { perror("link"); } if (symlink("./text.txt", "./text2") == -1) //symlink()软链接,创建的是快捷方式 { perror("symlink"); } int fd = open("./text2"); //打开软链接文件 read(fd, buf_read, 100); //用read()读取的是它所指向文件里的内容 printf("text2 content is: %s\n",buf_read); close(fd); readlink("./text2", buf_read,100); //readlink()读出的是软链接本身的内容,即所链接文件的名字 printf("text2 real content is: %s\n",buf_read); closedir(dp); return 0; }
运行结果:
相关文章推荐
- Linux学习入门--文件编程学习一
- Linux学习入门--文件编程学习二
- UNIX/LINUX编程学习之文件I/O
- 【Linux入门学习之】Linux文件权限与目录配置
- LINUX C系统编程学习笔记-----------文件编程
- UNIX/LINUX编程学习之文件共享
- Linux操作系统下C语言编程入门学习笔记(...20090601(第一遍学完待整理)...)
- 文件I/O编程学习笔记三(linux 时间编程)
- 文件编程---那些年我们一起学习linux程序设计
- Linux编程学习笔记--proc文件系统
- linux学习入门10——linux文件系統挂载管理(linuxcast.net)(mount、umount、配置fstab进行自动挂载)
- linux学习入门3——linux文件基本操作(linuxcast.net)(复制、移动、重命名、创建、删除文件及文件夹)
- linux操作系统下c语言编程入门 -- (3)文件操作
- linux学习入门2——linux文件系統基本结构(linuxcast.net)(倒转树状结构、命名机制、查看文件类型)
- Linux命令(shell)从入门到精通 学习笔记之1:文件安全与权限
- Linux学习笔记一 ---- Linux基础知识认知以及初识Linux下C编程入门
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】揭开Linux Proc文件系统的神秘面纱
- 【Linux入门学习之】Linux文件权限与目录配置
- 推荐一本学习Linux高级编程入门的书籍
- 怎样学习LINUX编程 如何入门【多篇文章整理集合】