文件系统基本概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/88762594

一 文件的属性信息

查看/root下文件属性

[root@localhost ~]# ll
total 20
-rw-------.  1 root root  1579 Mar  4  2018 anaconda-ks.cfg
drwxr-xr-x. 16 root root   174 Mar 10 08:07 C++
-rw-r--r--.  1 root root 15080 Oct  3  2017 epel-release-latest-7.noarch.rpm
[root@localhost ~]# ls -l
total 20
-rw-------.  1 root root  1579 Mar  4  2018 anaconda-ks.cfg
drwxr-xr-x. 16 root root   174 Mar 10 08:07 C++
-rw-r--r--.  1 root root 15080 Oct  3  2017 epel-release-latest-7.noarch.rpm

二 i节点基本概念

i节点包含文件的元数据,具体包括以下内容:

1 i节点号

每个inode都有一个号码,操作系统用inode号码来识别不同的文件。

Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。

表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

使用ls -i命令,可以看到文件名对应的inode号码。

[root@localhost ~]# ls -i
100663363 anaconda-ks.cfg   67170753 C++  100663382 epel-release-latest-7.noarch.rpm

2 文件类型

字符“-”表示普通文件,字符“d”表示目录等等。

3 权限

权限分为可读权限、可写权限、可执行权限等,系统使用一组数字来表示某个文件或目录的权限。

4 文件的字节数

5 文件的拥有者

6 文件的所属组

7 文件的时间戳

7.1 ctime:表示文件的i节点上一次变动的时间。

7.2 mtime:表示文件内容上一次变动时间。

7.3 atime:表示文件上一次访问的时间。

8 硬链接数

9 存在文件纯数据的“块”的位置,即真正存放文件数据的数据块指针。

10 实战

stat命令查看某个文件的i节点

[root@localhost ~]# stat anaconda-ks.cfg
  File: ‘anaconda-ks.cfg’
  Size: 1579          Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 100663363   Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
Access: 2018-03-04 06:29:19.354992275 +0800
Modify: 2018-03-04 06:29:19.356992272 +0800
Change: 2018-03-04 06:29:19.356992272 +0800
Birth: -

查看i节点的使用状态

每个i节点的大小一般是128字节或256字节。i节点的总数在格式化时候就会给定,一般每1KB或2KB就设置一个i节点。

[root@localhost ~]# df -i
Filesystem            Inodes IUsed    IFree IUse% Mounted on
/dev/mapper/cl-root 20826112 80777 20745335    1% /
devtmpfs              124308   373   123935    1% /dev
tmpfs                 127023     1   127022    1% /dev/shm
tmpfs                 127023   436   126587    1% /run
tmpfs                 127023    16   127007    1% /sys/fs/cgroup
/dev/sda1             524288   339   523949    1% /boot
/dev/mapper/cl-home 10168320     7 10168313    1% /home
tmpfs                 127023     1   127022    1% /run/user/0

/dev/mapper/cl-root的i节点数为20826112,已用 80777,还剩20745335,我们在/root下新建一个文件,然后再观察这一行的变化。

[root@localhost ~]# touch test
[root@localhost ~]# df -i
Filesystem            Inodes IUsed    IFree IUse% Mounted on
/dev/mapper/cl-root 20826112 80778 20745334    1% /
devtmpfs              124308   373   123935    1% /dev
tmpfs                 127023     1   127022    1% /dev/shm
tmpfs                 127023   436   126587    1% /run
tmpfs                 127023    16   127007    1% /sys/fs/cgroup
/dev/sda1             524288   339   523949    1% /boot
/dev/mapper/cl-home 10168320     7 10168313    1% /home
tmpfs                 127023     1   127022    1% /run/user/0

/dev/mapper/cl-root的可用i节点减1,变为20745334。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/88762594