linux文件属性详解

warning: 这篇文章距离上次修改已过1588天,其中的内容可能已经有所变动。

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

ls-ali命令运行截图:

20181104-100300.png20181104-100300.png

ls-ali命令图解:

ls-li命令图解.pngls-li命令图解.png


inode值

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

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

如需更详细说明,请移步(待维护)。


文件类型

普通文件(file):

就是我们一般的文件,在linux中按照文件内容大致分文3种。

  1. 纯文本文件(ASCII): 内容可以被我们看懂,如数字,字母等,几乎我们可以设置读写的文件都是这一种,他可以通过cat命令打开,直接查看内容。
  2. 二进制文件(binary): linux唯一可以识别执行的文件,在系统中可执行文件就是这种格式,例如:刚刚执行的cat命令就是一个二进制文件。
  3. 数据格式文件(data): 程序在运行过程中读取的特定格式文件,就是数据文件。比如:用户登录的用户数据记录在/var/log/wtmp这个数据格式文件中。比较明显的特征使用 last 可以读出来, cat 读时是乱码。

块(block)设备文件:

为一些存储数据,以体统随机访问的接口设备,如硬盘,软盘等,可以随机的在硬盘的不同块读写,可以看看/dev/sda

字符(character)设备文件:

一些串行端口的接口设备,如键盘、鼠标等。这些设备的特征就是“一次性读取”的,不能够截断输出。

套字节(sockets):

这种文件类型用于在网络上的数据连接。

管道(FIFO,pipe):

fifofirst-in-first-out,主要解决多个程序同事访问一个文件所造成的错误问题。

目录(directory):

就是目录。

关于目录有一个有意思的地方,目录的大小几乎全是4096,如需详细了解请移步此处

连接文件(link):

类似windows系统中的快捷方式。分为软连接文件和硬链接文件。


文件权限

字母表示法:

缩写字母的意义:x:可执行,r:可读,w:可写,-:无权限。

数字表示法

由3位八进制数表示,从左向右依次代表拥有者(user)权限,与拥有者同组的用户(group)权限以及除此之外的其他用户(other)权限。

  • 其中 r=4,w=2。x=1
  • 若要rwx(可读、可写、可运行)属性,则4+2+1=7
  • 若要rw-(可读、可写、不可运行)属性,则4+2=6
  • 若要r-w(可读、不可写、可运行)属性,则4+1=5

链接数(i-node)

表示有多少文件名连接到此节点。


所有者

文件/目录所属的拥有者。


所有组

文件/目录所属的用户组


文件/目录大小

文件/目录大小,默认单位B(字节)。


最后修改时间

创建或最近修改日期

#查看文件完整时间:
ls -l --full-time

文件/目录名

linux中没有像windows中所谓的扩展名。但是为了方便认识还是要有写扩展名的习惯。

  • 文件长度限制,一般不要超过255个字符就好。
  • 文件命名限制,最好避免*?><;&|、\'“(){}
最后修改于:2019年12月19日 19:51
评论已关闭