• APUE学习(一)


    APUE       Adavance Programming in the UNIX Environment

    初看了下中文版,感觉内容少了些,且翻译的也不敢恭维。。。还是老老实实看英文版吧。 

    头两章是比较初略的介绍 。其中第一章是对全文内容的一个略观。而第二章主要介绍几种标准及其联系与区别。因此打算从第三章开始写。

    文件相关的操作大部分可由5个函数描述:open,read,write,lseek,close (现在比较热的分布式文件系统用的最多也是这几个) 

           int open(const char *pathname, int oflag, ...)     这里oflag分两类,一种是必须要的,如O_RDONLY 、O_WRONLY、O_RDWR  (fcntl.h)。另一种是可选的O_APPEND、O_CREAT、O_EXCL(和O_CREAT一同使用,测试文件是否存在用)、O_TRUNC(O_WRONLY、O_RDWR才可起作用)、O_NOCTTY(不把终端设备作为控制终端)、O_NONBLOCK(对FIFO、特殊块文件、特殊字符文件),O_SYNC(O_FSYNC), 另外几个不常见的O_DSYNC、O_RSYNC

    open操作返回的是最小的未用的文件描述符。

            int creat(const char *pathname, mode_t mode);         等价于open (pathname, O_WRONLY | O_CREAT | O_TRUNC, mode); 现在用的较少

        

            当一进程结束,所有打开的文件会自动被内核关闭        int close(int filedes);


            off_t lseek(int filedes, off_t offset, int whence);           (unistd.h) 当文件打开时默认偏移值是0

            whence有三种选择SEEK_SET、SEEK_CUR、SEEK_END,后两种情况下offset可为负值。

            FIFO、SOCKET、PIPE文件不可LSEEK                          任何文件如果还没被写就被读回值为1(lseek可以使文件产生一个空洞)

            _FILE_OFFSET_BITS可避免使用getconf

  • 相关阅读:
    lodash kebabCase
    lodash escapeRegExp 转义正则特殊字符
    lodash capitalize 首字母大写
    lodash camelCase 驼峰写法
    lodash pick
    lodash random
    lodash round
    Linux 目录结构
    每天一个linux命令(6/18):lsof命令
    Linux 内核编译步骤及配置详解
  • 原文地址:https://www.cnblogs.com/westwind/p/1812095.html
Copyright © 2020-2023  润新知