Linux文件类型

Posted 疯狂110

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件类型相关的知识,希望对你有一定的参考价值。

一、Linux文件类型是如何进行区分的呢?

提到文件的话就不得不先来简单了解一下inode。
inode:索引结点,用来存放文件的基本信息。
inode是unix/linux操作系统中的一种数据结构,本质上是一个结构体,里面定义了一些变量,这些变量用来记录与文件相关的信息。在操作系统创建文件系统的时候就会创建大量的inode。
inode这个结构体包含以下信息:
1、inode编号
2、用来识别文件类型,以及用于stat C函数的模式信息
3、文件的链接数
4、属主的UID
5、属主的组的ID(GID)
6、文件的大小
7、文件所使用的磁盘块的实际数目。
8、最近一次修改的时间
9、最近一次访问的时间
10、最近一次更改的时间
可见,除了文件名以及文件内容以外,inode包含文件的所有信息,所以说文件名在linux下面是没有多大作用的。一般我们对某个文件进行操作是,是先找这个文件所连接的inode,然后用inode编号对文件进行操作,但是当我们知道inode编号的时候是不能得到文件名的。

二、linux下的文件类型

1.普通文本: regular file)以”-“开头。

 

可以看到上面的文件属性中,都是以”-“开头的,这个”-“就表示它是一个普通文件。

linux下面的普通文本又包括一下三种:
1.1、纯文本文档:
这是linux中最多的一种文件类型,称为纯文本文档,我们是可以直接读到其中的数据。

1.2、二进制文件:
linux中的可执行文件就是这种格式的。

1.3、数据格式文件:
有些程序在运行的过程中会读取某些特定格式的档案,这些特定格式的档案又称为数据文件,使用cat看到的都是乱码,因为它属于特殊格式的文件。

2、目录:(directory)”d”开头。

在linux下面的一切都是以文件的形式存在的,所以目录就属于目录文件。

 

可以看到这些文件的属性中是以”d”开头的,就表示它是一个目录文件。

3、连接文件:(link)”l”开头的文件

 

可以看到这些文件的属性中是以”l”开头表示它们是链接文件。

4、设备和设备文件:

设备文件分为块设备文件额字符设备文件。我们进入/dev目录就会看好多这种文件。
字符设备文件:以”c”开头的文件,就是一些串行端口的接口文件,比如键盘、鼠标等。

 

可以看到这些文件的属性中是以”c”开头表示它们是字符设备文件。

块设备文件:以”b”开头的文件,就是一些存储文件,比如硬盘、软盘等。

 

可以看到这些文件的属性中是以”b”开头表示它们是块设备文件。

5、套接字:(sockets)”s”开头的文件。

套接字文件还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信。

 

可以看到这个文件的属性中是以”s”开头表示它们是套接字文件。

6、管道:(FIFO,pipe)”p”开头的文件。

管道文件也是一种特殊的文件类型也叫作数据输送文件,它主要的目的是解决多个程序同时访问一个文件所造成的错误问题。解决的方法就是FIFO。
管道文件的属性是以”p”开头的。





















以上是关于Linux文件类型的主要内容,如果未能解决你的问题,请参考以下文章

Linux有啥文件类型

linux文件系统类型

linux操作系统文件类型有哪几种,有啥区别?

如何查看linux文件系统的类型?

Linux中常见文件类型及文件系统类型

Linux系统中有哪几种类型的文件。