Linux中一切皆文件
Linux中一切皆文件
1、
Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。
普通文件是文件。
目录(在win下称为文件夹)是文件。
硬件设备(键盘、硬盘、打印机)是文件。
套接字(socket)、网络通信等资源也都是文件。
2、
文件类型:
1) 普通文件
类似 mp4、jgp、html这样,可直接拿来使用的文件都属于普通文件。
Linux中一切皆文件是什么意思
2) 目录文件
习惯win系统的用户来说,目录是文件可能不太好接受。
Linux系统中,目录文件包含了此目录中各个文件的文件名以及指向这些文件的指针,打开目录等同于打开目录文件。
即:只要有权限,可以随意访问目录中的任何文件。
vim 目录名
Linux中一切皆文件是什么意思
3) 字符设备文件和块设备文件
通常隐藏在/dev/目录下,当进行设备读取或外设交互时才会被使用。
例如:磁盘光驱属于块设备文件,串口设备则属于字符设备文件。
Linux中一切皆文件是什么意思
4) 套接字文件(socket)
套接字文件一般隐藏在 /var/run/目录下,用于进程间的网络通信。
Linux中一切皆文件是什么意思
5) 符号链接文件(symbolic link)
类似与win中的快捷方式,是指向另一文件的指针(软链接)。
Linux中一切皆文件是什么意思
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上的根目录找到设备文件的目录结构,就必须将这两个文件系统目录合二为一,这就是挂载的真正含义。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。
转载于:https://blog.51cto.com/10515215/2384664
Linux中一切皆文件相关推荐
- linux中一切皆文件, 一切文件皆二进制
刚开始接触linux的时候, 看到过这样一句话:linux中一切皆文件. 当理解深刻后, 发现确实如此. 又记得当年学习C语言的时候, 看到书上介绍文本文件和二进制文件, 瞬间懵逼, 理解非常模糊. ...
- linux一切皆是文件_Linux中一切皆文件
谈一谈Linux中一切皆文件 1. Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件. 普通文件是文件. 目录(在win下称为文件夹)是文件. 硬件设备(键盘.硬盘.打印机)是文件. 套 ...
- linux一切皆是文件_Linux中“一切皆文件”是什么意思?
Linux的一切皆文件是指,Linux世界中的所有.任意.一切东西都可以通过文件的方式访问.管理. 反过来说,是Linux和GNU世界定的规范,任何东西都挂在文件系统之上,即使它们不是文件,也以文件的 ...
- linux系统中一切皆文件
linux系统中一切皆文件 linux下"一切皆文件"是Unix/Linux的基本哲学之一. 普通文件.目录.字符设备.块设备和网络设备(套接字)等在Unix/Linux都被当做文 ...
- linux一切对象皆文件,为什么说Linux下“一切皆文件”?
前言:接触Linux的同志们都听过一句话:"Linux下一切皆文件"."一切皆是文件"是 Unix/Linux 的基本哲学之一,那么为什么Linux在一切皆文件 ...
- linux中如何在文件中查找文件,linux下find(文件查找)命令的用法总结
每一种操作系统都有成千上万的文件组成,对于linux这样"一切皆文件"的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不 ...
- fopen无法创建文件_Linux中一切皆文件,除了网卡
Linux下一切皆文件的概念深入人心,除了网卡外,在Linux系统中被分为了很多种文件,它们都有各自的特点,下面列举下: Linux中除网卡外,所有东西都被归类为以下七种文件之一: 块设备文件(blo ...
- 实例演绎Unix/Linux的一切皆文件思想
大家习惯了使用socket来编写网络程序,socket是网络编程事实上的标准. 我们知道,在Unix/Linux系统中"一切皆文件",socket也被认为是一种文件,socket被 ...
- linux中什么是文件,linux中什么是文件
linux中什么是文件 1.Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件. 普通文件是文件. 目录(在win下称为文件夹)是文件. 硬件设备(键盘.硬盘.打印机)是文件. 套接字(s ...
最新文章
- 编译安装nginx1.9.7+php7.0.0服务器环境
- 面试:说说参数验证 @Validated 和 @Valid 的区别?
- 剖析基于IOS的华为交换机配置口令设置
- 操作系统核心原理-5.内存管理(中):分页内存管理
- oracle数据库 杀进程,数据库应急杀进程脚本
- 《SAS编程与数据挖掘商业案例》学习笔记之五
- 学习linux问题,小白学习linux遇到的问题汇总
- LearnOpenGL学习笔记(四)——着色器类编写
- 一文带你全面了解虚拟机的四种网络模型(图文并茂)
- 电信笔试C语言,2021中国电信考试试题附答案(12)
- (视频分辨率介绍)混淆的概念:SIF与CIF、4CIF与D1
- 使用depends查看64位dll/exe
- 解决jy61陀螺仪传感器读数跳动的问题
- 老毛桃PE工具安装32位win7系统ISO镜
- 蘑菇街2016校园招聘第一个编程题
- 阿里云设置登录掩码错误无法登录
- Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)
- 什么是Windows数据恢复?[数据恢复操作指南]
- 【Win10 UWP】微信SDK基本使用方法和基本原理
- 企业微信发送图片失败
热门文章
- android 字符串相似度对比,Android中的OpenCV图像比较和相似度
- -f shell 模糊匹配_生产力工具:shell 与 Bash 脚本
- 稍等片刻 正在提取文件_电脑文件误删除并且清空了回收站,怎么恢复文件?教你一招!...
- 多视图几何总结——等距变换、相似变换、仿射变换和射影变换
- Python中如何修改字符串的值
- Inductive Robust Principal Component Analysis
- 有关cvUpdateMotionHishtory,cvCalcMotionGradient等函数的使用
- 深度学习的150多篇文章和10多个专栏推荐
- 全球及中国区块链安全行业全景调研与十四五规划动向展望报告2021年版
- 中国金控(00875):林裕豪调任执行董事并获任首席执行官