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

使用ls -lih列出上述信息

> ls -lih
12939236190 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 -lih
total 0
12940530535 -rw-r--r--  2 mac  staff     0B  2 19 23:01 rumen.txt
12940530535 -rw-r--r--  2 mac  staff     0B  2 19 23:01 rumenz.txt

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

> mkdir rumenz
> ls -lih
12940530815 drwxr-xr-x  2 mac  staff    64B  2 19 23:03 rumenz

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

> ls -al rumenz
drwxr-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
微信公众号:入门小站

linux常用命令速查手册PDF下载

3669页vim参考手册PDF下载

阿里云ECS运维Linux系统诊断PDF下载

Docker速查手册PDF下载

Linux学习笔记【强悍总结值得一看】PDF下载

shell简明教程PDF下载

Linux之文件属性详解相关推荐

  1. 每天一个linux命令(25):linux文件属性详解

    每天一个linux命令(25):linux文件属性详解 Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下 ...

  2. linux zip 命令详解

    功能说明:压缩文件.  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期 ...

  3. linux系统安全详解

    linux系统安全详解 http://www.2cto.com/Article/201207/142181.html一,BIOS安全(硬件上的安全) 1,最基本最简单的安全配置,保障计算机硬件配置等不 ...

  4. Linux串口编程详解

    Linux串口编程详解(阻塞模式.非阻塞模式.select函数) 之前一直觉得串口编程很简单,这两天仔细研究后发现串口里的各种参数还挺复杂,稍不注意就容易出错,这里总结一下网上的各种文章及自己的理解与 ...

  5. Linux用户管理详解大结局(下)

    Linux用户管理详解(下) 我们已经可以通过创建不同的用户来防止其他人使用自己的账号,之后每个账户对应一个单独的用户密码,构成了一个基本的用户管理思路.为了方便管理还可以使用组来设置相同属性的用户. ...

  6. Linux常用命令详解(两万字超长文)

    Linux常用命令详解 作为一枚程序员,熟练掌握一些常见的linux命令是很有必要的,掌握这些命令能帮助我们更好地管理Linux系统,提高工作效率,并有效地解决各种问题,为了方便自己后续查阅以及帮助不 ...

  7. 【网络编程】Linux tcpdump命令详解---编辑中

    目录 即看即用 详细说明 简介 输出信息含义 链路层头 TCP 数据包 UDP 数据包 SMB/CIFS 解码 AFS 请求和回应 KIP AppleTalk协议 IP 数据包破碎 时间戳 反向过滤 ...

  8. Linux常用命令详解文库

     Linux常用命令详解文库.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!Linux常用命令详解 来源: LUPA开源社区 发布时间: 2007-05-27 05:34 版权申明 字体: ...

  9. LINUX命令大全详解备忘录

    文件目录操作命令 ls命令 cd命令 pwd命令 mkdir命令 rm 命令 rmdir 命令 mv命令 cp 命令 touch 命令 cat 命令 nl命令 more命令 less 命令 head ...

最新文章

  1. 福布斯:2018年将改变世界的九股科技大趋势
  2. c#和c++中枚举类型的区别(简)
  3. Ajax Loading进度gif在线生成
  4. 解决IDEA每次打开新的maven项目都需要重新配置maven home的问题
  5. java 装饰器_装饰器模式(Java)
  6. 什么是Spring什么是SpringMVC?
  7. 理解asp.net中DropDownList编辑数据源,绑定数据库数据。
  8. 从孙子算经到中国剩余定理
  9. Security+ 学习笔记32 云安全控制
  10. 什么是webpack? ----(webpack入门)
  11. vue实现轮播图(每隔两秒自动翻页、翻到末页自动返回首页、点击按钮左右翻页)
  12. 基于 MaxCompute+PAI 的用户增长方案实践
  13. 演讲 口才 思维导图
  14. 计算机汉字字形通常有两种字形编码,汉字字形编码有哪两种类型?各有什么特点?...
  15. 一款适合全自动智能锁电机驱动芯片方案
  16. 黑客水平测试 大家可以自测一下
  17. 汽车巨头不愿被 “羞辱”,苹果造车重回代工模式
  18. 入门金融数据分析-Task1-数据了解and熟悉赛题
  19. 今天主要学习vue的一些原理,尤其是vueComponent与Vue的关系,个人觉得值得反复回味,很巧妙
  20. No BUILD ID 问题解决

热门文章

  1. Ubuntu下apache配置文件路径
  2. 预防SQL注入攻击之我见 转
  3. Linux下使用源码安装出现的坑
  4. [Python] L1-026. I Love GPLT-PAT团体程序设计天梯赛GPLT
  5. ionic 支持float吗_oppok7x怎么样值得买吗 oppok7x介绍
  6. SQL语句常用优化技巧
  7. 陈国良院士将出席“首届对象存储技术与应用大会”
  8. leetcode28 Implement strStr() 在字符串中寻找目标字符串
  9. iOS内存分配五大区:
  10. python学习(1)启程