Linux之文件属性详解
2022/1/7 8:03:46
本文主要是介绍Linux之文件属性详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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
这篇关于Linux之文件属性详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法