当前位置:   article > 正文

Linux系统文件类型(六)_linux默认生成的文件类型

linux默认生成的文件类型

目录

一 linux系统的文件类型

1.普通文件' - '

2.目录文件' d '

3.字符设备文件' c '和块设备文件' b '

4.符号链接文件' l '

5.管道文件' p '

6.套接字文件' s '

7.总结


linux系统的文件类型

在 Linux 系统下,可以通过 stat 命令或者 ls 命令来查看文件类型,如下所示

stat 命令非常友好,会直观把文件类型显示出来;对于 ls 命令来说,并没有直观的显示出文件的类型, 而是通过符号表示出来,下图表示符号代表不同的文件类型

  • ' - ':普通文件
  • ' d ':目录文件
  •  ' c ':字符设备文件
  • ' b ':块设备文件
  • ' l ':符号链接文件
  • ' s ':套接字文件
  • ' p ':管道文件

1.普通文件' - '

普通文件(regular file)在 Linux 系统下是最常见的,譬如文本文件、二进制文件,我们编写的源代码 文件这些都是普通文件,也就是一般意义上的文件。普通文件中的数据存在系统磁盘中,可以访问文件中的 内容,文件中的内容以字节为单位进行存储于访问。普通文件可以分为两大类:文本文件和二进制文件。

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

2.目录文件' d '

目录(directory)就是文件夹,文件夹在 Linux 系统中也是一种文件,是一种特殊文件,同样我们也可 以使用 vi 编辑器来打开文件夹,如下所示:

可以看到,文件夹中记录了该文件夹当下的路径以及该文件夹下所存放的文件。可以使用mkdir,rmkdir函数创建删除文件夹,使用opendir()、readdir()和 closedir()来打开、读取以及关闭目录

3.字符设备文件' c '和块设备文件' b '

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

4.符号链接文件' l '

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

如果大家理解了 Windows 下的快捷方式,那么就会很容易理解 Linux 下的符号链接文件。上图 中 的 rec,stderr,stdin,stdout 等这些文件都是符号链接文件,箭头所指向的文件路径便是符号链接文件所指 向的文件。关

5.管道文件' p '

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

6.套接字文件' s '

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

7.总结

本小节简单地介绍了 Linux 系统中的 7 种文件类型,包括:普通文件、目录、字符设备文件、块 设备文件、符号链接文件、管道文件以及套接字文件,下面对它们进行一个简单地概括:

  1. 普通文件是最常见的文件类型;
  2. 目录也是一种文件类型;
  3. 设备文件对应于硬件设备;
  4. 符号链接文件类似于 Windows 的快捷方式;
  5. 管道文件用于进程间通信;
  6. 套接字文件用于网络通信。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/263657?site
推荐阅读
相关标签
  

闽ICP备14008679号