Linux文件与相关函数的知识点1

      Open函数

高频使用的Linux系统调用:open write read close Linux

自带的工具:man手册:

man 1是普通的shell命令,比如ls  

调用命令:man 1 ls

man 2是系统调用函数,比如open,write

调用open函数的调用命令:man 2 open

在Linux系统库的定义

int open(const char *pathname, intflags);   /* 比较常用*/ int open(const char *pathname, intflags, mode_tmode); //包含的头文件:

#include //这里提供类型pid_t和size_t的定义

#include  #include 

返回值: 成功,返回句柄,我们后面对于文件的读写,关闭等都通过句柄来操作。

                失败,返回-1

参数说明:

grep -nr "xxxx"./ pathname:文件的路径名,如果只写文件名,就默认当前目录,如果在文件名加上路径,就按照绝对路径来 打开文件。

flags:表示打开文件后用的操作

底层是一个宏,它可能以十六进制的形式存放。

O_RDONLY:只读模式 0x 0000 0000

使用路径打开

直接使用文件名

O_WRONLY:只写模式 0x 00000001

O_RDWR:可读可写 0x 00000002

gcc test.c int open(const char *pathname, intflags);   /* 比较常用*/ int open(const char *pathname, intflags, mode_tmode); //包含的头文件:

#include //这里提供类型pid_t和size_t的定义

#include  #include 

参数说明 参数说明

O_APPEND 表示追加,如果原来文件里面有内容,则这次写入会写在文件的最末尾。0x00002000 O_CREAT 表示如果指定文件不存在,则创建这个文件 0x0000 0100 O_EXCL 表示如果要创建的文件已存在,则出错,同时返回-1,并且修改errno 的值。

使用该参数的意义为如果每次有这个文件则创建此文间

最后行表示对各个文件的操作权限

O_TRUNC 表示截断,如果文件存在,并且以只写、读写方式打开,则将其长度截断为0。

O_NOCTTY 如果路径名指向终端设备,不要把这个设备用作控制终端

注:Liunx里面粘贴指令为:shift+ctrl+v

close函数

功能就是简单的关闭文件

文件的权限属性

inux 系统中采用三位十进制数表示权限,如0755, 0644.

7 1+2+4(表示下面1和2和4共同组合的权限)

5 1+4

5 1+4

ABCD A- 0, 表示十进制

B-用户

C-组用户

D-其他用户

  int close(int fd); #include  ‐‐‐ ‐> 0   (no excute , nowrite ,no read)  

‐‐x ‐> 1   excute, (nowrite, no read)  

‐w‐ ‐> 2   write   

r‐‐ ‐> 4   read  

‐wx ‐> 3   write, excute  

r‐x ‐> 5   read, excute  

rw‐ ‐> 6   read, write

对于上面的各种权限我将详细解释一下

如上图,从左往右看,从第二位起,每三个分成一类,第一类表示此电脑用户,第二类表示组用户,第三类表示其他用户,每三个里面都表示着各种权限,r是可读w是可写x是可执行,所以能够轻易地得到此文件不同用户对他的权限,如第一行的文件就是此电脑用户可读可写可执行,组用户可读不可写可执行,以此类推。

可能会生成不可执行文件

可以在代码文件生成后面加上权限0755达到可读可写可执行权限

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AV1技术学习:Quantization

量化是对变换系数进行,并将量化索引熵编码。AV1的量化参数 QP 的取值范围是0 ~ 255。 一、Quantization Step Size 在给定的 QP 下,DC 系数的量化步长小于 AC 系数的量化步长。DC 系数和 AC 系数从 QP 到量化步长的映射如下图所示。当 QP 为 0 时&…

MySQL的高可用(MHA)

高可用模式下的故障切换,基于主从复制。 单点故障和主从复制不能切换的问题。 至少需要三台。 故障切换过程0-30秒 vip地址,根据vip地址所在的主机,确定主备。 主 vip 备 vip 主和备不是优先级确定的,主从复制的时候就确定…

BGP之选路MED

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属…

一款简而轻的项目运维监控软件,支持低侵入式在线构建、自动部署、日常运维(附源码)

前言 在当今快速发展的软件开发领域,开发团队经常面临一系列运维挑战。没有专业运维人员的支持,开发人员不得不承担构建和部署项目的任务。 面对不同项目的构建和部署命令,以及多环境的打包需求,开发人员需要一个能够简化这些流…

算法 day4 【双指针、快慢指针、环形链表】链表下

⚡刷题计划day4继续,可以点个免费的赞哦~ 下一期将会开启哈希表刷题专题,往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day4继续,可以点个免费的赞哦~ 下一期将会开启哈希表刷题…

C# 匿名函数与Lambda表达式

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 1.匿名函数 在 C# 中,匿名函数是一种没有名称的函数,可以直接在代码中定义和使用 匿名函数主要有两种形式:匿名方法和Lambda 表…

Modbus转EtherCAT网关将Modbus协议的数据格式转换为EtherCAT协议

随着工业自动化技术的快速发展,不同通信协议之间的互操作性变得越来越重要。Modbus作为一种广泛使用的串行通信协议,与以太网为基础的EtherCAT协议之间的转换需求日益增长。本文将从网关功能、硬件设计、性能以及应用案例来介绍这款Modbus转EtherCAT网关…

TinaLinux ssh 环境搭建

adb shell passwd root #修改密码 vim /etc/ssh/sshd_config #编辑SSH配置文件/etc/ssh/sshd_config,根据需要配置如端口、允许登录的用户等 切换为英文输入法输入i,将下面PermitRootLogin和PasswordAuthentication改成yes PermitRootLogin yes…

华媒舍:6个媒体宣发套餐,快速突破传播界限

在当今信息爆炸的社会中,有效地传播自己的信息变得愈发困难。特别是对于媒体宣发来说,如何在市场竞争激烈的情况下突破传播界限,让自己的消息传达给更多的人,这是每个企业和个人都面临的难题。 为了解决这个问题,我们推…

MSPM0GXX单片机内部比较器深度解析

目录 0 前言1 简介1.1单片机简介1.2 比较器简介 2 比较器运行原理2.1 比较器配置2.2 比较器通道选择2.3 比较器输出2.4 输出滤波器2.5 采样输出模式2.6 消隐模式2.7 基准电压发生器2.8 窗口比较器模式2.9 比较器滞后 3 比较器的优势 0 前言 本文仅以TI公司生产的MSPM0GXX单片机…

【BUG】已解决:You are using pip version 10.0.1, however version 21.3.1 is available.

You are using pip version 10.0.1, however version 21.3.1 is available. 目录 You are using pip version 10.0.1, however version 21.3.1 is available. 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#…

【Django】 读取excel文件并在前端以网页形式显示-安装使用Pandas

文章目录 安装pandas写views写urls安装openpyxl重新调试 安装pandas Pandas是一个基于NumPy的Python数据分析库,可以从各种文件格式如CSV、JSON、SQL、Excel等导入数据,并支持多种数据运算操作,如归并、再成形、选择等。 更换pip源 pip co…

Word 导入导出

在实际的开发过程中,也会遇到导入导出的功能,今天就简单的做一下总结。 1.需求:将下面word 数据导入到数据库并进行存储 在Controller中 RequestMapping(value "/ImportWord")public RawResponseBodyObject ImportWord(HttpServl…

VBA技术资料MF178:将某个文件夹中的图片导入Word

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

基于微信小程序图书馆座位预约管理系统设计与实现

1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级&#x…

开源模型也能强过闭源?Llama 3.1-405B数值对标GPT4!

Llama 3.1-405B引起AI浪潮:开源模型也能强过闭源? Llama 3.1 就这几天,只要你有在关注AI相关的事,你就会看见一群人在讨论 Meta 新出的 Llama 3.1。外网无数的业内大佬都在为之疯狂,因为 Llama3.1-405B 成为了目前开源…

CefSharp音视频编译与免费下载

注:Cefharp 音频和视频播放编译,生成相应的dll文件,从而支持项目开发。 建议编译至少 16G 的 RAM和至少 250G 的 SSD。该脚本以 E 盘为例,您需要在 E 盘上手动创建 cef 文件夹。禁止在转载后通过发布其他平台向用户收取下载费用。…

JavaEE - Spring Boot 简介

1.Maven 1.1 什么是Maven 翻译过来就是: Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通 过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件。 可以理解为:Maven是一个项目管理工具…

MFC与QT中禁用Esc、Alt+F4、关闭图标

在业务中,我们需要按指定的方式才能关闭当前对话框。如下图需输入密码点击确认后,界面才能关闭。 1.禁用关闭按钮 在对话框初始化部分添加将关闭按钮禁用 //MFC CMenu *pSysMenu GetSystemMenu(FALSE); ASSERT(pSysMenu ! NULL); pSysMenu->EnableM…

【BUG】已解决:NameError: name ‘python‘ is not defined

NameError: name ‘python‘ is not defined 目录 NameError: name ‘python‘ is not defined 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于…