龙空技术网

Linux应用编程(2)2分钟搞懂Linux 7种文件类型

嵌入式软硬件开发 105

前言:

而今各位老铁们对“linux的文件类型有几种”大约比较着重,同学们都想要分析一些“linux的文件类型有几种”的相关内容。那么小编同时在网上收集了一些关于“linux的文件类型有几种””的相关内容,希望看官们能喜欢,小伙伴们一起来了解一下吧!

在Linux应用编程(1)系统调用&库函数 确定真懂?文章中对系统调用和库函数概念做了介绍,后续编代码既可以用系统调用接口也可以使用库函数接口。这篇文章主要对linux中“一切皆文件的思想”做介绍,然后罗列出系统中的7种文件类型。

Linux中“一切皆文件”思想

“一切皆文件”思想是把实实在在的物理设备抽象成文件,这样做便于分层管理,也就是Linux应用开发不需要对硬件非常清楚,照样可以对设备进行操作,主要通过open接口来打开对应的设备。把设备抽象成文件后以后对文件的操作就等价于对对应设备的操作。

那么可能会有疑惑这个设备和文件是如何关联起来的?mknod 命令可以用来手动创建设备文件节点 。如果你做过驱动开发,对mknod手动创建设备节点肯定不陌生。就是这个设备节点,也即文件是Linux应用编程中open函数所要打开的文件。当然了,现在很少用mknod手动创建设备节点,主要都是通过udev mdev自动创建设备节点(简单来说udev是用户空间程序 mdev是udev的简化版本。至于什么是udev mdev不是本文章的重点,暂时只要知道它们可以自动创建设备节点就ok)。

7种文件类型

可以通过linux命令来查看具体文件的类型,其实只需要一个ls -l命令就可以。如果想整体学习Linux命令,可以看我的文章和对应的视频嵌入式软件开发之《Linux命令专题(三)》

1)普通文件

arch这个就是普通文件,红色标记的地方符号为“-”,后面的(rwx分别别是可读、可写、可执行)。比如平时创建的.c .h .txt文件都是普通文件。

2)目录

名字为block的文件是目录文件 红色标记的地方符号为“d”(directory的缩写),我们平时用mkdir xxx创建xxx目录时,就生成目录文件。如下图红色标记所示。

3)链接文件

链接文件分为硬链接和软链接。软链接类似于windows中的快捷方式,删除快捷方式,对源文件没有影响。但是删除硬链接就的文件相当于删除源文件。链接文件符号为“l”(link的缩写)。可以给通过ln -s 创建软链接 ln 创建硬链接。如下图红色标记所示。

4)字符设备文件

字符设备文件是将现实生活中的实实在在存在的按字符方式操作的设备抽象成字符设备文件,比如键盘 鼠标等设备 。字符设备文件符号为“c”(character的缩写)。可以到/dev目录下查看字符设备文件。如下图红色标记所示。

5)块设备文件

块设备文件是将现实生活中的实实在在存在的按块方式操作的设备抽象成块设备文件,比如硬磁盘等一些存储类设备 。块设备文件符号为“b”(block的缩写)。可以到/dev目录下查看块设备文件。如下图红色标记所示。

6)网络设备(套接字)文件

网络设备(套接字)文件通常在网络通信中使用。比如服务器监听客户端,连接之后就可以通过套接字文件进行通信。套接字文件符号为“s”(socket的缩写)。

7)管道文件

与前面类似管道文件符号为“p”(pipe的缩写)。在进程间利用管道通信时可以创建管道文件。

后续继续更新...

更多精彩内容可以关注此头条号:嵌入式软硬件开发 喜欢的话大家可以“评论”,“转发”、“点赞”或者“收藏”,感谢大家。C语言交流群:932029691 相互交流,共同成长。

标签: #linux的文件类型有几种 #linux的文件类型有几种方式