Linux 高并发学习笔记 - Linux 目录操作函数
1.6.4 Linux 目录操作函数
Linux 高并发学习笔记 - 笔记索引
文章目录
- 1.6.4 Linux 目录操作函数
- 前言
- 切换工作目录
- 查看工作目录
- 创建目录
- 重命名目录
- 移除目录
- 遍历目录(划重点)
前言
关于文件操作函数这一块主要用英文文档的形势书写,因为凉皮在写文档的时候发现Markdown
用起来太繁琐了。那么关于函数
这一块主要也是读文档就能解决的了,还有比如打英文字符比中文字符快等等原因,就没有去再写中文描述了。
关于文档可以使用Linux
命令man 2/3 xxx
查看,在后面也写了查看每个文档的命令。
切换工作目录
chdir
#include <unistd.h>
int chdir(const char *path);
// $ man 2 chdir
查看工作目录
getcwd
#include <unistd.h>
char *getcwd(char *buf, size_t size);
// $ man 2 getcwd
创建目录
mkdir
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
// $ man 2 mkdir
重命名目录
rename
#include <stdio.h>
// rename or move a file or director
int rename(const char *oldpath, const char *newpath);
// $ man 2 rename
移除目录
rmdir
、remove
#include <unistd.h>
// remove a director
int rmdir(const char *pathname);
// $ man 2 rmdir
#include <stdio.h>
// remove a file or director
int remove(const char *pathname);
// $ man 3 remove
遍历目录(划重点)
Linux C/C++ 中遍历目录的过程比较复杂,和其他众多语言也有所不同,但也更能体现底层逻辑,本部分将重点讲解。
opendir
、readdir
、seekdir
、closedir
常用属性:
d_off
:文件在当前目录的序号d_name
:文件名d_reclen
:文件名长度
#include <sys/types.h>
#include <dirent.h>
// open a director
// name:
// the file path
// return value:
// a pointer to DIR, or NULL for error
DIR *opendir(const char *name);
// $ man 3 opendir
#include <dirent.h>
// read an item in director
// dirp:
// a pointer to DIR return by "opendir"
// return value:
// an item in director and restore in struct dirent, NULL for EOF or other errors
// struct dirent {// ino_t d_ino; /* Inode number */
// off_t d_off; /* Current position in the director stream */
// unsigned short d_reclen; /* Length of this record */
// unsigned char d_type; /* Type of file; not supported by all filesystem types */
// char d_name[256]; /* Null-terminated filename */
// };
// It's similar to read a file, while read an item in director, the file seek will move to the next item. You can use "seekdir" to reset the file offset.
struct dirent *readdir(DIR *dirp);
// $ man 3 readdir
#include <dirent.h>
// set the current position of pointer
// dirp:
// a pointer to DIR return by "opendir"
// loc:
// new position
void seekdir(DIR *dirp, long loc);
// $ man 3 seekdir
#include <sys/types.h>
#include <dirent.h>
// close a director
// dirp:
// a pointer to DIR return by "opendir"
// return value:
// return 0 for success, -1 for error
int closedir(DIR *dirp);
// $ man 3 closedir
Linux 高并发学习笔记 - Linux 目录操作函数相关推荐
- Linux 高并发学习笔记 - Linux 文件操作函数
1.6.2 Linux 文件操作函数 Linux 高并发学习笔记 - 笔记索引 前言 关于文件操作函数这一块主要用英文文档的形势书写,因为凉皮在写文档的时候发现Markdown用起来太繁琐了.那么关于 ...
- Linux 高并发学习笔记 - Linux 文件属性函数
1.6.3 Linux 文件属性函数 Linux 高并发学习笔记 - 笔记索引 Linux中一切皆文件,你同样可以用下面这些函数操作目录等特殊文件. 前言 关于文件操作函数这一块主要用英文文档的形势书 ...
- Linux 高并发学习笔记 - exec 函数簇重载进程
2.2.4 exec 函数簇重载进程 Linux 高并发学习笔记 - 笔记索引 execl.execlp.execle.execv.execvp.execvpe exec函数簇将重载进程,直接覆盖当前 ...
- 分布式系统 概念 高可用 高并发 学习笔记
分布式系统 概念 高可用 高并发 学习笔记 0. 分布式系统基本概念 0.1 背景 分布式系统是由一组通过网络进行通信.为了完成共同的任务而协调工作的计算机节点组成的系统.分布式系统的出现是为了用廉价 ...
- Java多线程高并发学习笔记(一)——ThreadRunnable
进程与线程 首先来看百度百科关于进程的介绍: 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的 ...
- 冰冰学习笔记:内存操作函数
在前面的章节中我们介绍了字符操作函数的用法,用以实现字符串的复制,连接,比较,查找等操作.但是C语言中并非只有字符串需要这些操作,其他类型的变量也会用到复制,比较等操作.此时,字符串操作函数将不再适用 ...
- JAVA高并发学习笔记(二) 多线程基础
1.1什么是线程 线程是进程(程序在计算机上的一次执行活动)内的执行单元 进程是以独立于其他进程的方式运行的,进程间是互相隔离的.一个进程无法直接访问另一个进程的数据.进程的资源诸如内存和CPU时间片 ...
- Linux高并发服务器开发---笔记4(网络编程)
0705 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.2 Linux系统编程1.4.3 Linux系统编程2 4.4 多进程 1-9 10.进程间通信☆☆☆ 4.5 ...
- Linux 高并发服务器开发
该文章是通过观看牛客网的视频整理所得,以及在实践过程中遇到的问题及解决方案的整理总结. Linux 高并发服务器开发 linux 系统编程 linux 环境的搭建 环境搭建需要的软件 虚拟机中安装 u ...
最新文章
- luogu P3398 仓鼠找sugar(树链剖分、求树上两条路径有没有交点,爽!)
- phantomjs学习资料
- java 构造函数和_Java类和构造函数
- .NET Core 3.0愈加成熟,微软将不再把.NET Framework API移植给它
- Markdown--Latex数学公式编辑
- unity3D---鼠标、键盘输入
- 【毕业寄语】我们不缺少鼓励但却缺少了批评
- Spark SQL自定义函数案例(拼接字符串)
- 红米pro android o刷机,红米Pro官方卡刷机教程 怎么刷机
- UE编辑器 添加注释选区的快捷键
- 目前主要的计算机汉字输入方法是什么,[计算机汉字输入方法.ppt
- MODIS数据wget下载
- Binding几种绑定方式
- 真实案例分享:MOS管电源开关电路,遇到上电冲击电流超标
- 工商总局抽检电商 天猫1号店等仍存售假
- 淘宝网(关于淘宝拆分)
- 疫情下如何保持高效项目交付
- 能源与经济面板数据集(中国能源统计年鉴面板数据+区域经济、人口与二氧化碳排放量面板数据)
- Qt编写输入法源码V2019,未采用Qt系统层输入法框架,独创输入切换机制
- Steam 取消徽章展示
热门文章
- python全栈讲解_Python全栈数据工程师养成攻略(视频讲解版)
- 政府形象塑造_让您的同事塑造您的职业目标的4个理由
- 基于改进樽海鞘群寻优SVM的土壤含水量预测算法
- Proxy是什么意思?谁能解释一下
- 关于fftshift的用法
- docker离线部署
- MySQL实战第十七讲-如何正确地显示随机消息?
- BUG调试:maven install报错:程序包xxx不存在
- 学生党哪款蓝牙耳机价格实惠?五款最贵不过500元蓝牙耳机,音质卓越
- HTML一条线匀速直线运动,利用简易“节拍器”演示匀速直线运动和变速直线运动...