美文网首页
Linux文件系统

Linux文件系统

作者: jiangxueqiao | 来源:发表于2016-11-15 11:48 被阅读0次

    概念

    在Linux中几乎一切都可以看作文件。that's all.

    文件描述符

    所有被打开的文件都由文件描述符来引用,文件描述符是一个非负整数。类似windows的HANDLE。
    系统启动时,会有3个已经打开的文件描述符:
    0: 标准输入
    1: 标准输出
    2: 标准错误
    在<unistd.h>头文件中对这3个常数定义如下:

    #define STDIN_FILENO  0
    #define STDOUT_FILENO 1
    #define STDERR_FILENO 2
    

    系统函数

    open

    功能

    打开或创建文件

    声明

    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    int open(const char* pathname, int oflag, ...);
    

    返回

    若成功为文件描述符,出错为-1。

    参数

    pathname:要打开或创建的文件名
    oflag: 一个或多个常数进行或运行(这些常数定义在<fcntl.h>中):

    • O_RDONLY 只读打开
    • O_WRONLY 只写打开
    • O_RDWR 读写打开
      上面3个常数只能选择一个。
    • O_APPEND 追加写
    • O_CREATE 文件不存在则创建。使用该选项时要指定第三个参数Mode,说明文件的存取许可权位
    • O_EXCL 如果同时指定O_CREATE,而文件已经存在,则出错。
    • O_TRUNC 如果此文件存在,而且为只读或只写打开,则将文件长度截断为0
    • O_NOCTTY
    • O_NONBLOCK
    • O_SYNC

    create

    close

    read

    write

    lseek

    库函数

    相关文章

      网友评论

          本文标题:Linux文件系统

          本文链接:https://www.haomeiwen.com/subject/fmgkpttx.html