工作安排及总结

来源:互联网 发布:java md5算法 编辑:程序博客网 时间:2024/05/01 14:37
2014 08 18

1:记得随手关门;

2:Linux文件I/O编程

    Linux编程基础:man
    1.一般命令(shell命令)
    2.系统调用(open write等直接陷入内核的函数)
    3.子函数(C函数库等不直接陷入内核的函数)
    4.特殊文件(/dev/zero等linux系统中有特殊用途的文件)
    5.文件格式(linux系统的配置文件格式 host.conf)
    6.游戏
    7.宏和地方传统定义(本地配置)
    8.维护命令(tcpdump等用来观察linux系统运行情况的命令)

    目录也是文件
    进程被启动的目录成为工作目录print working directory
    起始目录也称home目录
    目录操作函数有 opendir readdir closedir
    文件描述符:当打开一个文件时,内核就会分配给你一个非负整数,通过这个整数便可读写文件。

    标准输入  文件描述为0  STDIN_FILENO
    标准输出  文件描述为1  STDOUT_FILENO(每一次在内核组织好,一次性送出来)
    标准错误输出  文件描述符为2 STDERR_FILENO(每一次都进内核,以最快速度反馈给用户)
    不带缓冲的I/O,直接去找系统调用,速度快。(open read write)
    带缓冲的I/O,在系统调用前采用一定的策略,速度慢,比不带缓冲的I/O安 全。
   (fopen fread fwrite)

    一般Linux函数出错时会返回一个负值。附加信息会放在errno中。
    <errno.h>中定义了errno变量以及附加信息的常量。
    errno只有在函数出错时才有意义,并且不可能为0
    可以通过strerror和perror打印出当前errno对应的文字描述信息。

    signal是通知进程发生某种事件的技术。
    每种信号都有系统默认处理方式,程序员也可以提供专门的函数处理程序感兴趣的信号。
    系统调用:操作系统提供给应用使用的接口,通过这些接口应用程序可以访问内核的服务。

    文件时间戳
    文件最后访问时间 ls -lu
    文件修改时间         ls -l

    文件I/O:open
    inode修改时间        ls -lc

    文件I/O:open
    
    文件I/O:creat

    文件I/O:close

    文件I/O:lseek

    文件I/O:read

    文件I/O:write


    Linux I/O实现
    Linux I/O原子操作:pread , pwrite原子读写操作。相当于先把文件偏移量定位到offset,然后在进行读写。这都是一步完成,不存在竞争问题。
    Linux I/O:dup/dup2用来复制一个已经存在的文件描述符
    
    Linux I/O:int fsync(int filedes) 把指定文件的数据和属性写入到磁盘。
    Linux I/O:fcntl可以改变已经打开的描述符。

    文件目录操作:access
    文件操作函数: truncate
0 0
原创粉丝点击