linux的一点一滴---open

open函数用于打开和创建一个文件。

所需头文件:

    #include<sys/types.h>

    #include <sys/stat.h>

    #include <fcntl.h>

常用函数原型:

     int open(const char *pathname, int flags)或者

     int open(const char *pathname, int flags, mode_t mode)

函数参数解释:

pathname参数是要打开或者创建的文件名(可以包括绝对/相对路径)。

flags参数是一系列常数值(宏定义常数,以O_开头),可以选择多个常数进行按位或运算符链接起来一起使用。

flags必选项:

O_RDONLY:只读打开

O_WRONLY:只写打开

O_RDWR:读写打开

flags常用可选项:

O_APPEND:追加内容在所打开的文件结尾。

O_CREAT:若文件不存在则创建。如果使用此选项需要提供第三个参数mode.

O_EXCL:如果同时指定 了O_CREAT,并且文件已存在,则出错返回。可用来测试一个文件是否存在。

O_TRUNC:如果文件已存在,并且以只写或可读可写方式打开,则将其长度截断为0字节。

O_NONBLOCK:可设置设备文件以非阻塞打开。

mode参数用来设置文件权限位(八进制表示):

1-----》执行

2-----》写

4-----》读

函数返回值:

  open函数执行成功返回当前未使用的最小文件描述符(file descriptor),失败返回-1(并且设置出错信息)。

例:

touch file

#include <stdio.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <unistd.h>

int main(int argc, char *argv[])

{

  int fd = open("file", O_RDWR | O_CREAT);

  printf("fd = %d\n", fd);

  return 0;

}

执行结果为fd = 3;

时间: 2024-08-08 09:42:20

linux的一点一滴---open的相关文章

【一点一滴,成材之基!】Linux系统启动流程详解

目录:(一)了解系统启动流程(二)了解GRUB的作用(三)重置root密码(四)当GRUB丢失的时候如何修复系统(五)当/boot里缺失文件时如何修复 (一)了解系统启动流程(1.1)①在我们按下开机键以后,最先工作的是我们硬件BIOS芯片,其中BIOS芯片主要是监测主机的各项硬件包括键盘.鼠标.显示屏.硬盘等等是否都是正常工作的状态:②如果BIOS芯片检测是正常的,则会将系统的引导权交给系统的MBR(主引导记录),在MBR中其中前446B的字节主要是BootLoader引导加载器,64B的字节

【一点一滴,成材之基!】 Linux后门Trojan Horse检测工具

目录:(一)Trojan Horse后门工具了解(二)rootkit后门检测工具chkrootkit(三)rootkit后门检测工具RKHunter (一)Trojan Horse后门工具了解(1.1)rootkit是Linux平台下最常见的一种Trojan Horse后门工具,它主要通过替换系统文件来达到attack和隐蔽的目的,这种Trojan Horse比普通Trojan Horse后门更加危险和隐蔽,普通的监测工具和检查手段很难发现这种Trojan Horse.rootkit的 accu

Linux大神们 你们任重而道远

从小深受李小龙功夫片的影响,尤其是截拳道的哲学思维,(虽然当时不懂为什么要将自己的功夫教给别人,而别人就算怎么学也学不到你的领悟力.)高手只是再教你东西的时候,自己又上升到了一定的层次,因此以此为乐趣.从小便养成了与人分享的习惯. 时至今日,很开心自己已进入到开源的世界里许久还习惯于去寻觅知识的精妙和神奇,并且在互联网里认识了同行里面的大牛,且吸收他们不光是技术更多是为人处世的精华. 并不是自己说什么获奖感言咋的,其实也没有获奖,呵呵. 但是有时候就想抽点时间问问自己都会了什么,想想自己什么都会

Linux及Arm-Linux程序开发笔记(零基础入门篇)

Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html 目录 一.Arm-Linux程序开发平台简要介绍... 3 1.1程序开发所需系统及开发语言... 3 1.2系统平台搭建方式... 4 二.Linux开发平台搭建... 5 2.1安装虚拟工作站... 5 2.2安装Linux虚拟

Linux小白成长之路

Linux小白成长之路 本人忘祭,一个刚刚进入跨入Linux世界的小白.Linux对于我来说其实是很神秘的,很早以前就听说过.也曾见各种技术大牛使用过.但是一直以来也没有去接触的想法,因为感觉太高深.从四月开始报名马哥教育,到现在看预习视频已经一个月了.刚开始看到那些专业术语,感觉脑袋都要大了.对于一个已经三十岁的我来说,当初是硬逼着自己看下去的.看一遍不理解,就两遍三遍重复着看.随后在网上查看各种帖子.文章,想从中找到些学习的切入点,但是觉得不是那么容易着手.无法理解.但是现在听了王老师的面授

【讲清楚,说明白!】 Linux系统应急响应流程

目录:(一)概述(二)识别现象(三)闭环兜底(四)打上常见Web漏洞补丁 (一)概述(1.1)Linux环境下处理应急响应事件往往更加棘手,因为相比于Windows系统,Linux没有像procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以我们需要对流程进行梳理,系统化地处理Linux环境下的应急事件.(1.2)处理Linux应急响应主要分为4个环节:识别现象->清除病毒->闭环兜底->系统加固(1.3)首先从用户场景的主机异常现象触发,先识别出病毒的可疑现象.然后定位到具

排查Linux机器是否已经被入侵

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例: [[email protected] ~]# ll -h /var/log/* -rw-------. 1 root root 2.6K Jul 7 18

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu