Linux系统之文件类型

(1) 普通文件(regular file,-)     ls -l              (在系统中文件颜色为:黑色)
     这是最常见的文件类型,这种文件包含了某种形式的数据。至 于这种数据是文本还是二进制数据对于内核而言并无区别。对普通文件内容的解释由处理该文 件的应用程序进行。
(2) 目录文件(directory file,d)ls -l               (在系统中文件颜色为:蓝色)
     这种文件包含了其他文件的名字以及指向与这些文件有关信 息的指针。对一个目录文件具有读许可权的任一进程都可以读该目录的内容,但只有内核可以 写目录文件。
3) 字符特殊文件(character special file)  ls -la      (在系统中文件颜色为:黄色)
     这种文件用于系统中某些类型的设备。
(4) 块特殊文件(block special file)
     这种文件典型地用于磁盘设备。系统中的所有设备或者 是字符特殊文件,或者是块特殊文件。一般在Linux系统中的/dev/fd路径下
批注:字符特殊文件和块特殊文件,统一为设备文件。
( 5 ) F I F O(named pipe,管道文件)     创建:mknod mypipe p     查看:ls -l mypipe    (在系统中文件颜色为:棕色)
     这种文件用于进程间的通信,有时也将其称为命名管道。
(6) 套接口(socket)               在“/tmp”临时目录下,经常会有套接字文件
     这种文件用于进程间的网络通信。套接口也可用于在一台宿主机上的 进程之间的非网络通信。

(7) 符号连接(symbolic link)          ln -sf minicom.log mlink          ls -l mlink      (在系统中文件颜色为:浅蓝色)
     这种文件指向另一个文件。 4 . 1 6 节将更多地述及符号连接。

文件类型信息包含在s t a t结构的s t _mode成员中。可以用表4 - 1中的宏确定文件类型。这些宏的参数都是s t a t结构中的s t _mode成员。

文件类型
S_ISREG()
普通文件
S_ISDIR()
目录文件
S_ISCHR()
字符特殊文件
S_ISBLK()
块特殊文件
S_ISFIFO()
管道或FIFO
S_ISLNK()
符号连接(POSIX.1 或 SVR4无此类型)
S_ISSOCK()
套接字(POSIX.1或SVR4无此类型)

早期的U N I X版本并不提供S_ISxxx宏,于是就需要将s t_m o d e与屏蔽字S_I F M T逻辑与,然
后与名为S_I F x x x的常数相比较。S V R 4和4 . 3 + B S D在文件< s y s / s t a t . h >中定义了此屏蔽字和相关
的常数。如若查看此文件,则可找到S_SIDIR宏定义为:
#define S_ISDIR (mode) (((mode) & S_IFMT) == S_IFDIR)









  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值