模块 Unix.LargeFile

module LargeFile: sig .. end

对大文件的操作。此子模块提供了函数 Unix.LargeFile.lseek(用于定位文件描述符)、Unix.LargeFile.truncateUnix.LargeFile.ftruncate(用于更改文件大小)以及 Unix.LargeFile.statUnix.LargeFile.lstatUnix.LargeFile.fstat(用于获取文件信息)的 64 位变体。这些替代函数使用 64 位整数(类型 int64)而不是普通整数(类型 int)来表示位置和大小,从而允许对大小大于 max_int 的文件进行操作。


val lseek : Unix.file_descr -> int64 -> Unix.seek_command -> int64

参见 lseek

val truncate : string -> int64 -> unit

参见 truncate

val ftruncate : Unix.file_descr -> int64 -> unit

参见 ftruncate

type stats = {
   st_dev : int; (*

设备编号

*)
   st_ino : int; (*

索引节点编号

*)
   st_kind : Unix.file_kind; (*

文件类型

*)
   st_perm : Unix.file_perm; (*

访问权限

*)
   st_nlink : int; (*

链接数

*)
   st_uid : int; (*

所有者用户 ID

*)
   st_gid : int; (*

文件组的组 ID

*)
   st_rdev : int; (*

设备 ID(如果是特殊文件)

*)
   st_size : int64; (*

大小(以字节为单位)

*)
   st_atime : float; (*

最后访问时间

*)
   st_mtime : float; (*

最后修改时间

*)
   st_ctime : float; (*

最后状态更改时间

*)
}
val stat : string -> stats
val lstat : string -> stats
val fstat : Unix.file_descr -> stats