龙耀酷站

Shortcuts
龙耀酷站 Portal 文章 View Content

浅谈Linux中一切皆文件

2020-9-16 00:02| Publisher: 最强王者| Views: 1017| Comments: 1

Description: Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。 普通文件是文件。 目录(在win下称为文件夹)是文件。 硬件设备(键盘、硬盘、打印机)是文件。 套接字(socket)、网络通信等资源也都是文件。 ...

谈一谈Linux中一切皆文件

1、

Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。

普通文件是文件。

目录(在win下称为文件夹)是文件。

硬件设备(键盘、硬盘、打印机)是文件。

套接字(socket)、网络通信等资源也都是文件。

2、

文件类型:

1) 普通文件

类似 mp4、jgp、html这样,可直接拿来使用的文件都属于普通文件。

2) 目录文件

习惯win系统的用户来说,目录是文件可能不太好接受。

Linux系统中,目录文件包含了此目录中各个文件的文件名以及指向这些文件的指针打开目录等同于打开目录文件。

只要有权限,可以随意访问目录中的任何文件。

vim 目录名

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

通常隐藏在/dev/目录下,当进行设备读取或外设交互时才会被使用。

例如:磁盘光驱属于块设备文件,串口设备则属于字符设备文件。

4) 套接字文件(socket)

套接字文件一般隐藏在 /var/run/目录下,用于进程间的网络通信。

5) 符号链接文件(symbolic link)

类似与win中的快捷方式,是指向另一文件的指针(软链接)。

6) 管道文件(pipe)

主要用于进程间通信。

例如:使用mkfifo命令创建一个FIFO文件,与此同时启用进程A从FIFO文件读数据,启用进程B从FIFO文件中写数据,随写随读。

3、

一切皆文件的利弊:

与Windows 系统不同,Linux 系统没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。

(1)这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读PIPE)的操作都可以用read函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用write函数来进行。

(2)不利之处在于,使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。我们知道,本身Linux具有一个以根目录为树根的文件目录结构,每个设备也同样如此,它们是相互独立的。如果我们想通过Linux上的根目录找到设备文件的目录结构,就必须将这两个文件系统目录合二为一,这就是挂载的真正含义

喜欢 喜欢 喜欢 喜欢 喜欢
分享到:
Previous 创业20年死磕PDF,上市后身家76亿:牛逼背后都是玩命死磕Next 你永远不知道大佬们带着资产跑路的速度有多快
Leave a comment

Latest comments

Quote
annualtep 2021-3-19 08:18
[url=http://hcialischeapc.com/]cialis generic[/url]

所有内容仅供个人学习、研究之用,请勿用于商业用途,如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
联系我们
QQ在线时间 08:30-21:30 电子邮件:leo_msn@foxmail.com

龙耀酷站是一个融创意、设计、技术开发、服务为核心的网站,专注于为客户打造高品质的精品模板和资源。

Powered by Leo

QQ|龙耀酷站 Choose a language

GMT+8, 2023-5-28 11:01 , Processed in 0.063689 second(s), 35 queries .

To Top