[系统编程]文件与目录

文件系统##

一个磁盘可以分成多个分区,不同的分区可以有不同的文件系统


inode##

  • 文件的数据存放在磁盘的某个分区,因此我们同样需要有一个用于记录文件元信息的地方,这个就是inode区,每个文件的元信息都存放在inode的数据结构中
  • 用stat命令可以查看一个文件的元信息
  • linux下用函数int stat(const char *file_name, struct stat *buf);可以获取文件的元信息
struct stat:#####

struct stat {
dev_t st_dev; /* 文件系统的设备编号 /
ino_t st_ino; /
inode number /
mode_t st_mode; /
设置用户ID,设置组ID,权限访问位, 文件类型 /
nlink_t st_nlink; /
连到该文件的硬连接数目,刚建立的文件值为1 /
uid_t st_uid; /
用户ID /
gid_t st_gid; /
组ID /
dev_t st_rdev; /
实际设备号 /
off_t st_size; /
文件字节数(文件大小) /
unsigned long st_blksize; /
块大小(文件系统的I/O 缓冲区大小) /
unsigned long st_blocks; /
块数 /
time_t st_atime; /
最后一次访问时间 /
time_t st_mtime; /
文件的数据最后修改的时间 /
time_t st_ctime; /
inode最后更改时间 */
};


硬链接与符号链接##

  • 硬链接
    不同的目录项拥有相同的inode number,指向同一个inode

  • 符号链接

posted @ 2016-06-26 02:12  mark.zhuang  阅读(152)  评论(0)    收藏  举报