zoukankan      html  css  js  c++  java
  • UNIX中的文件类型

    Unix的文件类型信息包含在stat结构的st_mode成员中可以用宏确定文件类型:

    1. 普通文件(S_ISREG()):包含某种形式数据的常用文件类型
    2. 目录文件(S_ISDIR()):这种文件包含其他文件的名字以及指向与这些文件有关信息的指针。只有内核可以写目录文件,对其有读权限的进程可以读文件
    3. 块特殊文件(S_ISBLK()):提供对设备带缓冲的访问,每次访问以固定长度为单位进行。(块设备在内核中的表现类型?)
    4. 字符特殊文件(S_ISCHR()):提供对设备不带缓冲的方位,访问长度可变(字符设备?)
    5. FIFO(S_ISFIFO()):这种文件用于进程间通信,也称为管道(所以管道在内核里也看做一个文件来操作)
    6. 套接字(S_ISOCK()):这种文件用于进程间网络通信
    7. 符号链接(S_ISLNK):这种文件类型,指向另一个文件。

    可以用文件名后的宏来确定文件类型,宏调用举例:

    #include<sys/stat.h>
    
    lstat(pathname, &buf);
    
    S_ISREG(buf.st_mode);  //返回bool类型
    

      

    stat结构包含于文件有关的信息结构,stat结构的实际定义可能随着实现有所不同,但是基本形式是:

    struct stat{
       mode_t st_mode; //文件类型和模式
       ino_t st_ino;        //i节点号  
       ……
    };

     from:《UNIX环境高级编程》第四章

  • 相关阅读:
    SQL盲注工具BBQSQL
    嗅探X-Windows服务按键工具xspy
    多协议底层攻击工具Yesinia
    LLMNR欺骗工具Responder
    Arduino可穿戴教程保存源文件与打开已经存在的源文件
    GRDB使用SQLite的WAL模式
    CString之GetBuffer与ReleaseBuffer
    VC++ 模块与资源分离
    KV6.60 SP1
    Html之head部分详解
  • 原文地址:https://www.cnblogs.com/Chilly2015/p/5808392.html
Copyright © 2011-2022 走看看