Linux的目录操作

Linux目录操作

获取当前工作目录
  1. getcwd()

    • 声明:
      char *getcwd(char *buf, size_t size);
      
    • 使用方法:
      getcwd用于获取当前工作目录,并将其保存在buf指向的缓冲区中。
    • 返回值:
      返回一个指向buf的指针,若失败则返回NULL。
    • 注意事项:
      需要确保buf缓冲区足够大以容纳完整的路径名。
  2. get_current_dir_name()

    • 声明:
      char *get_current_dir_name(void);
      
    • 使用方法:
      get_current_dir_name功能与getcwd相似,但它会分配一个新的字符串来保存当前工作目录。
    • 返回值:
      返回一个指向当前工作目录字符串的指针,若失败则返回NULL。
    • 注意事项:
      需要记得在使用完后释放返回的内存,避免内存泄漏。
切换工作目录
  1. chdir()
    • 声明:
      int chdir(const char *path);
      
    • 使用方法:
      chdir用于改变当前工作目录至path所指定的目录。
    • 返回值:
      若成功则返回0,失败返回-1。
    • 注意事项:
      需要确保对path的访问权限。
创建目录
  1. mkdir()
    • 声明:
      int mkdir(const char *path, mode_t mode);
      
    • 使用方法:
      mkdir用于创建一个新目录,path为目录名,mode为权限设置。
    • 返回值:
      若成功则返回0,失败返回-1。
    • 注意事项:
      需要确保对path所在的父目录有写权限。
删除目录
  1. rmdir()
    • 声明:
      int rmdir(const char *path);
      
    • 使用方法:
      rmdir用于删除一个空目录,path为目录名。
    • 返回值:
      若成功则返回0,失败返回-1。
    • 注意事项:
      目录必须为空,且需要对path所在的父目录有写权限。
获取目录中文件的列表
  1. opendir(), readdir(), closedir()
    • 声明:
      DIR *opendir(const char *name);
      struct dirent *readdir(DIR *dirp);
      int closedir(DIR *dirp);
      
    • 使用方法:
      • opendir用于打开目录,并返回一个指向DIR类型的指针。
      • readdir用于读取目录中的条目,每次调用返回一个struct dirent类型的指针,指向下一个目录条目,当没有目录条目时返回NULL。
      • closedir用于关闭由opendir打开的目录。
    • 返回值:
      • opendir成功返回指向DIR类型的指针,失败返回NULL。
      • readdir成功返回指向struct dirent类型的指针,失败返回NULL。
      • closedir成功返回0,失败返回-1。
    • 注意事项:
      需要对目录有相应的权限,确保在使用完后调用closedir关闭目录。

以上就是关于Linux目录操作相关函数的详细介绍,使用这些函数可以方便地进行目录操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux快速修改ip地址

Linux修改IP配置 一 、查找ip配置文件 ifcfg-ens33二、编辑 vi ifcfg-ens33文件三、重启网络或者重启系统 一 、查找ip配置文件 ifcfg-ens33 cd /etc/sysconfig/network-scripts/ls //查看network-scripts文件夹下面的文件二、编辑 vi ifcfg-ens33文件 vi ifcfg-ens33注意&…

机器学习 深度学习资料 资源machine learning

Kaggle入门,看这一篇就够了 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/25686876 day1-1.什么是机器学习_哔哩哔哩_bilibiliday1-1.什么是机器学习是10天学会机器学习从入门到深度学习的第1集视频,该合集共计62集,视频收藏或关注UP主&a…

【MySQL】如何理解MySQL的存储引擎

一、常见存储引擎 我们可以知道表的类型是由存储引擎决定的,如图所示,我们可以看到MySQL中支持八种储存引擎,那么我们这里就介绍常用的三种存储引擎,分别是Innodb、MyISAM、Memory。 二、Innodb、MyISAM、Memory的特点 1、Inno…

day10-项目集成sharding-jdbc-今日指数

项目集成sharding-jdbc 目标 1.掌握shardingjdbc标准分片模式; 2.理解项目分库分表的设计思路; 3.理解分库分表代码实现流程; 第一章 项目分库分表实现 1、股票数据预期增长分析 ​ 由于今日指数是偏向海量数据分析的产品,而…

Go语言基础总结

一、Go语言结构 包声明 引入包 函数 变量 语句&表达式 注释 下面简单给出hello.go文件。 package src /*定义包名*/import "fmt" /*引入包*/func hello() { /*函数*/fmt.Println("Hello,World!") /*语句&表达式*/fmt.Println("菜鸟教…

2024年华为OD机试真题-抢7游戏-Python-OD统一考试(C卷)

题目描述: A、B两个人玩抢7游戏,游戏规则为A先报一个起始数字X(10<起始数字<10000),B报下一个数字Y(X-Y<3),A再报一个数字Z(Y-Z<3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合? 输入描述: 起始数字M,如100;10<…

Linux系统下防火墙端口操作

防火墙端口的认识 防火墙是一种网络安全设备&#xff0c;用于监控和控制网络进出流量&#xff0c;其中开放端口是防火墙功能中的一个重要部分&#xff0c;可以确保应用程序和服务正常通信。端口是不同应用程序或服务之间通信的入口或出口&#xff0c;每个端口都有一个数字标识…

go - 学习笔记 - 1

go - 学习笔记 -1 hello world变量值拷贝匿名变量语句分隔符整型&浮点型&布尔型字符串类型strings包的字符串函数 hello world package mainimport "fmt"func main() {fmt.Println("hello world") }变量 package mainimport "fmt"func…

深度学习环境配置常见指令

首先打开anaconda prompt&#xff0c;激活对应虚拟环境。 导入torch并获取对应版本 import torch torch.__version__导入torchvision并获取对应版本 import torchvision torchvision.__version__ 检查cuda是否可用 torch.cuda.is_available() 获取CUDA设备数 torch.cuda.…

OpenBMC的c++代码中的变量初始化问题(一)

1 开发平台 Win11、VS2022、Fedora39。 2 作业目的 通过VS2022跨平台Linux构建openbmc/intel-ipmi-oem的x64可执行模块。 3 问题描述 该模块启动后&#xff0c;在执行subprojects\phosphor-host-ipmid\user_channel\channel_mgmt.cpp 中的函数convertToMediumTypeIndex出现…

leetcode-回溯法-矩阵中的路径

https://www.nowcoder.com/practice/c61c6999eecb4b8f88a98f66b273a3cc?tpId13&tqId11218&tPage4&rp4&ru/ta/coding-interviews&qru/ta/coding-interviews/question-ranking 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有…

基于SpringBoot的气象数据监测分析大屏

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

数据仓库选型建议

1 数仓分层 1.1 数仓分层的意义 **数据复用&#xff0c;减少重复开发&#xff1a;**规范数据分层&#xff0c;开发一些通用的中间层数据&#xff0c;能够减少极大的重复计算。数据的逐层加工原则&#xff0c;下层包含了上层数据加工所需要的全量数据&#xff0c;这样的加工方…

GEE必须会教程—邂逅线代中的矩阵(Array类型)

矩阵&#xff0c;一个令人头疼的名字&#xff0c;学过线性代数的友友们想必对矩阵的运算规则烂熟于心&#xff0c;与它延申出来的向量知识曾经让我们深陷其中。矩阵在高级的数据存储中占据着重要的地位。定义字典类型的过程&#xff0c;其实就是寻找key和value关系的过程&#…

Linux系统——Nginx服务状态码总结

目录 一、1xx状态码 100 Continue 101 Switch Protocols 102 Processing 二、2xx状态码 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 207 Multi-Status 208 Already Reported 三…

Upload-Labs-Linux1【CTF】

拿到这道题目一看&#xff0c;发现是upload靶场&#xff1b;这不简简单单吗&#xff1b;结果中间还是遇到了一些小问题 小坑总结&#xff1a;该关只识别标准php语法&#xff1a;<?php phpinfo()?>格式&#xff1b;即<?php ?> 不识别<? phpinfo()?> &…

怎么在wifi中实现手机和电脑文件互传

有时我们想手机电脑文件互传&#xff0c;数据线却不在身边&#xff0c;这时我们可以用MiXplorer来实现wifi中手机和电脑互相访问文件。 MiXplorer是一款来自著名安卓开发者论坛XDA的作品&#xff0c;免费且功能强大&#xff0c;被很多人誉为是“全能文件管理器”。 1.在手机上…

程序环境和预处理(1)

文章目录 目录1. 程序的翻译环境和执行环境2. 详解编译链接2.1 翻译环境2.2 编译本身也分为几个阶段2.3 运行环境 3. 预处理详解3.1 预定义符号3.2 #define3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 #和##3.2.5 带副作用的宏参数3.2.6 宏和函数…

数据结构链表力扣例题AC(3)——代码以及思路记录

160. 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 AC写法一 struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {//思…

DBAPI如何使用数组类型参数

DBAPI如何使用数组类型参数 需求 根据多个id去查询学生信息 API创建 在基本信息标签&#xff0c;创建参数ids &#xff0c;参数类型选择 Array<bigint> 在执行器标签&#xff0c;填写sql&#xff0c;使用in查询 select * from student where id in <foreach ope…