Linux系统编程——文件

Linux系统编程——文件

  • Linux下一切皆文件
    • Linux文件分类
    • Linux文件属性
  • Linux文件描述符
  • 系统调用
    • creat函数
    • open函数
    • read函数

Linux下一切皆文件

操作系统的五大功能之一就是对文件管理
在现代操作系统中,要利用大量的程序和数据,由于内存容量有限,而且不能长期保存,于是把这些数据以文件的形式放在外存中,需要的时候再将它调入内存,从此就有了文件系统。负责管理在外存上的文件,并把存取和共享、保护等手段提供给用户。

Linux文件分类

  1. 普通文件-。计算机用户和操作系统用于存放数据、程序信息的文件,一般都长期地存放在外存储器中,普通文件一般又分为文本文件和二进制文件。
  2. 目录文件d
  3. 设备文件。Linux把所有的外设都当做文件来看待,每一种I/O设备对应一个设备文件并存放在dev目录中。
  4. 管道文件p。主要用于在进程间传递数据,管道是进程间出啊基地数据的“媒介”。某进程数据写入管道的一端,另一个进程从管道另一端读取数据。管道文件又被称作为FIFO文件。
  5. 链接文件l。又称符号链接文件,链接文件不是通过文件名实现文件共享的,而是通过链接文件中包含的指向文件的指针来实现对文件的访问。使用链接文件可以访问普通文件、目录文件和其他文件。

Linux文件属性

文件拥有者可以把文件的访问属性设成3种不同访问权限:可读r、可写w、可执行 x
文件又有三个不同级别:文件拥有者u、所属的用户组g、系统里其他用户o

Linux文件描述符

当某个程序打开文件时,操作系统返回相应的文件描述符。文件描述符是一个正整数,通常一个进程启动时,都会打开三个文件——标准输入0、标准输出1、标准错误2

系统调用 库函数
write read open close fwrite fread fopen fclose

系统调用

系统调用是指,操作系统提供个用户程序调用的一组“特殊”接口,用户程序可以通过接口来获得操作系统内核提供的服务。Linux系统中,系统调用函数定义在glibc中。
Linux的系统调用按照功能逻辑大致分为进程控制、进程间通信、文件系统控制、系统控制、存储管理、网络管理、Socket控制、用户管理等几类。

若要访问文件,使用系统调用的时候要使用文件描述符调用函数时使用文件流

creat函数

函数定义: int creat(const char pathname, mode_tmode)*
函数说明:pathname指向欲建立的文件路径字符串

open函数

函数定义: *int open(const char pathname, int flags, mode_t mode);

read函数

函数定义: *ssize_t read(int fd, void buf, size_t count);

你可能感兴趣的:(心得总结)