当前位置: 首页 > news >正文

学习记录第二十一天

目录操作是指在计算机文件系统中对目录(也称为文件夹)进行的各种管理操作。目录是组织和存储文件的一种逻辑结构,它帮助用户和系统管理大量文件,使得文件查找和组织更加高效有序。目录操作主要包括以下几种:
  1.创建目录:在文件系统中创建一个新的目录,通常用于组织相关的文件或子目录。
  2.删除目录:从文件系统中移除一个目录。需要注意的是,大多数系统不允许删除非空的目录,即目录中还包含文件或子目录时,删除操作会失败。
  3.重命名目录:更改目录的名称,通常用于更准确地描述目录内容或避免命名冲突。
  4.移动目录:将目录从当前位置移动到另一个位置,这涉及到更改目录的路径。
  5.读取目录内容:查看目录中包含的文件和子目录列表。
  6.改变工作目录:更改当前正在使用的目录,这影响后续的文件操作的相对路径。
  7.查询目录属性:获取目录的元数据,如创建时间、修改时间、权限设置等。
这些操作在各种操作系统和编程环境中都有相应的命令或函数来实现,比如在Linux中,可以通过mkdir、rmdir、mv、ls等命令进行目录操作,在C语言中,则有opendir、readdir、mkdir、rmdir等函数来实现目录操作。正确和有效地进行目录操作对于文件管理和程序设计都是至关重要的。

打开目录
  1.opendir:用于打开一个目录,并返回一个指向该目录的指针。

#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);

读取目录
  1.readdir:用于读取目录流,并返回一个指向struct dirent的指针,该结构包含了目录中下一个文件的信息。

#include <dirent.h>
struct dirent *readdir(DIR *dirp);

关闭目录
  1.closedir:用于关闭一个已经打开的目录流。

#include <sys/types.h>
#include <dirent.h>
int closedir(DIR *dirp);

创建目录
  1.mkdir:用于创建一个新的目录。

#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);

删除目录
  1.rmdir:用于删除一个目录,但只能删除空目录。

#include <unistd.h>
int rmdir(const char *pathname);

获取当前工作目录
  1.getcwd:用于获取当前的工作目录。

#include <unistd.h>
char *getcwd(char *buf, size_t size);

改变当前工作目录
  1.chdir:用于改变当前的工作目录。

#include <unistd.h>
int chdir(const char *path);

stat函数
在Linux系统编程中,stat函数用于获取指定文件或符号链接的状态信息。这些信息包括文件的大小、类型、权限、最后访问时间、最后修改时间和最后状态改变时间等。stat函数的信息被存储在一个struct stat结构体中,程序员可以通过分析这个结构体来获取文件的详细元数据。
stat函数的原型和使用方法
stat函数的原型定义在sys/stat.h头文件中,其基本形式如下:

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>int stat(const char *pathname, struct stat *buf);

这里,pathname参数是一个指向文件路径的字符串,buf参数是一个指向struct stat结构体的指针,该结构体将被填充以包含文件的状态信息。如果函数调用成功,它返回0;如果失败,返回-1,并设置全局变量errno以指示错误原因。
struct stat结构体的成员及其含义
struct stat结构体包含了多个成员,每个成员都代表了文件的不同状态信息。以下是一些关键成员及其含义:
  1.st_dev:文件所在设备的ID。
  2.st_ino:文件的inode节点编号。
  3.st_mode:文件的类型和权限。
  4.st_nlink:文件的硬链接数。
  5.st_uid、st_gid:文件所有者的用户ID和组ID。
  6.st_size:文件的大小(以字节为单位)。
  7.st_atime、st_mtime、st_ctime:文件的最后访问时间、最后修改时间和最后状态改变时间。

相关文章:

学习记录第二十一天

目录操作是指在计算机文件系统中对目录&#xff08;也称为文件夹&#xff09;进行的各种管理操作。目录是组织和存储文件的一种逻辑结构&#xff0c;它帮助用户和系统管理大量文件&#xff0c;使得文件查找和组织更加高效有序。目录操作主要包括以下几种&#xff1a; 1.创建目…...

江协科技51单片机学习- p31 LCD1602液晶屏驱动

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…...

Android SurfaceFlinger——渲染完成帧显示(四十八)

帧渲染完成后下一步就是将帧缓冲区(framebuffer)的内容发送到显示设备进行显示,也是 SurfaceFlinger 处理渲染合成的最后一步。 1.更新输出设备的色彩配置文件2.更新与合成相关的状态3.计划合成帧图层4.写入合成状态5.设置颜色矩阵6.开始帧7.准备帧数据以进行显示(异步方式)…...

ABAP+json格式数据转换时参数为空没传值

CALL METHOD /UI2/CL_JSON>SERIALIZE 我们在ABAP传输json格式数据到外围系统时&#xff0c;会用到这个类方法 /UI2/CL_JSON>SERIALIZE CALL METHOD /UI2/CL_JSON>SERIALIZEEXPORTINGDATA LO_DATACOMPRESS XPRETTY_NAME /UI2/CL_JSON>PRETTY_M…...

Flink中上游DataStream到下游DataStream的内置分区策略及自定义分区策略

目录 全局分区器GlobalPartitioner 广播分区器BroadcastPartitioner 哈希分区器BinaryHashPartitioner 轮询分区器RebalancePartitioner 重缩放分区器RescalePartitioner 随机分区器ShufflePartitioner 转发分区器ForwardPartitioner 键组分区器KeyGroupStreamPartitio…...

谁来做引领企业精益变革的舵手最合适?

在这个瞬息万变的商业时代&#xff0c;企业如同航行在波涛汹涌的大海中的巨轮&#xff0c;既需面对未知的挑战&#xff0c;也要抓住稍纵即逝的机遇。而在这场没有终点的航行中&#xff0c;引领企业实现精益变革的舵手&#xff0c;无疑是推动企业破浪前行、稳健致远的关键角色。…...

数据结构(java实现)——优先级队列,堆

文章目录 优先级队列堆堆的概念堆的模拟实现创建堆入堆判满删除判空获取栈顶元素 创建堆两种方式的时间复杂度堆排序java提供的PriorityQueue类基本的属性关于PriorityQueue类的三个构造方法关于PriorityQueue类中&#xff0c;入堆方法是怎样实现的&#xff1f;PriorityQueue注…...

一部分优化算法

一、优化问题 1、优化目标 &#xff08;1&#xff09;优化和深度学习的目标是根本不同的。前者主要关注的是最小化目标&#xff0c;后者则关注在给定有限数据量的情况下寻找合适的模型。 &#xff08;2&#xff09;优化算法的目标函数通常是基于训练数据集的损失函数&#x…...

图论(强联通分量)

在图论中&#xff0c;特别是在讨论有向图&#xff08;Directed Graph&#xff09;时&#xff0c;我们常常需要了解图的结构特性&#xff0c;比如强联通分量&#xff08;Strongly Connected Components, SCC&#xff09;。了解强联通分量中的各种边对于理解图的整体结构以及某些…...

LLaMA- Adapter V2: Parameter-Efficient Visual Instruction Model

发表时间&#xff1a;28 Apr 2023 论文链接&#xff1a;https://arxiv.org/pdf/2304.15010 作者单位&#xff1a; Shanghai Artificial Intelligence Laboratory Motivation&#xff1a;如何有效地将大型语言模型 (LLM) 转换为指令追随者最近是一个流行的研究方向&#xff0…...

【爬虫实战】利用代理爬取Temu电商数据

引言 在行业竞争激烈、市场变化快速的跨境电商领域&#xff0c;数据采集可以帮助企业深入了解客户需求和行为&#xff0c;分析市场趋势和竞争情况&#xff0c;从而优化产品和服务&#xff0c;提高客户满意度和忠诚度。同时&#xff0c;数据采集可以实时跟踪库存水平和销售情况&…...

【MATLAB源码-第244期】基于MATLAB的BP神经网络语音特征信号分类,输出原信号与预测信号对比图以及预测误差和正确率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 BP神经网络&#xff08;Back Propagation Neural Network&#xff09;是一种广泛应用于模式识别和分类问题的人工神经网络。在本次语音特征信号分类任务中&#xff0c;我们将详细描述如何通过BP神经网络实现对四类语音信号的…...

HarmonyOS 习题(二)

1、在类Web开发范式自定义组件创建后&#xff0c;加入到Page组件树时&#xff0c;会触发以下哪一项回调。 A&#xff09;Onlnit B&#xff09;OnAttached C&#xff09;OnLayoutReady D&#xff09;OnDetached 答案&#xff1a;B 分析: onlnit:自定义组件初始化生命周期回调&a…...

如何搭建一个圈子社区系统?开源社交陪玩交友圈子论坛帖子系统保姆级搭建教程!

整体部署流程如下&#xff1a; 1.获取源码/前后端分离&#xff0c;前端Uniapp vue2.0 后端thinkphp6&#xff08;Gitee直达&#xff09; 2.服务器安装宝塔&#xff08;已有宝塔请安装环境&#xff0c;Nginx或者Apache/ php 7.3/ mysql 5.6 &#xff09; 3.进入宝塔添加网站&…...

Delphi5实现身份证检验(DLL版)

效果图 身份证行政区划分代码 识别归属地需要行政区划分&#xff0c;都在data.txt文档里面了。 最后一位校验码 根据上面的原理编写程序即可。 {这个函数计算最后一位检验码是否正确&#xff0c;ID是18位身份证号字符串&#xff0c;结果返回字符串} function IDcheck(ID:stri…...

linux下的C++程序

1.安装g编译环境&#xff08;c&#xff09;、gcc编译环境&#xff08;c语言&#xff09; sudo yum install gcc或者gcc-c //安装gcc/g编译(用管理员权限弄&#xff09; 验证是否安装成功 gcc或者g --version //如果显示版本号&#xff0c;则表示安装成功 sudo yum remove g…...

selfAttention 中的dk到底是什么

在Self-Attention机制中&#xff0c;为什么需要对 Q K T QK^T QKT 的结果进行缩放&#xff0c;除以 d k \sqrt{d_k} dk​ ​。以下是详细解释&#xff1a; 缩放的原因 除以 d k \sqrt{d_k} dk​ ​ 的原因有两个&#xff1a; 防止输入过大&#xff1a;如果不缩放&#xf…...

安装MongoDB UI客户端工具:mongodb-compass-1.40.2-win32-x64.msi

文章目录 1、安装 mongodb-compass-1.40.2-win32-x64.msi2、安装后配置链接地址&#xff1a; 1、安装 mongodb-compass-1.40.2-win32-x64.msi 2、安装后配置链接地址&#xff1a;...

一行命令搞定内网穿透

一行命令搞定内网穿透 一款开源免费的内网穿透工具&#xff1a;localtunnel &#xff0c;基于 nodejs 实现&#xff0c;无需修改 DNS 和防火墙设置&#xff0c;方便快捷的将内网服务暴露到外网&#xff0c;为开发人员、测试人员以及需要分享本地项目的人提供实时的公网访问方式…...

C语言——扫雷游戏

扫雷游戏通常是一个由方格组成的区域内进行的&#xff0c;其中随机分布着一定数量的地雷 。玩家的目标是通过点击方格来标记出所有地雷的位置&#xff0c;同时避免自己点到地雷而导致游戏失败。游戏开始时&#xff0c;玩家通常只能看到一部分方格&#xff0c;而其余的方格则需要…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...