写点什么

Linux 之文件属性详解

用户头像
入门小站
关注
发布于: 2 小时前

Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下

使用ls -lih列出上述信息

> ls -lih12939236190 drwxr-xr-x  3 mac  staff    96B  2 19 21:47 doc
复制代码


  • 第一列:inode

  • 第二列:文件种类和权限

  • 第三列:硬链接个数

  • 第四列:属主

  • 第五列:所归属的组

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

  • 第七列:最后修改时间;

  • 第八列:文件名或目录名


inode

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

硬链接

在 Linux 的文件系统中,保存在磁盘分区中的文件,不管是什么类型,系统都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index),它是该文件或者目录在 linux 文件系统中的唯一标识。有了这个编号值,就可以查到该文件的详细内容。


同时,Linux 系统还规定,可以允许多个文件名同时指向同一个索引节点(Inode),这就是硬链接。这样设计有一个好处就是,只要文件的索引节点还存在一个以上的链接,删除其中一个链接并不影响索引节点本身和其他的链接(也就是说该文件的实体并未删除),而只有当最后一个链接被删除后,且此时有新数据要存储到磁盘上,那么被删除的文件的数据块及目录的链接才会被释放,存储空间才会被新数据所覆盖。因此,该机制可以有效的防止误删操作。


硬链接只能在同一类型的文件系统中进行链接,不能跨文件系统。同时它只能对文件进行链接,不能链接目录。

创建一个文件的硬连接

> ln rumen.txt rumenz.txt> ls -lihtotal 012940530535 -rw-r--r--  2 mac  staff     0B  2 19 23:01 rumen.txt12940530535 -rw-r--r--  2 mac  staff     0B  2 19 23:01 rumenz.txt
复制代码

为什么创建一个空目录的文件,硬连接的个数是 2

> mkdir rumenz> ls -lih12940530815 drwxr-xr-x  2 mac  staff    64B  2 19 23:03 rumenz
复制代码


原因是:rumenz目录下默认会有...目录,分别代表当前目录和父级目录


> ls -al rumenzdrwxr-xr-x  2 mac  staff  64  2 19 23:03 .drwxr-xr-x  3 mac  staff  96  2 19 23:03 ..
复制代码

文件类型

  • -:代表普通文件

  • d:代表目录

  • l:代表软连接(ln –s 源文件 链接文件)

  • b:块设备和其他外围设备,是特殊类型的文件

文件权限

  • r 可读,数字权限是 4

  • w 可写,数字权限是 2

  • x 可执行,数字权限是 1


每种身份(owner(属主)/group(属组)/others(其他人))各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:


  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= --- = 0+0+0 = 0


原文链接:https://rumenz.com/rumenbiji/linux-file-attribute.html

微信公众号:入门小站

发布于: 2 小时前阅读数: 3
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux之文件属性详解