《unix环境高级编程》学习笔记-1
4.12 文件长度
- 文件的长度由stat结构的st_size表示,以字节为单位。
- 符号链接,文件长度为文件名称中的实际字节数。
- 文件空洞由偏移量超过文件尾端,并写入数据造成的。
- ls -l 显示文件字节数。
- du -s 显示文件占用实际磁盘总量字节块数n(一块512字节等)。
- n*512 可能大于ls -l的值,因文件系统使用若干块以存放指向实际数据块的各个指针。
4.13 文件截断
#include <unistd.h>
int truncate(const char *pathname, off_t length);
int ftruncate(int fd, off_t length);
成功返回0,出错返回-1
这两个函数将一个文件长度截断为length。
- 如果文件长度 > length,超出部分不能再访问。
- 如果文件长度 < length,超过部分读作0(可能造成空洞)。