linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(1)

linux的几个哲学思想

1.一切皆文件

2.一个程序只做一件事,组合程序完成复杂任务

3.尽量避免与用户的交互,提供机制而非策略

4.用文本保存配置信息

今天说的就是linux下的文件

使用"ls -l"或者简写"ll"来查看文件的时候,就能够看到文件的详细信息,文件的类型就是开头的这一行

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(2)

一共有7种类型

1.普通文件类型

这是linux种最常见最普通的一种文件类型,

包括纯文本文件(ASCII),二进制文件(binary),数据格式的文件(data),各种压缩文件.

第一个属性为 [-]

使用touch创建一个文件

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(3)

2.目录文件

就是文件夹,能够使用cd进入

第一个属性为[d]

使用mkdir创建一个文件夹

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(4)

3.链接文件

链接文件分为硬链接和软链接(符号连接)

硬链接:

硬链接inode号(可以先暂时理解为文件的编号)相同,文件名不相同

文件内容修改后,所有文件都变化,一个文件被删除,其他文件不受影响

但是不能跨分区硬链接,不能对文件夹硬链接

第一个属性与源文件相同

首先创建两个文件,使用"ll -i"查看目录下所有文件的inode号

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(5)

使用硬链接"ln 1.txt 11.txt",这时候会创建一个11.txt作为1.txt的硬链接

可以看到inode号是想同的

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(6)

修改11.txt的文件内容,发现1.txt的内容也改变了

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(7)

删除1.txt后11.txt不受影响

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(8)

通过inode号来查找硬链接文件,下图红框就是硬链接数

删除一个文件后,硬链接数下降了1

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(9)

创建文件夹后,文件夹的硬链接数是根据文件夹下面的子文件夹的数量计算的

创建一个文件夹,硬链接默认是2个

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(10)

是因为1的目录下有两个影藏文件夹"."和".."

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(11)

"."代表当前目录

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(12)

cd 到.目录,发现路径没有变化

".."代表上级目录

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(13)

返回到了上级目录

软链接:

软链接类似于windows下的快捷方式,没有硬链接的限制可以跨区可以对文件夹使用

第一个属性为[l]

使用"ln -s 11.txt 11_s.txt"为11.txt文件创建一个软链接

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(14)

可以明显的看出哪个是软链接

使用"ln -s 1 1_s"为文件夹1创建一个软链接

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(15)

删除软链接对源文件没有任何影响,

删除源文件,链接文件就无法访问了

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(16)

4.块设备文件

硬盘一类的存储数据提供系统存取的接口设备都属于块设备文件

第一个属性为[b]

多位于dev目录下

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(17)

5.字符设备

串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(18)

6.管道文件

FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(19)

7.套接字文件

这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s]

linux的4种文件类型(从零开始学Linux运维21.文件的类型及属性)(20)

,