精华内容
下载资源
问答
  • Linux一切皆文件

    千次阅读 2018-12-18 20:59:41
    Linux 一切皆文件,不仅是狭义上的文件,像键盘、打印机、虚拟终端,进程间通信和网络通信等输入/输出资源都是定义在文件系统空间下的字节流 ​ 好处:对于输入/输出资源,可以使用同一套api(read, write)和工具...

    1.一切皆文件

    ​ Linux 一切皆文件,不仅是狭义上的文件,像键盘、打印机、虚拟终端,进程间通信和网络通信等输入/输出资源都是定义在文件系统空间下的字节流

    ​ 好处:对于输入/输出资源,可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix中大多数的资源 (注:api是应用程序编程接口)

    ​ 操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用

    ​ 在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式

    ​ 注意点:Linux 文件是没有所谓的扩展名的,一个 Linux文件能否被执行与它是否可执行的属性有关,只要权限中有x就可以执行(不一定执行成功)虽然如此,但期望通过扩展名来了解该文件是什么东西,所以一般还会以适当的扩展名来表示该文件是什么

    2.物理存储机制:

    ​ 磁性存储介质磁化后会保留被磁化状态,且状态能被读取和修改,磁化有两个方向可表示0和1,所以用磁性存储介质来存储信息
    ​ 而硬盘就是把磁性存储介质做成多个盘片(包含数以亿计的磁性存储单位),并使用磁性读写头对盘片进行读写

    ​ 由于硬盘中磁性存储单元众多,所以需要一套规则来规划信息如何存取,于是就有了物理、逻辑概念:

    1. 一个硬盘有多张盘片叠成
    2. 每张盘片上的存储颗粒(一存储颗粒为1bit)成环形一圈圈地排布,每一圈称为磁道
    3. 每条磁道上都有一圈存储颗粒,每512*8(512byte,0.5KB)个存储颗粒作为一个扇区
    4. 扇区是硬盘最小的物理存储单位
    5. N个扇区可以组成簇,N取决于不同的文件系统或是文件系统的配置
    6. 簇是文件系统的最小存储单位
    7. 所有盘面上的同一磁道构成一个圆柱,称为柱面
    8. 柱面是系统分区的最小单位

    ​ 磁头读写文件时先分区读写,由inode编号(区内唯一的编号)找到对应磁道和扇区,然后一个柱面一个柱面地进行读写

    在这里插入图片描述

    3.Linux文件体系:

    ​ Linux以文件的形式对计算机中的数据和硬件资源进行管理,反映在Linux的文件类型上就是:普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。而这些种类繁多的文件被Linux使用目录树进行管理(就是以根目录(/)为根,向下呈现分支状的一种树形结构)

    3.1. 普通文件

    ​ 类似mp4、pdf这样应用层面上的文件类型都属于普通文件,Linux用户可以根据访问权限对普通文件进行查看、更改和删除

    3.2. 目录文件

    ​ 目录文件包含了目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件

    3.3. 链接文件

    ​ 类似快捷方式,是指向另一个文件的间接指针

    3.4. 块设备文件和字符设备文件

    ​ 这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到。比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件

    3.5. 管道文件

    ​ 主要用于进程间通讯

    .6. 套接字文件

    ​ 用于进程间的网络通信,也可以用于本机之间的非网络通信,这些文件一般隐藏在/var/run目录下,证明着相关进程的存在

    展开全文
  • linux一切皆文件

    千次阅读 2018-03-06 11:52:59
    为什么说linux一切都为文件?首先,我们看一下linux文件的类型有哪些。 VFS(Virtual Filesystem,虚拟文件系统)是linux内核中的重要组成部分,用来处理与Unix标准文件系统相关的所有系统调用。其健壮性表现在能...

    为什么说linux中一切都为文件?首先,我们看一下linux中文件的类型有哪些。

    VFS(Virtual Filesystem,虚拟文件系统)是linux内核中的重要组成部分,用来处理与Unix标准文件系统相关的所有系统调用。其健壮性表现在能为各种文件系统提供一个通用的接口。可以视为所有文件类型的通用接口层。

    VFS接口下,文件可以分为三种类型:磁盘文件系统,网络文件系统,特殊文件系统。

     

    磁盘文件系统

    这类文件系统主要作用是管理磁盘内容,让上层可以得知对应文件位于磁盘的哪个位置,从而对其读写。

    不同的磁盘文件系统有不同的特征,在读写性能,一致性保证,容错性,扩展性等方面各有千秋。

    这里不完全整理了磁盘文件系统分类情况:

    • Linux使用的文件系统:(Ext2),(Ext3)及Reiser文件系统(ReiserFS)
    • Unix家族的文件系统:sysv(System V、Coherent、Xenix)、UFS(BSD、Solaris、NEXTSTEP),MINIX文件系统及VERITAS VxFS(SCO UnixWare)。
    • 微软公司的文件系统:如MS-DOS、VFAT及NTFS
    • IS09660 CD-ROM文件系统(以前的High Sierra文件系统)和通用磁盘格式(UDF)的DVD文件系统。
    • 其他有专利权的文件系统,如HPFS(IBM公司的OS/2)、HFS(苹果公司的Macintosh)、AFFS(Amiga公司的快速文件系统)以及ADFS(Acorn 公司的磁盘文件归档系统)。
    • 起源于非Linux系统的其他日志文件系统,如IBM的JFS和SGI的XFS。

    上述整理的文件系统相对年代较老,且很多都发展成熟被广泛使用(ext2,ext4,NTFS)。近几年,针对SSD的文件系统(F2FS),以及针对持久化内存设备的内存文件系统(BPFS,PMFS,NOVA),甚至针对混合介质的文件系统(Strata- SOSP’17)都取得了突破性进展。


    网络文件系统

    这些文件系统允许轻易地访问属于其他网络计算机文件系统所包含的文件

    著名的网络文件系统有:NFS、Coda、AFS(Andrew文件系统)、CIFS(用于Microsoft Windows的通用网络文件系统)以及NCP(Novell公司的NetWareCore Protocol)。

     

    特殊文件系统

    这些文件系统不管理本地或者远程磁盘空间。/proc、/sys、/dev等文件系统是特殊文件系统的一个典型范例。可以看到,一些在windows中不是文件的东西, 比如进程(/proc), 磁盘(/dev), 也被抽象成了文件. 你可以使用访问文件的方法访问它们获得信息。

    展开全文
  • Linux 一切皆文件

    千次阅读 2016-12-09 22:19:54
    一切皆文件”是 Unix/Linux 的基本哲学之一,不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。 文件本质就是一种...
      “一切皆是文件”是 Unix/Linux 的基本哲学之一,不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。

      文件本质就是一种抽象,一般是指对数据的一种抽象。同时,“文件”也表示数据的存储组织形式。(数据库就是另一种数据存储组织形式)。Linux下的“文件”对传统意义上的文件进行了扩展,不仅仅是对数据的抽象,而是对许多资源的抽象,包括传统文件,设备,套子节等等。这样的设计给应用程序一个统一的访问资源的方式,而且实现了一套统一的权限管理方式。
      如果从事linux编程的话,就能很好理解这句话,对所有文件(目录、字符设备、块设备、 套接字、打印机等)操作,读写都可用fopen()/fclose()/fwrite()/fread()等函数进行处理。屏蔽了硬件的区别,所有设备都抽象成文件,提供统一的接口给用户。这就是“一切皆是文件”的思想
    
    



    展开全文
  • 一、Linux一切皆文件 在Windows中时文件的在Linux是文件 在Windows中不是文件的在Linux中也是文件(如Windows中的进程,盘符) 二、Linux的目录系统 1.bin:全程binary,该目录中存储的时二进制文件,文件都...

    一、Linux一切皆文件

    在Windows中时文件的在Linux是文件

    在Windows中不是文件的在Linux中也是文件(如Windows中的进程,盘符)

     

    二、Linux的目录系统

    1.bin:全程binary,该目录中存储的时二进制文件,文件都可以运行

    2.dev:存放外接设备,如外接U盘,硬盘。但不能直接使用,需要挂载(手动分配盘符,类似Windows中U盘盘符)。

    3.etc:存放配置文件,如网站、数据库等的配置信息。

    4.home:表示家目录,存放除了root用户以外其他用户的信息(似Windows中的user/目录)。

    5.proc:全称process,表示进程。该目录存放Linux运行时的进程。

    6.root:该目录是root用户的家目录,只有root用户可以使用。

    7.sbin:全称super binary,存放可以执行的二进制文件。但是只有super权限的用户可以执行,sudo

    8.tmp:临时。存放系统运行时产生的临时文件。其中的文件不用删,运行完会自动删除(类似Windows中C/WINDOWS/temp)

    9.usr:存放用户自己安装的软件,类似Windows下的program files目录

    10.var:存放程序/系统的日志文件

    11.mnt:当外接设备需要挂载时,就挂载在mnt目录下(承接dev目录)

     

     

    展开全文
  • 为何linux一切皆文件

    千次阅读 2019-11-25 23:35:17
    本文作为linux文件的基础介绍,是linux文件系列的开篇,主要面向想深入学习linux的小伙伴,最后的延伸学习部分给出了学习建议。
  • Linux 一切皆文件认知

    2020-04-25 10:38:10
    Linux一切皆文件 一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。你可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix...
  • Linux一切皆文件(包含好处和弊端) http://c.biancheng.net/view/2852.html
  • Linux 一切皆文件思想

    千次阅读 2018-07-27 10:42:56
    linux开发过程中,相信大家都听过一句话叫作“limux下,一切皆文件”。这句话是linux/unix的哲学核心思想,下面我们就针对这句话给大家进行展开解释下。 这句话中的“文件”不仅仅是我们通常所指的文件,在linux...
  • Linux一切皆文件(包含好处和弊端) Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接...
  • linux环境中有一个基本的设计原则—everything is file。所有的内容都是以文件的形式来抽象(比如:普通文件、目录、进程、网络、硬件等),可以对其进行打开、读取、写入等操作。 文件系统为操作系统提供了组织...
  • linux一切皆文件之块设备文件(四)

    千次阅读 2018-11-21 10:10:51
    1、在linux中,一切皆文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2、操作这些不同的类型就像操作文件一样,比如增删改查等 3、块设备是将信息存储在大小固定的块中,每一个...
  • 关于linux下一切皆文件的思考linux和windows的区别了解一切皆文件...于是乎就查找在windows中 是什么样子的通过链接:Linux一切皆文件(包含好处和弊端) 里明白了 linux和window的区别以及各自的优缺点 了解一切皆...
  • Linux一切皆文件

    千次阅读 2020-01-22 08:08:12
    Linux文件中一切皆文件 linux系统中一切皆文件是一个基本哲学。建立此贴希望以在学习中能以这个哲学基础为中心,展开思路进行融会贯通。
  • 初识Linux Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。 目录结构唯一 根目录 树形 绝对路径:从根目录开始表达的路径...linux 一切皆文件 文件类型:(以.开头为隐藏文件,可用ls -...
  • 来自《实例演绎Unix/Linux的"一切皆文件"思想》 大家习惯了使用socket来编写网络程序,socket是网络编程事实上的标准。 我们知道,在Unix/Linux系统中“一切皆文件”,socket也被认为是一种文件,socket被表示成文件...
  • 前言:接触Linux的同志们都听过一句话:“Linux一切皆文件”。“一切皆是文件”是 Unix/Linux 的基本哲学之一,那么为什么Linux一切皆文件呢?0.一切皆文件首先,在windows中是文件的东西,它们在linux中也是...
  • Linux中“一切皆文件

    千次阅读 2017-05-15 19:59:30
    linux开发过程中,相信大家都听过一句话叫作“limux下,一切皆文件”。这句话是linux/unix的哲学核心思想,下面我们就针对这句话给大家进行展开解释下。 这句话中的“文件”不仅仅是我们通常所指的文件,在linux...
  • Linux下一切文件,文件夹,socket,管道,设备等都被看成是文件,可以直接用相同的系统API(如write/read)对其读写操作,所以说Linux一切皆文件。(在windows下,不同文件或者不同的文件类型需要调用不同的API去...
  • linux下“一切皆文件”是Unix/Linux的基本哲学之一。 普通文件、目录、字符设备、块设备和网络设备(套接字)等在Unix/Linux都被当做文件来对待。虽然他们的类型不同,但是linux系统为它们提供了一套统一的操作接口...
  • Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资也都是...
  • 一、linux文件类型 (涉及到I/O的都可以抽象为文件) 1.普通文件 # xxx.log 2.目录 # /usr/ /home/ 3.字符设备文件 # /dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件,比如猫等串口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,589
精华内容 9,035
关键字:

linux一切皆文件

linux 订阅