
Linux中所有内容都是以文件的形式保存和管理,所以一切皆是文件。
普通文件是文件目录是文件硬件设备是文件套接字、网络通信等资源也都是文件。
Linux文件类型如下:
1、普通文件:类似mp4、jpg、html这样,可直接拿来使用的文件都属于普通文件。
2、目录文件:对于习惯Windows系统的用户来说,目录是文件可能不太好接受。在Linux中,目录文件包含了此目录中各个文件的文件名以及指向这些文件的指针,打开目录等同于打开目录文件,也就是说,只要有权限,可以随意访问目录中的任何文件。
3、字符设备文件以及块设备文件:通常隐藏在/dev/目录下,当进行设备读取或外设交互时才会被使用。
4、套接字文件:套接字文件一般隐藏在/var/run/目录下,用于进程间的网络通信。
5、符号链接文件:类似于Windows中的快捷方式,是指向另一文件的指针。
6、管道文件:主要用于进程间通信。
硬链接硬链接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中,多个文件名指向同一索引节点是存在的,比如A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户可以建立硬链接到重要文件,以防止误删的功能。其原因是因为对应目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
软链接
软链接也被称之为符号链接,也叫做软链接。软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A仍然存在,但指向的是一个无效的链接。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)