linux之文件操作
1. 文件操作思维导图

2. linux系统目录结构及简单说明
linux目录图:

- ftp --- 用户所有服务
- httpd
- samba
- user1
- user2
- bin --- 系统启动时需要的执行文件(二进制)
- sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
- proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息
- 1 --- 进程编号
- usr --- 用户目录,存放用户级的文件
- bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
- sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序
- include --- 存放C/C++头文件的目录
- lib --- 固定的程序数据
- local --- 本地安装软件保存位置
- man --- 手工生成的目录
- info --- 信息文档
- doc --- 不同包文档信息
- tmp
- X11R6 --- 该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
- X386 --- 功能同X11R6,X11 发行版5 的系统文件
- boot --- 引导加载器所需文件,系统所需图片保存于此
- lib --- 根文件系统目录下程序和核心模块的公共库
- modules --- 可加载模块,系统崩溃后重启所需模块
- dev --- 设备文件目录
- etc --- 配置文件
- skel --- home目录建立,该目录初始化
- sysconfig --- 网络,时间,键盘等配置目录
- var
- file
- lib --- 该目录下的文件在系统运行时,会改变
- local --- 安装在/usr/local的程序数据,变化的
- lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
- log --- 记录日志
- run --- 系统运行合法信息
- spool --- 打印机、邮件、代理服务器等假脱机目录
- tmp
- catman --- 缓存目录
- mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
- tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp
- lost+found --- 在文件系统修复时恢复的文件
3. 其它补充说明
1. open函数oflags参数列表
(1) O_RDONLY
(2) O_WRONLY
(3) O_RDWR
(4) O_APPEND // 追加
(5) O_TRUNC // 把文件长度设为0,丢弃已有的内容
(6) O_CREAT
(7) O_EXCL // 与O_CREAT一起使用,确保调用者创建文件
// 主要防止两个程序同时创建同一个文件,如果文件已存在,调用失败
2. open函数的mode参数
// 当使用O_CREATE标志的open调用来创建文件时,必须使用有3个参数格式的open调用
S_IRUSE S_IWUSE S_IXUSE
S_IRGRP S_IWGRP S_IXGRP
S_IROTH S_IWOTH S_IXOTH
open("myfile", O_CREAT, S_IRUSE|S_IWUSE)
3.TIMEFORMAT
linux使用TIMEFORMAT变量来重置默认的POSIX时间输出格式,POSIX时间格式不包括CPU使用率。使用time工具对这个程序的运行时间进行测算
4. off_t lseek(int filds, off_t offset, int whence)
whence取值如下:
SEEK_SET // 绝对位置
SEEK_CUR // 相对于当前位置的相对位置
SEEK_END // 相对于文件尾的相对位置
linux之文件操作的更多相关文章
- qt ui程序使用Linux的文件操作open、close (转)
原文地址:qt ui程序使用Linux的文件操作open.close 作者:kjpioo 提出这个问题是因为在qt的QWidget类型的对象中,close()函数会和QWidget::close()冲 ...
- Unix/Linux常用文件操作
Unix/Linux常用文件操作 秘籍:man命令是Unix/Linux中最常用的命令,因为命令行命令过多,我相信每个人都会经常忘记某些命令的用法,man命令就可以显示一个命令的所有选项,参数和说明, ...
- Linux C 文件操作,系统调用 -- open()、read() 和 标准I/O库 -- fopen()、fread()
函数汇总: open().write().read().close() fopen().fwrite().fread().fclose() 一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件 ...
- Windows与Linux下文件操作监控的实现
一.需求分析: 随着渲染业务的不断进行,数据传输渐渐成为影响业务时间最大的因素.究其原因就是因为数据传输耗费较长的时间.于是,依托于渲染业务的网盘开发逐渐成为迫切需要解决的需求.该网盘的实现和当前市场 ...
- linux文件管理 文件操作
文件操作 pwd 命令 该命令的英文解释为print working direction(打印工作目录).输入pwd命令,Linux输出当前目录. cd 命令 用来改变所在目录 cd / 转到根目录 ...
- Linux C 文件操作函数(~上善止水~)
翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...
- 【Linux】文件操作系统调用
一. 文件描述符 在Linux下使用文件描述符来表示设备文件和普通文件.文件描述符是一个整型的数据,所有对文件的操作都通过文件描述符实现.文件描述符的范围是0~OPEN_MAX,系统中有3个已经分配的 ...
- Linux&c 文件操作,线程进程控制,网络编程,简单知识点梳理
一:文件操作 在linux下,一切皆文件,目录是文件,称为目录文件,内容是该目录的目录项(但是目录只有内核可以编辑,超级用户也不可以编辑),设备也是设备文件,在/dev存放的就是一些设备文件,linu ...
- Linux&c 文件操作,线程进程控制,网络编程,简单知识点梳理
一:文件操作 在linux下,一切皆文件,目录是文件,称为目录文件,内容是该目录的目录项(但是目录只有内核可以编辑,超级用户也不可以编辑),设备也是设备文件,在/dev存放的就是一些设备文件,linu ...
- linux下文件操作之cp和mv
Linux CP文件夹略过目录的解决 root@QGY:/home/qgy# cp image/newimage_raw /mnt/4T/qin/cp: 略过目录'image/newimage_raw ...
随机推荐
- Zabbix Windos mysql 监控脚本
说明:判断mysql主进程是否关闭,如果关闭则返回0 创建文件:MySQL-ping.vbs Set objFS = CreateObject("Scripting.FileSystemOb ...
- 深入理解PHP之:Nginx 与 FPM 的工作机制
网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理 ...
- 解决You have new mail in /var/spool/mail/root提示
终端远程登陆后经常提示You have new mail in /var/spool/mail/root 这个提示是LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息发送的ro ...
- 配置nginx,Tomcat日志记录请求耗时
由于公司的业务比较特殊,对速度比较在意,客户最近反应我们的平台时间比较久,处理一个请求十秒左右才返回,领导要求找出原因,我想让nginx日志记录请求处理用了多长时间,后端处理用了多长时间,总共用了多长 ...
- Spring Boot 快速入门(Eclipse)
步骤一:关于版本(前期工作) JDK 1.8 maven 3.5 配置环境变量: 步骤二:创建项目 首先新建个maven项目(SpringBoot 应用,本质上是一个Java 程序,其采用的风格是 m ...
- java基础(6)--数组和方法
数组 1. 什么是数组? 数组是相同数据类型的元素组成的集合.这些元素按线性顺序排列.所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素:除最后一个元素外,每一个元素都有唯一的后继元素.(“ ...
- springMVC @ModelAttribute学习
springMVC @ModelAttribute学习 博客分类: Spring @ModelAttribute 绑定请求参数到命令对象 @ModelAttribute一个具有如下三个作用: ①绑 ...
- 一位交易巨匠的十年心得:如何使用MACD判断后期趋势,把握买卖点
高手与散户的区别在哪里? 高手与散户的区别在哪里,从宏观上讲:一流高手用境界,二流高手用趋势,三流高手用技术,普通散户用迷糊.最高境界的人在讲心境如何,什么也不看,只用感觉就能炒好股赚钱.我说一流高手 ...
- JumpGame,JumpGame2
JumpGame:给定一个非负整数数组,开始在第一个位置,每个位置上的数字代表最大可以跳跃的步数,判断能不能跳到最后一个位置. 例如:A=[2,3,1,1,4],在位置0处,可以跳一步到位置1,位置1 ...
- java 枚举类型 enum
在java SE5中添加了枚举类型,即enum关键字.在这之前,当你需要创建一个整形常量集时,但是这些枚举值并不会必然的将其自身的取值限制在这个常量集的范围之内,因此这样做的显得不安全,也不方便使用. ...