老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Linux文件类型都有哪些?老男孩Linux

老男孩IT教育

常见问题

2021年6月10日 17:36

相信很多了解过Linux的小伙伴,都使用过一些命令吧,命令也都是硬记下来的,里面的符号了解过吗?或者究竟有什么含义呢?如果都没有了解过,那就快看完这篇文章。在Linux系统下,有七大类文件类型:普通文件、目录、软链接、套接字文件、字符设备、块设备、管道文件。

       相信很多了解过Linux的小伙伴,都使用过一些命令吧,命令也都是硬记下来的,里面的符号了解过吗?或者究竟有什么含义呢?如果都没有了解过,那就快看完这篇文章。

       在Linux系统下,有七大类文件类型:普通文件、目录、软链接、套接字文件、字符设备、块设备、管道文件。

       Linux

       ·管道文件:

       分为匿名管道和命名管道,一端写、另一端读,单方向数据传输,数据是直接在内存中运作的,管道是进程间通信的一种方式,例如父进程写,子进程读。

       shell中匿名管道就是管道符号“|”,来个命令 ls | grep XXX,其中ls对应的是父进程,grep对应的是子进程,父进程写,子进程读。

       对于命名管道,即有名字的管道,它将文件保留在文件系统中,在shell中,可以使用mknod命令或mkfifo命令创建命名管道。

       ·套接字:

       套接字用来实现两端通信,可以双向管道通信,还能通过网络实现跨主机的通信功能。

       套接字需要成对才有意义,每一端都有用于读、写的文件描述符(或文件句柄),相当于两根双向通信的管道。

       ·Unix Domain套接字:

       对于单机的进程间通信,使用Unix Domain套接字更好,因为Unix Domain少了很多网络功能,它更加轻量级,某些语言在某些操作系统平台上实现的管道功能就是通过Unix Domain来实现的。

       ·网络套接字:

       对于跨网络的通信,需要使用网络套接字。每个网络套接字都由5部分组成,即协议、源地址、源端口、目标地址、目标端口。每端套接字都有两个buffer(即一对socket有4个buffer),每一端都有recv buffer和send buffer。

       ·块设备和字符设备:

       块设备是硬件设备,通过随机访问固定大小的数据块来区分,固定大小的chunk称为块,最常见的块设备是硬盘,块设备和字符设备如何区分呢?看数据访问的方式,块设备只能随机访问数据,字符设备必须按字节顺序。

       推荐阅读:

       Linux面试常见问题?老男孩Linux

       如何速记Linux命令?零基础掌握

       程序员为什么要使用Linux?老男孩Linux

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。