|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 j, U8 `3 u5 {! T: U: N; }0 g1 c
Linux文件系统及属性
) r2 N! v5 m) D& K% p
2 q7 o; l2 V+ V' {$ J7 P" _: L+ u0 N8 Q
& f8 \( G0 `5 {- J) U8 {# s! w1 U, j4 K4 t
一、Linux系统下文件类型及属性
4 _$ i( }+ t5 S3 g0 k5 F# |9 ?: m* I j* C" y) ], d0 s
9 T F) T/ \) K1 }$ Z9 Z
1、inode结构. @+ x1 @1 K% s/ H
! c; l/ u# T$ \- M& A& n( O: D% i! i
, D/ B& f) r( R- /*索引节点对象由inode结构体表示,定义文件在linux/fs.h中*/
- struct inode
- {
- struct hlist_node i_hash; /* 哈希表 */
- struct list_head i_list; /* 索引节点链表 */
- struct list_head i_dentry; /* 目录项链表 */
- unsigned long i_ino; /* 节点号 */
- atomic_t i_count; /* 引用记数 */
- umode_t i_mode; /* 访问权限控制 */
- unsigned int i_nlink; /* 硬链接数 */
- uid_t i_uid; /* 使用者id */
- gid_t i_gid; /* 使用者id组 */
- kdev_t i_rdev; /* 实设备标识符 */
- loff_t i_size; /* 以字节为单位的文件大小 */
- struct timespec i_atime; /* 最后访问时间 */
- struct timespec i_mtime; /* 最后修改(modify)时间 */
- struct timespec i_ctime; /* 最后改变(change)时间 */
- unsigned int i_blkbits; /* 以位为单位的块大小 */
- unsigned long i_blksize; /* 以字节为单位的块大小 */
- unsigned long i_version; /* 版本号 */
- unsigned long i_blocks; /* 文件的块数 */
- unsigned short i_bytes; /* 使用的字节数 */
- spinlock_t i_lock; /* 自旋锁 */
- struct rw_semaphore i_alloc_sem; /* 索引节点信号量 */
- struct inode_operations *i_op; /* 索引节点操作表 */
- struct file_operations *i_fop; /* 默认的索引节点操作 */
- struct super_block *i_sb; /* 相关的超级块 */
- struct file_lock *i_flock; /* 文件锁链表 */
- struct address_space *i_mapping; /* 相关的地址映射 */
- struct address_space i_data; /* 设备地址映射 */
- struct dquot *i_dquot[MAXQUOTAS]; /* 节点的磁盘限额 */
- struct list_head i_devices; /* 块设备链表 */
- struct pipe_inode_info *i_pipe; /* 管道信息 */
- struct block_device *i_bdev; /* 块设备驱动 */
- unsigned long i_dnotify_mask; /* 目录通知掩码 */
- struct dnotify_struct *i_dnotify; /* 目录通知 */
- unsigned long i_state; /* 状态标志 */
- unsigned long dirtied_when; /* 首次修改时间 */
- unsigned int i_flags; /* 文件系统标志 */
- unsigned char i_sock; /* 可能是个套接字吧 */
- atomic_t i_writecount; /* 写者记数 */
- void *i_security; /* 安全模块 */
- __u32 i_generation; /* 索引节点版本号 */
- union
- {
- void *generic_ip; /* 文件特殊信息 */
- } u;
- };<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span> N& J, U2 v8 J% d Y
! [$ B3 r6 r6 v
- w* T7 D$ R8 w U3 _1 p
2 q" B2 B7 D' ?4 J7 D# a: X3 k4 a, d7 n2、Linux文件类型(/usr/include/bits/stat.h)
, T, ?) s% q; b3 o2 u- \3 e& c$ \1 a) y. R. B, j9 D/ z
/ ?3 g! k B: k6 i! _% r% E
$ E( v& | Z: e% t1 l
( k' h9 A4 U. n5 u' _0 F& Q
# q1 Z; ^" L' m& p! ], e1 s2 X |
|