Linux文件系统

简介: Linux文件系统

1.什么是文件系统

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的 方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件 进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存 取,当用户不再使用时撤销文件等。


文件系统是操作系统用于明确存储组织文件的方法。文件管理系统(程序)


2.文件系统(文件管理系统)的种类有哪些?

  • 1.FAT
  • 2.NTFS
  • 3.EXT 1/2/3/4:根目录分区
  • 4.HFS
  • 5.Vfat:boot(bootloader、kernel)
  • 6.fmpfs:内存文件系统。
  • 等等...

树莓派查看文件系统命令:df -T


3.什么是分区?

windows:随意(面相普通用户)

  • C盘(操作系统)、D盘(用户随意)

Linux: 按照功能分区,每个分区严格存放文件(开发者)

  • bootloade:启动代码
  • para:启动代码向内核传递参数的位置
  • kernel:内核分区
  • 根分区:文件系统结构

4.什么是文件系统目录结构?

在Linux系统中,目录被组织成一个:单根倒置树结构,文件系统从根目录开始,用/来表示。文件名称区分大小写( 大小写敏感还需要看具体的文件系统格式 ),以.开头的为隐藏文件,路径用/来进行分割(windows中使用\来分割),文件有两个种类:元数据与数据本身.在操作linux系统时,通常会遵循以下的分层结构规则:

76423092276e1f224b6786a0d8575a43_6a441053d6e2413ead909fdba8c4f2a0.png

LSB (Linux Standard Base) / FHS(Filesystem Hierarchy Standard)


  • / 所有linux操作系统的顶点目录,不像windows,每个分区都有一个顶点目录
  • /boot 存放系统启动时相关的文件,比如kernel内核,grub引导菜单.(不要删除.)
  • /bin 存放的都是命令,但仅普通用户能执行
  • /sbin 超级管理员能执行的命令.
  • /home 存放普通用户的家目录
  • /root 超级管理员的家目录,普通用户是无法进入
  • /etc 存放配置文件的目录,
  • /etc/hostname 主机名
  • /etc/hosts 本地解析域名一种方式
  • /etc/sysconfig/network-script/ifcfg-* 网卡的配置文件
  • /dev 设备目录,硬盘\硬盘的分区\光盘.....
  • /dev/null 黑洞,接收所有的东西,只进不出
  • /dev/zero 摇钱树,可以生产源源不断的数据
  • /dev/random 产生随机数的一个设备
  • /dev/pts/0 虚拟的Bash Shell终端,提供给远程用户使用 0,代表一个终端 1代表2个终端 以此类推
  • /usr 类似于windows的C盘下面的windows目录
  • /usr/lib 共享库文件,后缀都是so结尾, share object
  • /usr/lib64 共享库文件64位,后缀都是so结尾, share object
  • /usr/local 早起大家都把软件放在这个目录下,和windows C:\ProgramFile
  • /usr/bin
  • /usr/sbin
  • /var 存放一些可变化的内容,比如/var/log日志,可以人为让其发生变化,也或者是随着时间推移产生变化
  • /tmp 存放临时文件,无论哪个用户都可以放
  • /proc 反馈当前运行的进程的状态信息.
  • /run 存放程序运行后所产生的pid文件
  • /media
  • /mnt 提供挂载的一个目录
  • /opt 早期第三方厂商的软件存放的目录.
  • /srv 物理设备产生的一些文件


在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。


5.什么是虚拟文件系统

VFS(Virtual File System)


文件系统种类很多,除了linux的标准文件系统Exit2/Exit3/Exit4 以外,还有很多种文件系统,linux通过VFS 中间层对这些文件系统提供了完美的支持。大部分情况下,用户通过libc和kernel的VFS交互,不需要关心底 层文件系统的具体实现,vfs就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口。


简化应用程序员的开发,不管文件类型是磁盘还是设备,都只用open、read、write统一操作。


vfs的作用


vfs所隐藏的思想是表示很多不同种类文件系统的共同信息放入内核,其中有一个字段或函数来支持linux所支持的 所有实际文件系统所提供的任何操作。对所调用的每个读写或其他函数,内核都能把它们替换成支持本地linux文件 系统,NTFS文件系统,或者文件所在的任何文件系统的实际函数。


有了vfs,就能很容易实现不同文件系统之间的数据读写,因为它们对外接口都是一样的,都是vfs导出的通用接口


例如:


假设一个用户输入以下shell命令: $ cp /floppy/TEST /tmp/test 其中/floppy是MS‐DOS磁盘的一个安装点,而/tmp是一个标准的第二扩展文件系统(second Extended Filesystom, Ext2)的目录。正如图(a)所示,VFS是用户的应用程序与文件系统实现之间的抽象层。因此,cp程序并不需要知 道/floppy/TEST 和 /tmp/test是什么文件系统类型。相反,cp程序直接与VFS交互,这是通过Unix程序设计人员都熟 悉的普通系统调用来进行的。cp的执行代码如下图


6.内核结构框图

相关文章
|
18天前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
1月前
|
存储 缓存 Linux
【Linux】文件系统
在打开文件之前,我们需要找到文件 -> 就要从磁盘中找到对应文件 -> 通过文件路径与文件名
31 4
|
24天前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
24天前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。
|
3天前
|
存储 JSON Linux
探索Linux文件系统的奥秘:`lsblk`命令详解
`lsblk`是Linux下用于列出块设备详情的命令,显示设备名、大小、类型、挂载点等信息,尤其适合查看磁盘分区和挂载状态。它以树形结构展示设备间的依赖,且支持多种输出格式。常用参数如`-a`显示所有设备,`-f`显示文件系统信息,`-o`定制输出列。结合其他命令使用能有效管理文件系统。注意权限和输出格式选择。
|
29天前
|
安全 Linux 数据安全/隐私保护
深入理解Linux文件系统的权限管理
【5月更文挑战第24天】 在Linux操作系统中,文件系统权限管理是维护系统安全和用户数据隔离的关键机制。本文将深入探讨Linux文件系统中的权限模型,包括用户、组和其他类别的读、写、执行权限。我们将分析权限位的具体含义,如何通过命令行工具修改权限,以及权限掩码(umask)的作用。此外,我们还将讨论文件系统权限在实际应用中的常见问题及其解决方案,帮助读者构建更为安全且高效的Linux工作环境。
|
1月前
|
存储 Linux vr&ar
Linux文件系统
Linux文件系统
37 4
|
1月前
|
存储 Linux
Linux为新创建的磁盘分区添加文件系统
Linux为新创建的磁盘分区添加文件系统
|
19天前
|
存储 缓存 Linux
【Linux】文件系统
【Linux】文件系统
|
19天前
|
Linux
45. 【Linux教程】文件系统检查
45. 【Linux教程】文件系统检查
22 0