Linux文件类型

本文详细介绍了Linux系统中的普通文件、文本文件、二进制文件、目录文件、字符设备文件、块文件、符号链接文件、管道文件和套接字文件,阐述了它们的结构、用途和区别,强调Linux系统中一切皆文件的理念。
摘要由CSDN通过智能技术生成

一、Linux中的文件类型

1、普通文件

普通文件( regular file )在 Linux 系统下是最常见的,譬如文本文件、二进制文件,我们编写的源代码文件这些都是普通文件,也就是一般意义上的文件。普通文件中的数据存在系统磁盘中,可以访问文件中的内容,文件中的内容以字节为单位进行存储于访问。
文本文件: 文件中的内容是由文本构成的,所谓文本指的是 ASCII 码字符。文件中的内容其本质上都是数字(因为计算机本身只有 0 1 ,存储在磁盘上的文件内容也都是由 0 1 所构成),而文本文件中的数字应该被理解为这个数字所对应的 ASCII 字符码;譬如常见的 .c .h .sh .txt 这些都是文本文件,文本文件的好处就是方便人阅读、浏览以及编写。
二进制文件: 二进制文件中存储的本质上也是数字,只不过对于二进制文件来说,这些数字并不是文本字符编码,而是真正的数字。譬如 Linux 系统下的可执行文件、 C 代码编译之后得到的 .o 文件、.bin 文件等都是二进制文件。

2、目录文件

目录( directory )就是文件夹,文件夹在 Linux 系统中也是一种文件,是一种特殊文件,同样我们也可以使用vi 编辑器来打开文件夹。在 Linux 系统下,会有一些专门的系统调用用于读写文件夹
普通文件由 inode 节点和数据块构成
目录由 inode 节点和目录块构成

3、字符设备文件和块文件

Linux 系统下,一切皆文件,也包括各种硬件设备。设备文件(字符设备文件、块设备文件)对应的是硬件设备,在 Linux 系统中,硬件设备会对应到一个设备文件,应用程序通过对设备文件的读写来操控、使用硬件设备,譬如 LCD 显示屏、串口、音频、按键等。
虽然有设备文件,但是设备文件并不对应磁盘上的一个文件,也就是说设备文件并不存在于磁盘中, 而是由文件系统虚拟出来的,一般是由内存来维护,当系统关机时,设备文件都会消失;字符设备文件一般存放在 Linux 系统 /dev/ 目录下,所以 /dev 也称为虚拟文件系统 devfs

4、符号链接文件

符号链接文件( link )类似于 Windows 系统中的快捷方式文件,是一种特殊文件,它的内容指向的是另 一个文件路径,当对符号链接文件进行操作时,系统根据情况会对这个操作转移到它指向的文件上去,而不是对它本身进行操作,譬如,读取一个符号链接文件内容时,实际上读到的是它指向的文件的内容。

5、管道文件

管道文件( pipe )主要用于进程间通信

6、套接字文件

套接字文件( socket )也是一种进程间通信的方式,与管道文件不同的是,它们可以在不同主机上的进 程间通信,实际上就是网络通信。

总结:

  • 普通文件是最常见的文件类型;
  • 目录也是一种文件类型;
  • 设备文件对应于硬件设备;
  • 符号链接文件类似于 Windows 的快捷方式;
  • 管道文件用于进程间通信;
  • 套接字文件用于网络通信。
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值