• 介绍:

像 FAT 有文件属性(文档,系统文件,隐藏)一样,GNU/Linux文件系统也有它自己的文件属性,不过它们有些区别。与Windows系统不一样的是,在Linux系统当中,每一个文件都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢? 其实,最大的用途是在『数据安全性』上面的。


  • 命令:

既然要了解Linux的文件属性,那么有个重要的也是常用的命令就必须说一下喽!那一个?就是『 ls 』这一个查看文件的命令喽!

在你以root的身份登入Linux之后,输入『ls -lhi 』看看,会看到以下几个内容:

Linux 文件属性详细介绍_第1张图片

  • 说明:

Linux 文件或目录的属性主要包括:

Linux 文件属性详细介绍_第2张图片

第1列:inode索引节点;

第2列:文件类型及权限;

第3列:硬链接个数;

第4列:属主(文件所有者);

第5列:属组(所归属的组);

第6列:文件或目录的大小;

第7、8、9列:最后访问和修改的时间;

第10列:文件或目录的名称。


  • 案例:

我们以a.log为例

786454 -rw-r--r--  1 root root 185K Nov 10 14:57 a.log

 

inode索引节点值:786454

文件类型及权限:“-”表示这是一个普通文件;

rw-r--r--表示文件属主可读(r)、可写(w)、不可执行(-),文件所归属的用户组可读(r),不可(-),不可执行(-),其它用户可读(r),不可写(-),不可执行(-);

Linux 文件属性详细介绍_第3张图片

硬链接数:a.log 没有硬链接;(因为数值是1,就是他本身)

属主(文件所有者):就是说a.log归哪于哪个用户 ,它归于root,也就是第一个root;

属组(所归属的组):就是说a.log归属于哪个用户组,在这里它属于root用户组,也就是第二个root;

文件大小:a.log 的大小是185k;

最后访问和修改的时间:11月10日 14点57分


当然文档的属性不仅仅包括这些,这些是我们最常用的一些属性。


关于inode和block:

 

inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

 

做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。虽然不太恰当,但还是比较形象。

 

当我们用ls 查看某个目录或文件时,如果加上-i 参数,就可以看到inode节点了;比如我们前面所说的例子:

[root@ilinux ~]# ls -li a.log 
786454 -rw-r--r-- 1 root root 189028Nov 10 14:57 a.log

a.log的inode值是 786454; 查看一个文件或目录的inode,要通过ls 命令的 -i参数。