第八节linux文件系统

转载 2015年07月08日 17:16:38


  linux文件系统的实现采用分层的体系结构,包括用户接口层、文件系统本身以及设备驱动程序等。
  
  1.文件的基本操作
    创建打开文件可以使用open函数,open函数失败后会将错误码存入errno中,比较好的办法是使用perror函数,
     定义:
     void perror(const char *s);
     表头文件:
     #include<stdio.h>
     说明:
     perror()用来将上一个函数发生错误的原因输出到标准错误(stderr)。参数s所指的字符串会先打印出,
     后面再加上错误原因字符串。此错误原因依照全局变量errno的值来决定要输出的字符串。

  2.关闭文件
     close函数
     
  3.读写文件
     1.read函数
     2.write函数
     3.lseek函数
     文件描述符有一个指针,指向当前读取或写入文件的位置,lseek就是用来设定该指针的。
     
  4.文件的其他操作
     1.dup函数
     用来复制文件描述符
     调用成功后,返回值为新的文件描述符,它和参数oldfd指向同一个文件,共享文件的读写位置、访问权限等。
     
     2.symlink函数
     用来创建文件的符号链接,
     
     3.link函数
     用来创建硬链接
     link()所建立的硬连接无法跨越不同文件系统, 如果需要请改用symlink()。

     4.unlink函数
     unlink()会删除参数pathname指定的文件。如果该文件名为最后连接点,
     但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除。
     如果参数pathname为一符号连接, 则此连接会被删除。

2.文件的属性
  1.获取文件的属性
    
    1.stat函数
      
      获取文件属性,存储在stat结构体中
      
    2.fstat函数
      与stat函数类似,区别是获取属性时需要将文件打开。
      
    3.access函数
      只需要获取文件的访问权限,可以使用access函数
      
  2.设置文件的属性
    1.chmod函数
    更改文件的访问权限
    
    2.chown函数
    用来更改文件的属主和属组,即owner和group
    
    3.utime函数
    用来更改文件访问和修改时间
    
    4.fcntl函数
    用来更改正在使用的文件的属性
    
4.目录文件的操作
    1.创建目录文件
     mkdir函数用来创建一个目录文件
     
    2.打开、关闭目录文件
     opendir
     closedir
     
    3.读取目录文件
     readdir函数用来读取一个目录文件
     
    4.获取、更改当前工作目录
     getcwd用来取得当前的工作目录
     chdir用来更改当前的工作目录,类似cd命令
     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章推荐

RH124-第八节-系统服务控制

####系统服务的控制#### 1.systemd 系统初始化程序,系统开始的第一个进程,pid为1 2.systemctl 命令 systemctl list-units        ##列...

Spark修炼之道(基础篇)——Linux大数据开发基础:第八节:网络管理

本节主要内容 ifconfig命令网络配置其它常用网络管理命令 1. ifconfig命令 ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看...

linux 协议栈学习 第八节 链路层GRO的处理

linux 协议栈学习 第八节 链路层GRO的处理 链路层的接收匹配函数__napi_gro_receive(napi, skb): 该函数对报文进行匹配,并不合并报文。 匹配规则必...

C语言第八节-文件操作

static和extern修饰局部变量 static对局部变量的作用: void sum() {     //没有使用static修饰     //num在函数调用完之后,永远是0    ...

Spark修炼之道(基础篇)——Linux大数据开发基础:第八节:网络管理

## 本节主要内容 ## 1. ifconfig命令 2. 网络配置 3. 其它常用网络管理命令 ##1. ifconfig命令## ifconfig命令主要用于配置网络接口,如果不加任何参...

Java80商城系统第八节-前端下单、支付以及订单查看

转载自:http://www.java80.com/web/s/1_1.htm 代码下载地址:http://www.java80.com/web/s/1_1.htm 1、在购物车页面点击结...
  • noah100
  • noah100
  • 2016年09月13日 10:45
  • 700

JavaWeb 入门级项目实战 -- 文章发布系统 (第八节)

首先,最近很多人都来问我问题,我列举几个比较典型的说明一下。 1. 一定要通过注解和反射的方式生产建表语句吗,我能不能直接在mysql中建表? 当然可以,我只是为了说明一下注解和反射可以用在这个地...

第八节 面向对象——抽象,多态

  • 2016年05月29日 12:29
  • 591KB
  • 下载

Scala入门到精通——第八节 包和引入

本节主要内容 包的作用与定义 包的作用域与引入(import)的使用方法 包的访问控制 包对象 隐式引入 包的作用与定义 同java中的包、C++中的命名空间一样,Scala中的包主要用于...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第八节linux文件系统
举报原因:
原因补充:

(最多只允许输入30个字)