Unix文件类型

这篇博客详细介绍了UNIX系统中的各种文件类型,包括普通文件、目录文件、字符特殊文件、块特殊文件、FIFO(命名管道)、套接字和符号链接。特别提到了块特殊文件在FreeBSD中不再被支持,以及套接字用于进程间的网络通信。同时,文章还提及了POSIX.1标准中关于进程间通信对象作为文件的定义。
摘要由CSDN通过智能技术生成

UNIX系统的大多数文件是普通文件或目录,但是也有另外一些文件类型。文件类型包括如下几种。

(1)普通文件(regular file).这是最常用的文件类型,这种文件包含了某种形式的数据。至于这种数据是文本还是二进制数据,对于UNIX内核而言并无区别。对于普通文件内容的解释由处理文件的应用程序进行。
(一个值得注意的例外是二进制可执行文件。为了执行程序,内核必须理解其格式。所有二进制可执行文件都遵循一种标准化的格式,这种格式使内核能够确定程序文本和数据加载的位置,比如windows上面的EXE可执行文件放到UNIX下就不能执行,因为UNIX不知道EXE程序文本和数据加载的位置。)

(2)目录文件(directory file)。这种文件包含了其他文件的命字以及指向与这些文件有关信息的指针。对一个目录文件具有读权限的任一进程都可以读该目录的内容,但只有内核可以直接写目录文件。进程必须使用函数才能更改目录。

(3)块特殊文件(block special file)。这种类型的文件提供对设备(如磁盘)带缓冲的访问,每次访问可以固定长度为单位进行。
**注意:**FreeBSD不再支持块特殊文件。对设备的所有访问需要通过字符串特殊文件进行。

(4)字符特殊文件(character special file)。这种类型的文件提供对设备不带缓冲的访问,每次访问长度可变。系统中所有设备要么是字符特殊文件,要么是块特殊文件。

(5)FIFO。这种类型的文件用于进程间通信,有时也称为命名管道(named pipe)

(6)套接字(socket)。这种类型的文件用于进程间的网络通信。套接字也可用于在一台宿主机上进程之间的非网络通信。

(7)符合链接(symbolic link).这种类型的文件指向另一个文件。

文件类型信息包含在stat结构的st_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值