-
鸿鹄论坛华为认证h35-211-hcnp-access network题库的文件大小
资源介绍
4.12 文件长度
s t a t结构的成员 s t _ s i z e包含了以字节为单位的该文件的长度。此字段只对普通文件、目录
文件和符号连接有意义。
S V R 4对管道也定义了文件长度,它表示可从该管道中读到的字节数,我们将
在1 4 . 2中讨论管道。
对于普通文件,其文件长度可以是0,在读这种文件时,将得到文件结束指示。
对于目录,文件长度通常是一个数,例如 1 6或5 1 2的整倍数,我们将在 4 . 2 1节中说明读目
录操作。
对于符号连接,文件长度是在文件名中的实际字节数。例如,
lrwxrwxrwx 1 root 7 Sep 25 07:14 lib -> usr/lib
其中,文件长度 7就是路径名u s r / l i b的长度 (注意,因为符号连接文件长度总是由 s t _ s i z e指
示,所以符号连接并不包含通常C语言用作名字结尾的n u l l字符)。
S V R 4和4 . 3 + B S D也提供字段s t _ b l k s i z e和s t _ b l o c k s。第一个是对文件 I / O较好的块长度,第
二个是所分配的实际5 1 2字节块块数。回忆一下3 . 9节,其中提到了当我们将 s t _ b l k s i z e用于读操
作时,读一个文件所需的最少时间量。为了效率的缘故,标准 I / O库(我们将在第5章中说明 )也
试图一次读、写s t _ b l k s i z e字节。
要知道,不同的U N I X版本其 s t - b l o c k s所用的单位可能不是 5 1 2字节块。使用
此值并不是可移植的。
文件中的空洞
在3 . 6节中,我们提及普通文件可以包含空洞。在程序 3 - 2中例示了这一点。空洞是由超过
文件结尾端的位移量设置,并写了某些数据后造成的。作为一个例子,考虑下列情况:
$ ls -1 core
-rw-r--r-- 1 stevens 8483248 Nov 18 12:18 core
$ du -s core
272 core
文件c o r e的长度超过8 M字节,而d u命令则报告该文件所使用的磁盘空间总量是 2 7 2个5 1 2字节
块(139 264字节) (在很多伯克利类的系统上,d u命令报告1 0 2 4字节块块数,S V R 4则报告5 1 2字
第 4章 文件和目录 6 7
下载
- 上一篇: 易信SL-7200读频/写频
- 下一篇: 易信 3v.1.0