linux文件的通用操作方法学习
2014-07-29 23:36:10
在linux下用文件描述符来表示设备文件和普通文件。文件描述符是一个整型的数据,所有对文件的操作都通过文件描述符实现。
文件描述符示文件系统中连接用户空间和内核空间的枢纽。当打开一个或者创建一个文件时,内核空间创建相应的结构,并生成一个整型的变量传递给用户空间的对应进程。进程用这个文件描述符来对文件进行操作。
文件描述符的范围示0~OPEN_MAX,因此是一个有限的资源,在使用完毕后要及时释放,通常示调用从close()函数关闭。注意的是文件描述符的值仅在同一个进程中有效,即不同进程文件描述符,同一个值很可能描述的不是同一个设备或普通文件。在里linux系统中有3个已经分配的文件描述符,即标准输入,标准输出和标准错误,他们文件描述符的值分别问0 1 和2。可以查看/dev/下的stdin(标准输入) stout(标准输出)和stderr(标准错误),会发现分别指向/proc/self/fd/目录下的0 1 2文件。
1.
打开创建文件open(),creat()函数
查看函数功能可在终端输入 man 2 open,此手册包含了函数所含头文件,函数功能,函数参数取值
函数原型为:int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
两者差别在于flags取值,当你man 2 open的时候你会看到flags的取值,当flags使用O_CREAT时要指定mode的值,其实就是创建文件比说明权限!
以下是一个简单的打开文件的程序:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h> int main(void)
{
int fd = -; //文件描述符声明
char filename[] = "text.txt";//打开的文件名
fd = open(filename,O_RDWR); //打开的方式为可读写方式
if(fd == -) //打开失败
{
printf("open file s% is failed!,fd:%d\n",filename,fde);
}
else //打开成功
{
printf("open file s% sucess!,fd:%d\n",filename,fd);
} return ;
}
linux文件的通用操作方法学习的更多相关文章
- 烂泥:linux文件同步之rsync学习(一)
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsy ...
- Linux文件与目录管理(学习笔记)
本笔记为<鸟哥linux私房菜>第六章学习笔记 一.目录与路径 相对路径与绝对路径 绝对路径:一定由根目录 / 写起 正确度比较好 相对路径:不是由 / 写起 ...
- Linux——文件处理命令简单学习总结
linux中一共有三种用户: 1: 所有者u(User) 2: 所属组g(group) 3: 其他用户o(other) linux中权限一共分三种: 1: r read 读权限 2: w write ...
- linux文件权限命令chmod学习
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- 【Linux学习】Linux文件系统4—Linux文件硬链接与软连接
Linux文件系统4-Linux文件硬链接与软连接 inode:索引节点 (连接文件)link 一.文件硬链接 1.Linux文件系统中,inode只相同的文件是硬链接文件 2.不同文件名,inode ...
- 2019/12/10学习内容摘要(Linux文件和目录管理)
1.绝对路径和相对路径 *绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql *相对路径:路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后 ...
- #Linux学习笔记# Linux文件的属性以及权限说明
1. Linux文件的属性 关于Linux文件的属性的说明和设置请参考鸟哥Linux私房菜:Linux 的文件权限与目录配置 2. 目录和文件的权限意义 在Linux系统中,每个文件都有三种身份的权限 ...
- linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传
一.和find相关的几个搜索命令,了解即可. 1.1 which [root@iZ25lzba47vZ ~]# which ls alias ls='ls --color=auto' /usr/bin ...
- Linux学习之十五-Linux文件特殊权限和附加权限
Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...
随机推荐
- Flask-在浏览器中直接显示文本文件中的内容
目录结构: project├── info.json├── run.py└── static └── readme.txt # 直接返回static目录下的文件内容 @app.route( ...
- uboot在s3c2440上的移植(2)
一.移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-b ...
- ionic项目的一些简单操作
1.首先保证开发环境没问题: 2.下载一个ionic项目:命令ionic start myApp tabs(myApp的项目的名称) 3.在运行项目之前,要先创建平台: ionic platform ...
- hdu 3652 打表
思路:直接打表 #include<cstdio> #include<vector> #include<cmath> #include<iostream> ...
- java的技术调用栈图示例
- 你如何理解HTML结构的语义化?
去掉或样式丢失的时候能让页面呈现清晰的结构: html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗:<strong>是加粗的,不要认为这是html的表现, ...
- document.execCommand()命令小计
2D-Position 允许通过拖曳移动绝对定位的对象. AbsolutePosition 设定元素的 position 属性为“absolute”(绝对). BackColor 设置或获取当前选中区 ...
- Part 12 DateTime functions in SQL Server
DateTime functions in SQL Server IsDate, Day, Month, Year and DateName DateTime functions in SQL Ser ...
- Sql server For XML Path 学习
最近看到太多人问这种问题 自己也不太了解 就在网上学习学习 自己测试一番 CREATE TABLE test0621 (id INT,NAME NVARCHAR(max)) INSERT tes ...
- K3Cloud单据转换获取源单数据
private DynamicObject sourceBill = null; object fid; //获取源单数据(选单) public overri ...