linux的几个哲学思想
1.一切皆文件
2.一个程序只做一件事,组合程序完成复杂任务
3.尽量避免与用户的交互,提供机制而非策略
4.用文本保存配置信息
今天说的就是linux下的文件
使用"ls -l"或者简写"ll"来查看文件的时候,就能够看到文件的详细信息,文件的类型就是开头的这一行
一共有7种类型
1.普通文件类型
这是linux种最常见最普通的一种文件类型,
包括纯文本文件(ASCII),二进制文件(binary),数据格式的文件(data),各种压缩文件.
第一个属性为 [-]
使用touch创建一个文件
2.目录文件
就是文件夹,能够使用cd进入
第一个属性为[d]
使用mkdir创建一个文件夹
3.链接文件
链接文件分为硬链接和软链接(符号连接)
硬链接:
硬链接inode号(可以先暂时理解为文件的编号)相同,文件名不相同
文件内容修改后,所有文件都变化,一个文件被删除,其他文件不受影响
但是不能跨分区硬链接,不能对文件夹硬链接
第一个属性与源文件相同
首先创建两个文件,使用"ll -i"查看目录下所有文件的inode号
使用硬链接"ln 1.txt 11.txt",这时候会创建一个11.txt作为1.txt的硬链接
可以看到inode号是想同的
修改11.txt的文件内容,发现1.txt的内容也改变了
删除1.txt后11.txt不受影响
通过inode号来查找硬链接文件,下图红框就是硬链接数
删除一个文件后,硬链接数下降了1
创建文件夹后,文件夹的硬链接数是根据文件夹下面的子文件夹的数量计算的
创建一个文件夹,硬链接默认是2个
是因为1的目录下有两个影藏文件夹"."和".."
"."代表当前目录
cd 到.目录,发现路径没有变化
".."代表上级目录
返回到了上级目录
软链接:
软链接类似于windows下的快捷方式,没有硬链接的限制可以跨区可以对文件夹使用
第一个属性为[l]
使用"ln -s 11.txt 11_s.txt"为11.txt文件创建一个软链接
可以明显的看出哪个是软链接
使用"ln -s 1 1_s"为文件夹1创建一个软链接
删除软链接对源文件没有任何影响,
删除源文件,链接文件就无法访问了
4.块设备文件
硬盘一类的存储数据提供系统存取的接口设备都属于块设备文件
第一个属性为[b]
多位于dev目录下
5.字符设备
串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
6.管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
7.套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s]
,