首页 > 系统相关 >【转载】Linux根文件系统

【转载】Linux根文件系统

时间:2023-01-10 17:58:43浏览次数:64  
标签:文件 文件系统 内核 Linux 挂载 转载 目录

Linux根文件系统

文件系统

文件系统是os用来明确存储设备或分区上的文件的方法或数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

文件系统由三部分构成:

从系统的角度看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并队存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用的时候撤销文件等。

尽管内核是linux的核心,但文件却是用户与操作系统交互所采用的主要工具。这对linux来说尤其如此,这是因为在UNIX传统中,它使用文件I/O机制管理硬件设备和数据文件。

根文件系统

根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但相对于普通的文件系统,它是内核启动时挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本和服务加载到内存中去运行。

文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。

为什么根文件系统这么重要

根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。

根文件系统包含系统启动时所必须的目录和关键性的文件,以及使其他文件系统得以挂载(mount)所必要的文件。例如:

init进程的应用程序必须运行在根文件系统上; 根文件系统提供了根目录“/”; linux挂载分区时所依赖的信息存放于根文件系统/etc/fstab这个文件中; shell命令程序必须运行在根文件系统上,譬如ls、cd等命令; 总之:一套linux体系,只有内核本身是不能工作的,必须要rootfs(上的etc目录下的配置文件、/bin /sbin等目录下的shell命令,还有/lib目录下的库文件等···)相配合才能工作。

Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录和文件。

根文件系统各个常用目录简介

正常来说,根文件系统至少包括以下目录:

  • /etc/:存储重要的配置文件。
  • /bin/:存储常用且开机时必须用到的执行文件。
  • /sbin/:存储着开机过程中所需的系统执行文件。
  • /lib/:存储/bin/及/sbin/的执行文件所需的链接库,以及Linux的内核模块。
  • /dev/:存储设备文件。

五大目录必须存储在根文件系统上,缺一不可。

参考链接:Linux根文件系统(rootfs原理详解) - 腾讯云开发者社区-腾讯云 (tencent.com)

标签:文件,文件系统,内核,Linux,挂载,转载,目录
From: https://www.cnblogs.com/GrootStudy/p/17040956.html

相关文章

  • Linux扫盲
    Linux扫盲(简单)计算机的种类台式机笔记本服务器 作⽤:1.可以尽量避免数据不会丢失2.可以24⼩时不间断提供服务3.可以提升⽤户体验......
  • Linux 部署 WANdisco Subversion(SVN)
    官方有提供安装的shell脚本。点击选择合适的版本下载运行安装。但是我们点击查看具体的脚本内容会发现,本质上还是配置了相应的软件源。我们可以手动来完成相应的操作。1......
  • Linux系统安装Python3环境
    1、默认情况下,Linux会自带安装Python2.7.5,可以运行python--version命令查看,如图。我们看到Linux中已经自带了Python2.7.5,再次运行python命令后就可以使用python命令窗口......
  • Linux基础12 find命令
    文件查找find:语法:命令路径选项表达式动作find[path...][options][expression][action] 1.以名字来查找文件 find: -name:按名字查找(......
  • linux基础
    linux基础篇linux虚拟机软件VMwareFusion11版本因为可以较好的兼容macOS10.14版本linux系统映像版本CentOS-7.5版本远程连接虚拟机工具mac可使用终端指令即可......
  • linux下,docker安装redis
    一、Docker搜索redis镜像命令:dockersearch<镜像名称>dockersearchredis可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本。redislatest.二......
  • python之路 57 linux 基础 命令与执行效果
    虚拟环境的安装与配置1.VMware软件安装这里有一个15版本和一个16版本的链接:https://pan.baidu.com/s/1vkNxxQ6NS9q7XYJ6qiVMaQ提取码:t3lf2.软件配置与Xshell远程工......
  • linux 内存管理(四)malloc--mmap--brk
    用strace分析malloc内存申请过程。长话短说,申请内存空间一般就两种方法,一种是malloc,另一种是mmap映射空间。 在使用malloc()分配内存的时候,可能系统调用brk(),也可能调用m......
  • linux系统命令
    linux系统命令linux命令基础知识命令提示符管理员用户:[root@vm-lz~]#root指当前登录主机的用户vm-lz是主机(我们这里是虚拟机)名称~是家目录,默认环境为家目录......
  • Linux 使用模式匹配文件名批量删除文件
    举例1:删除文件名中包含abc的文件#先列出来确认一下find./dir-typef-name'*abc*'#执行删除命令find./dir-typef-name'*abc*'-delete举例2:删除文件名......