第四章:文件长度

文件长度可通过  stat 那一系列的函数来获取

长度保存在  struct  stat 结构的   st_size 字段中

对于符号链接文件   , 文件长度就是其指向的文件的相对路径长度

  如 lib --> user/lib

  文件长度就是 7

文件中的空洞

  可以通过lseek函数形成 。 标准中  空洞 不要求占用存储空间
 , 读文件时如若读到空洞部分,空洞部分的值为 0 .

文件的截短

  文件的截短可用以下函数

  truncate()  函数和  ftruncate()函数

  这俩函数都可以将文件截短为长度为  length 的文件

  打开文件时使用 O_TRUNC  标志可使文件被截短为 0

文件系统

  硬链接  : 两个目录想指向同一个  i  节点 。 当一个文件有多个硬链接的时候,文件被删除并不表示文件所占用的空间被释放

  软链接  :也称符号链接,文件的实际内容是 其指向的实际的文件的 相对路径

link()  unlink()  remove()  和  rename()函数

  link() 函数是用于创建 现有文件的 一个硬链接

  

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<unistd.h>
 4 
 5 int
 6 main(int argc, char** argv)
 7 {
 8         int             fd;
 9         link(__FILE__,"new"__FILE__);
10         return  0;
11 }

unlink()  函数的功能是删除一个文件 (解除一个硬链接)

remove()函数的功能是解除一个文件或目录的链接 , 删除目录的时候同 rmdir() , 删除文件的时候同 unlink()

rename()  

  当指定的新名字文件存在时

  1   如果要更名的是一个文件,

原文地址:https://www.cnblogs.com/wowk/p/3109468.html