文件系统的基本认知笔记

2023-11-10

1.什么是文件系统

  • 常规认知:Linux下的根目录
  • 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法,即在存储设备上组织文件的方法,这种所谓的方法就是文件管理系统(程序),简称文件系统

2.文件系统(管理文件的方法)的分类

ext2 : 早期linux中常用的文件系统
ext3 : ext2的升级版,带日志功能
ext4 : 基于磁盘(存放根目录分区)
NFS : 网络文件系统,由SUN发明,主要用于远程文件共享
NTFS : Windows NT/XP 操作系统采用的文件系统

XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件
ISO9660 : 大部分光盘所采用的文件系统
SMBFS : Samba 的服务的共享文件系统
tmpfs : 临时文件系统(内存文件系统)

  • windows下:

在这里插入图片描述

  • Linxu下:
    在这里插入图片描述

vfat : 存放 boot(bootloader, kernel)
ext4 : 根目录
tmpfs : 内存文件系统

3.什么是分区

  • windows: 随意(面向普通用户PC),目录即分区
    C盘(装系统的位置)也可以随意在C盘存放文件
    D盘(用户随意发挥)
    在这里插入图片描述
  • Linux:按照功能来分区,每个分区严格存放文件(开发者),目录不是分区,和windows不同
    嵌入式系统可以分为4个区,分别是
    bootloader: 启动代码
    para : 启动代码向内核传递参数的位置
    kernel : 内核分区
    根分区等 : 文件系统结构
    在这里插入图片描述

4.什么是文件系统目录结构
参考文章
1)

  • windows:以多根的方式组织文件C:\ D:\
  • Linux:以单根的方式组织文件 /
  • 在 Linux 系统中,所有内容都是以文件的形式保存和管理的,即「一切皆文件」。普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
  • linux只有一个根目录,而且文件和目录被组织成一个单根倒置树结构, 此结构最上层是根目录,用“/”表示
  • 根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4)
  • 如下图:
  • 在这里插入图片描述
    在这里插入图片描述
    2)目录作用说明
  • / 整个文件系统的根目录,目录的源头
  • /bin 存放Linux的二进制文件、命令(普通用户和超级用户都可以执行)
  • /sbin 存放Linux的二进制文件(只有超级管理员可以执行的命令)
  • /boot 存放系统启动的引导文件
  • /etc 存放系统所有的配置文件
  • /home 普通用户的家目录
  • /root root用户的家目录
  • /run 存放系统内部正在运行程序的相关文件
  • /dev 存放设备文件
  • /tmp 用于存放各种临时文件,是公用的临时文件存储点
  • /usr 存放第三方软件
  • /var 存放系统运行时需要改变数据的文件(系统日志等)
  • /lib 存放库文件的目录(32位)
  • /lib64 存放库文件的目录(64位)
  • /opt 存放第三方安装的软件
  • /mnt 临时挂载的文件目录。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用
  • /srv 站点的具体数据,由系统提供
  • /media 存放多媒体的文件
  • /proc 虚拟文件系统,以目录的形式,将进程的pid号存储下来(系统信息都存放在这个目录下)
  • /sys 存放和系统有关的文件目录

后面学到到相关的再添加

5.什么是虚拟文件系统Virtual File System

  • Virtual File System(虚拟文件系统):vfs就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口
    在这里插入图片描述

  • 虚拟文件系统的作用
    简化应用程序的开发,不管是什么文件类型,不管文件是磁盘还是设备,都只用open read write统一操作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件系统的基本认知笔记 的相关文章

随机推荐

  • JVM--基础--20--对象的创建过程

    JVM 基础 20 对象的创建过程 1 对象的创建过程 讨论的对象限于普通Java对象 不包括数组和Class对象等 虚拟机遇到一条new指令时 过程如下 1 1 类加载 当虚拟机遇到一条new指令时 首先去检查这个指令的参数是否能在常量池
  • 封装一个可变参数打印函数

    在开发中 经常会用到打印 而这些打印在程序运行阶段不需要 仅在调试或开启现象的时候需要 我们用printf来打印往往不能对其进行灵活的控制 这个时候 我们就可以自己封装一个与printf功能相同的打印函数 加一些调试开关 就可以 用到的接口
  • 你真的了解background-position

    background属性是CSS中最常见的属性之一 它是一个简写属性 其包含background color background image background repeat background attachment backgrou
  • Verilog中的变量节选(part-select):中括号[]中的加号(+:)和减号(-:)的作用?

    Verilog 1995 允许在节选范围的索引为常数时从一个向量中节选连续的比特 Verilog 2001 2005 提供了两个新的节选运算符来支持固定宽度的变量节选 和 其语法分别为 lt starting bit gt lt width
  • qt学习笔记(八)之深入QSqlQuery

    在上一节中 我们直接调用QSqlQuery exec 对数据库进行增删改查等简单操作 在项目开发中 为了实现系统的低耦合 我们就必须封装出一个数据库功能模块 一 prepare 首先创建一个头文件 attend db h 初始化数据库操作
  • 【ES实战】_forcemerge API 使用说明

    forcemerge API 使用说明 文章目录 forcemerge API 使用说明 强制合并segment文件 API 语法 可选参数 多索引操作 使用案例 查找存在删除文档的索引 查看线程池情况 查看segment情况 查看任务 1
  • HBase集群升级, 通过HBase rpm 或 tar包形式(以HDP 为例,包含 升级及HBCK2 介绍和使用)

    目录 1 前言 2 编译 HBase 报错处理 Caused by java lang AbstractMethodError org apache hadoop hbase ipc RpcScheduler getMetaPriority
  • 小程序中安装@vant依赖

    大家好 我是雄雄 今天给大家分享一篇 关于小程序中如何安装 vant依赖 小程序中安装 vant依赖 cd miniprogram npm i vant weapp S production 将node modules文件夹下面的 vant
  • 用GPT-4 写2022年天津高考作文能得多少分?

    正文共 792 字 阅读大约需要 3 分钟 学生必备技巧 您将在3分钟后获得以下超能力 积累作文素材 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 Kim 编辑者 Linda 图片由Lexica 生成 输入
  • 一步一步学Qt(Qt Quick)/qml 开发第五篇(第一个可视的应用)

    现在我们开始仿照官网的demo做一个小东西 开始之前先看效果图 android如下 下面开始正文 因为在开始搞这个demo的时候 我遇到一个问题 所以为了避免这个 我将从创建项目开始 OK 废话不多说 第一步 打开你的QtCreator 选
  • SSH框架整合教程

    工程目录结构如下 本工程只介绍SSH整合的基本流程 所以没有写接口 1 导入jar包
  • CISSP-安全与风险管理

    安全管理 安全治理 Management 管理 管理者为了达到特定目的而对管理对象进行的计划 组织 指挥 协调和控制的一系列活动 governance 治理 治理是或公或私的个人和机构进行经营 管理相同事务的诸多方式的总和 安全治理是支持
  • mysql和sqlServer备份表以及表字段同步sql语句

    前言 要备份的表 old tablename 新表 new table name sql创建出新的表 old tablename ddl如下 CREATE TABLE exe type EXE TYPE ID int NOT NULL AU
  • 有趣的代码:一行Python代码能干嘛?

    前言 python有很多优雅有趣的代码写法 同时还很简短 以至于当我刚开始接触这个编程语言的时候 就爱不释手 而前几天的编程语言榜单中python也超越了java成为了第一 挺替python开心的 python到底有多有趣呢 一行代码告诉你
  • 版本号校验 例如V0.0.0.1和V0.0.0.2

    版本号比较 param v1 param v2 return 0代表相等 1代表左边大 1代表右边大 public int compareVersion String v1 String v2 v1 v1 substring 1 v1 le
  • Go学习教程大纲

    以下是Go学习教程的大纲 第一部分 基础知识 Go简介 什么是Go Go的历史和发展 Go的特点和优势 开发环境的搭建 安装Go编译器 配置开发环境 第一个Go程序 Hello World程序 程序的结构 编译和运行程序 数据类型和变量 基
  • 【拆盲盒啦】摸鱼时间到! iPhone 12、AirPods Pro、罗技鼠标等你拆~

    喜迎开学季 C 站开豪礼 最高可开 iphone 12 盲盒开出的不只是一份礼物 更是对于一切美好的期待 拆开一个盲盒 就像开始一场未知的爱丽丝梦游仙境 为 两点一线 朝九晚九 的生活 埋下一刻期待的种子 去收获一份未知的惊喜 这次 价格再
  • C++面向对象求圆的周长和面积

    include
  • 物联网上行数据实现tcp 负载均衡和高可用架构 nginx + keepalived方案

    文章目录 需求介绍 架构设计 具体配置 nginx 配置 keepalived 配置 需求介绍 之前有做过一个物联网设备接入的项目 项目中会启动一个数据接入服务 TCP server 用来接收传感器设备上传的数据 数据接入服务需要分布式部署
  • 文件系统的基本认知笔记

    1 什么是文件系统 常规认知 Linux下的根目录 文件系统是操作系统用于明确存储设备 常见的是磁盘 也有基于NAND Flash的固态硬盘 或分区上的文件的方法 即在存储设备上组织文件的方法 这种所谓的方法就是文件管理系统 程序 简称文件