linux文件类型说明

时光毁灭记忆、已成空白 提交于 2020-02-11 10:44:34

1. 文件类型

文件属性字段总共有10个字母组成;第一个字符代表文件的类型

字母“b”的表示块设备文件,一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)

字母为“c”表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。

字母为“p”表示该文件为命令管道文件。与shell编程有关的文件。

字母“s”表示该文件为sock文件。与shell编程有关的文件。

“-”表示普通文件;

“d”表示目录,是dirtectory(目录)的缩写;其中:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息

“l”表示链接文件,是link(链接)的缩写,类似于windows下的快捷方式;

“p”表示管理文件;

“b”表示块设备文件,是block(块)的缩写;

“c”表示字符设备文件,是char(字符)的缩写;

“s”表示套接字文件,是socket(套接字)的缩写;

2. 文件权限,分三组(UGO),每组三个(RWX):

r(Read,读取权限):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

w(Write,写入权限):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

x(eXecute,执行权限):对文件而言,具有执行文件的权限;对目录来说,该用户具有进入目录的权限。

第一组表示文件创建者/所有者对该文件所具有的权限,第二组表示创建者/所有者所在的组的其他用户所具有的权限,第三组表示其他组的其他用户所具有的权限。除了文件类型位,前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

$ ls -l
总用量 0
crw-rw-rw- 1 root root 10, 200 2月 11 07:21 tun

上述tun文件的信息:c表示字符设备文件,第2~4位的rw-表示root用户的权限是可读、可写,执行位置为-表示没有执行权限,第5~7表示root组的用户具有可读、可写及不可执行的权限,第8~10位表示其他用户具有可读、可写和不可执行权限

3. 目录或链接个数

该字段表示此文件是属于哪个用户。linux类系统都是多用户系统,每个文件都有它的拥有者。只有文件的拥有者才具有改动文件属性的权利。当然, root用户具有改动任何文件属性的权利。对于一个目录来说,只有拥有该目录的用户,或者具有写权限的用户才有在目录下创建文件的权利。

对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数,每个目录下有两个隐藏目录.和..目录。

链接文件:类似于windows里的快捷方式。多个链接文件同时指向一个“源文件”。链接文件分为硬链接或符号链接两种。

  在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode 。软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)

  硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除源文件的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收,因此文件的内容不会被删除,相当于删除了一个索引。硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

  软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接 

4. 所有者及组别

该文件的所有者/创建者(owner)及其所在的组(group)。一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。

5. 文件大小

如果是文件,则表示该文件的大小,单位为字节。

如果是目录,则表示该目录符所占的大小,并不表示该目录下所有文件的大小。请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。

6. 修改日期

文件最后修改的日期时间

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!