[系统编程]文件与目录
文件系统##
一个磁盘可以分成多个分区,不同的分区可以有不同的文件系统

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
![]()
-
符号链接
![]()




浙公网安备 33010602011771号