导航:首页 > 文件目录 > 根文件系统是什么

根文件系统是什么

发布时间:2025-03-08 04:09:34

❶ 什么是根文件系统

问题一:什么是根文件系统 linux、UNIX操作系统中,mount(挂接)在 / 目录(也就是根目录)上的磁盘分区,叫做根文件系统。(也有人叫:root分区、root文件系统)

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

问题三:什么是根文件系统 根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。
在Linux中,必须要有一个根文件系统的概念。根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。
mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。 目前mount已经不仅仅局限于Linux了。在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。
根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其他文件系统得以挂载(mount)所必要的文件。

问题四:什么是根文件系统 下面是从Undertanding the linux kernel 3rd摘录的 12.4. Filesystem Handling Like every traditional Unix system, Linux makes use of a system 's root filesystem : it is the filesystem that is directly mounted by the kernel ring the booting phase and that holds the system initialization scripts and the most essential system programs. Other filesystems can be mountedeither by the initialization scripts or directly by the userson directories of already mounted filesystems. Being a tree of directories, every filesystem has its own root directory. The directory on which a filesystem is mounted is called the mount point. A mounted filesystem is a child of the mounted filesystem to which the mount point directory belongs. For instance, the /proc virtual filesystem is a child of the system 's root filesystem (and the system 's root filesystem is the parent of /proc). The root directory of a mounted filesystem hides the content of the mount point directory of the parent filesystem, as well as the whole subtree of the parent filesystem below the mount point.简单的来说,我认为根文件系统就是一种目录结构,那么根文件系统和普通的文件系统有什么区别呢?我认为根文件系统就是要包括Linux启动时所 必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在Linux挂载分区时Linux一定会找/etc/fstab这个 挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux系统启动所必须的文件都可以成为根文件系统。 Linux支持多种文件系统类型,在嵌入式上常用的有:ROMFS,JFFS2,NFS,CRAMFS,YAFFS等等。在Linux系统中是通过mount命令来挂载不同的文件系统。在ARM Linux中常用的文件系统的配置:RAM Disk Driver + EXT2;MTD Driver + JFFS2/YAFFS;NFS;uclinux中常见的文件系统配置为:Blkmem Driver + ROMFS(支持 Nor ......>>

问题五:什么是根文件系统 是文件系统根目录么?就是你分区之后的盘符的首层路径。如:C:/这类的。

问题六:根文件系统的文件系统 (1)jffs2JFFS嵌入式系统文件系统最早是由瑞典 Axis munications公司基于Linux2.0的内核为嵌入式系统开发的文件系统。JFFS2是RedHat公司基于JFFS开发的闪存文件系统,最初是针对RedHat公司的嵌入式产品eCos开发的嵌入式文件系统,所以JFFS2也可以用在Linux, uCLinux中。Jffs2: 日志闪存嵌入式系统文件系统版本2 (Journalling Flash FileSystem v2)主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2的运行速度大大放慢。目前jffs3正在开发中。关于jffs系列文件系统的使用详细文档,可参考MTD补丁包中mtd-jffs-HOWTO.txt。jffsx不适合用于NAND闪存主要是因为NAND闪存的容量一般较大,这样导致jffs为维护日志节点所占用的内存空间迅速增大,另外,jffsx文件系统在挂载时需要扫描整个FLASH的内容,以找出所有的日志节点,建立文件结构,对于大容量的NAND闪存会耗费大量时间。(2)yaffs:Yet Another Flash File Systemyaffs/yaffs2是专为嵌入式系统使用 NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux和eCos,还支持WinCE, pSOS和ThreadX等。yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。当然,yaffs也可与MTD驱动程序配合使用。yaffs与 yaffs2的主要区别在于,前者仅支持小页(512 Bytes) NAND闪存,后者则可支持大页(2KB) NAND闪存。同时,yaffs2在内存空间占用、垃圾回收速度、读/写速度等方面均有大幅提升。(3) Cramfs:pressed ROM File SystemCramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。Cramfs文件系统以压缩方式存储,在运行时解压缩,所以不支持应用程序以XIP方式运行,所有的应用程序要求被拷到RAM里去运行,但这并不代表比 Ramfs需求的RAM空间要大一点,因为Cramfs是采用分页压缩的方式存放档案,在读取档案时,不会一下子就耗用过多的内存空间,只针对目前实际读取的部分分配内存,尚没有读取的部分不分配内存空间,当我们读取的档案不在内存时,Cramfs文件系统自动计算压缩后的资料所存的位置,再即时解压缩到 RAM中。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。由于以上特性,Cramfs在嵌入式系统中应用广泛。但是它的只读属性同时又是它的一大缺陷,使得用户无法对其内容对进扩充。Cramfs映像通常是放在Flash中......>>

问题七:Linux 根文件系统 为什么 重要 没有根,也就没法向上长成树;当然,Linux里的文件系统一般是一棵倒着的树。
既然根对一棵真树那么重要,在Linux里也可以类推了。
根文件系统是其他文件的最终挂载点,没有根文件系统,就像一棵被砍成七零八落的树,乱七八糟了。。。

问题八:什么是linux根文件系统移植 linux文件系统格式挺复杂多样的,如ext、ext2、ext3、ext4、jsf、 、xfs、ReiserFS等。 一般情况下,linux根分区文件系统多数用ext3、ext4,安装时你可以选择。

问题九:Linux内核中有文件系统模块, 那它和根文件系统什么关系哦? linux内核是linux的真实的操作系统,所有的操作系统的相关功能都是由用户接口程序传递到内核由内核来完成的。
linux文件系统是指linux操作系统对整个系统中的所有的数据、文件的管理的一种实现方式。
简单点说:像windows它的文件系统是NTFS文件系统或者FAT文件系统,通过这种方式将windows的各种文件保存在磁盘上,用于存储和访问了。
而linux系统则使用ext这种文件系统来实现。

问题十:Linux 根文件系统 为什么 重要 没有根,也就没法向上长成树;当然,Linux里的文件系统一般是一棵倒着的树。 既然根对一棵真树那么重要,在Linux里也可以类推了。 根文件系统是其他文件的最终挂载点,没有根文件系统,就像一棵被砍成七零八落的树,乱七八糟了。。。如果你还有什么不懂的就去看看《Linux就该这么学》这本书。

❷ 什么是根文件系统

文件系统:File System => FS;
根文件系统:Root File System => RFS。

首先你考虑一点描述语句:根文件系统也是一种“文件系统”,可以认为是一种“特殊的”“文件系统”,为什么是叫“特殊的”呢?因为这种“根文件系统”承载着某些“特殊的功能”(其实“文件系统”相同的话,所具备的功能都是一样的),那就是“操作系统”可能需要通过某种“布局”来管理相关设备的,诸如软盘设备、硬盘设备、虚拟磁盘设备等等,这里可能就是用了一种已被定义好了“数据结构”的“布局”,即“文件系统”,而出现的“根文件系统”,可能是用来担当主要或重要角色。

形象点来说,Windows下的C盘分区是有一定文件系统的,如FAT32、NTFS,这当然也都是文件系统呀。在安装Windows操作系统时,会要求你先“格式化”C盘[当然我们目前考虑操作系统是被安装在C盘中],采用一种“文件系统”比如NTFS、FAT32等,这一步呀,就类似于安装“根文件系统”,也就是说在C盘中的NTFS文件系统会被称作是“根文件系统”,而在D盘等中的NTFS文件系统会被称作是“文件系统”或你想加上前缀名称也不是不可以,比如“普通文件系统”,而我们从名称上来说的话,因为这里出现了一个字眼“根”,所以我们就有两种名称的叫法了,自然就是FS与RFS,所以这种名称叫法就会让人感觉很是“云里雾里”,而后“不知所云”的],这个“格式化”过程就是将C盘上的存储空间按预先定义好的一种FS的“数据结构”去“初始化”这些磁盘,[这里假设MINIX FS也可被Windows用来“格式化”C盘呀]比如建立引导块、建立超级块、建立两类位图块、建立i节点位图块、建立好数据区块等)也就是说,这个磁盘分区必须已经按一定数据结构的方式把磁盘空间“组织”好,以便“某种系统”(OS或FS,好象是FS更准确吧)能“访问”该分区,所以在 0.11内核中会有两种区分:mount_root() 和 sys_mount(),分别指“挂载根文件系统”、“挂载文件系统”[这里我觉得不应该用一个词:安装!我所理解的意思是,“安装”就是指把某种东西 “放”到另一种东西上面去,比如你要安装某种软件到C盘,这种软件的安装程序可能在D盘,这时你会启动D盘上该软件的安装程序,然后安装程序就会把软件默认安装到C盘上,所以这个过程会叫做“安装”,安装前C盘上没有该软件的任何信息,安装后C盘上就会有该软件的信息啦],所以呢,要使用 sys_mount()功能,某种设备(具体来说就是某一分区)必须已经被某种FS的格式“安装”好,然后该设备才会被“挂载”(mount)到“一个地 方”去。

那我们就以MINIX FS和FAT FS来分析吧。

在0.11内核代码中,从mount_root(void)中的注释可知,该函数会被“系统调用函数”sys_setup()调用,而在系统开机初始化设置时函数sys_setup()会被调用。为什么不会调用sys_mount()呢?那我们又何时使用sys_mount()函数呢?其实 sys_mount()函数也是“系统调用函数”。我们在linux系统中,当你在某个shell的命令行中输入mount后回车,你会看到以下提示信 息:
mount: usage: mount dev dir
你大概应该清楚了,而这是“正确的提示信息”,因为我们用错mount用法了(另外,在/bin目录下,可以看到有mount这样一个文件,mount应 该就是一个单独的程序了吧:-),好多地方都说mount是shell内部命令,而我更可能会认为cd才是shell的内部命令之一)。
那我们从sys_mount()函数的注释中可以知道,该函数是“安装文件系统调用函数”(我个人觉得这句话不太好理解),而我知道函数的功能,所以我会这么理解:这个函数是一“系统调用函数”,其功能是“将一个‘文件系统’即FS‘挂载’到(现有‘根文件系统’即RFS的)一个“目录”上,即目录文件的i节点。所以呢,这个就与“mount dev dir”这样的提示信息对应起来了;另外,我们需要知道,dev表示的是某个设备上的一个分区,而dir表示的是某一个“现有的”文件系统中的“目录文件”,注意一定是“现有的”,在这里就是我们说的“根文件系统”,所以,你要使用mount功能,就得有以下条件:
1、在一个现有“文件系统”(根文件系统RFS)下面
2、该RFS中已经有了一些设备文件的存在,比如 /dev 下面的 hd0,hd1,等等
3、2中的/dev其实就是由RFS来管理的
4、还需要有一个目录存在,而该目录也是在该RFS中的即由RFS来管理的
5、当然你要有实际的磁盘设备存在(/dev/hd0只是表示一个“虚”的设备文件名而已)且该设备已被“FS”格式化好了
6、最后你就会用mount dev dir这样的方式,将实际的磁盘分区“挂载”到dir中

假如,你有一个硬盘(假设大小是512MB),就只是一个分区,该分区中的FS是 FAT FS(假设unix可以直接访问,大不了看成是与minix fs是一样的,只是名称不同而已,以下就是把它看成就是一个minix fs来分析的)。

所以当你启动了“0.11系统”(这个说法比较简化,意思就是你进入了sh命令行)后,其实RFS就已经被“自动”“挂载”好了(就是 mount_root()),这时,你需要在该“0.11系统”中访问那个硬盘,假设硬件上你已经安装好了硬盘了,然后你会在sh命令行中进行“安装”过 程了,假如是:
mount /dev/hd0 /mnt/fatc
即将第一个硬盘的第一个分区(目前只有一个分区)“挂载”到“RFS”中的根目录下的mnt目录中的fatc目录上。所以,你可以直接“进入”到 fatc目录中去访问该硬盘里的文件了。
成功了!挂载成功,大功告成!

因为你了解内核代码,所以你应该知道mount一系列过程的,你要知道以下几点:
1、/dev/hd0, /mnt/fatc都是RFS中的“文件”(统称),前者是设备文件,后者是目录文件。
[体现在i节点结构中,就是各自的inode->i_mode中会区分是“设备类型文件”还是“目录类型文件”,且前者的 inode->zone[0]存有该设备的设备号(还有inode->i_dev也是设备号,但实际含义不一样),后者的 inode->i_mount就被置位啦,注意因为这个i节点就是一个“被‘安装’/‘挂载’好了FS的i节点]

2、/这是目录,但这个是RFS的目录,且是根目录。

3、/mnt/fatc “相当于”就是那个硬盘分区中FS的根目录。但其实该硬盘中的根目录也是/。
[假设当你去访问那个分区“根”目录(其实也是/,但你能直接进去吗?)中的某个文件hello.c,时,你会在现有sh命令行中,cd /mnt/fatc回车后 ls hello* -l,然后你会发现有hello.c这个文件,其实你就应该需要知道RFS是怎么“定位”寻找到该hello.c文件的,当中有一个重要的过程就是需要取 每一个文件的inode信息即iget()函数,该函数中发现某文件的inode->i_mount被置位时,就“特别小心”了,为什么?因为该 inode表示被“挂载”了一个文件系统,所以RFS会“切换”到那个FS的根目录中去(使用了ROOT_INO,super_block.s_dev这样的参数),然后再在该FS中按正常的过程继续寻找所需要的文件,所以你能找到]

“正常的过程”就是指:要么从一个FS的根目录中开始查找文件,要不从一个文件系统当前用户进程的当前工作目录中开始查找文件。

所以就有一个重要的说法(我是这么理解的):跨文件系统访问文件。这一过程涉及面较广,主要数据结构有:i节点、超级块。

4、最后,当你不需要使用该分区或是你想把硬盘拿走,则你会使用 umount 功能啦,这就对应 sys_umount()这一“系统调用函数”,那你就要知道该函数做了些什么事了。

最后,总的来说:
mount_root()挂载了一个MINI FS又被称为是RFS。
然后你可以在该RFS中再挂载别的FS。RFS与系统“共存亡”,自动被“挂载”,自动被“卸载”。
所以,FAT等也可以是根文件系统,当然也是文件系统。

所以,当你在你电脑上安装了多操作系统时,假设在C盘(FAT32 FS)被装了 win98,在D盘(NTFS FS)被安装了winxp,那么,当你进入了win98时,你FAT32好象就是RFS,那么NTFS就是FS了;当你进入了winxp时,NTFS好象就是RFS,那么FAT32就是FS了。
(为什么C盘是要FAT32呢,因为win98不支持ntfs fs,而你又是装的win98)

❸ 根文件系统的简介

首先要明白的是“什么是文件系统”,文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。在一篇oracle的技术文章中看到这样一句话“尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件”,这句话我是这样理解的,在Linux没有文件系统的话,用户和操作系统的交互也就断开了,例如我们使用最多的交互shell,包括其它的一些用户程序,都没有办法运行。在这里可以看到文件系统相对于Linux操作系统的重要性。下面是Linux文件系统组件的体系结构。
用户空间包含一些应用程序(例如,文件系统的使用者)和 GNU C 库(glibc),它们为文件系统调用(打开、读取、写和关闭)提供用户接口。系统调用接口的作用就像是交换器,它将系统调用从用户空间发送到内核空间中的适当端点。
VFS 是底层文件系统的主要接口。这个组件导出一组接口,然后将它们抽象到各个文件系统,各个文件系统的行为可能差异很大。有两个针对文件系统对象的缓存(inode 和dentry)。它们缓存最近使用过的文件系统对象。
每个文件系统实现(比如 ext2、JFS 等等)导出一组通用接口,供 VFS 使用。缓冲区缓存会缓存文件系统和相关块设备之间的请求。例如,对底层设备驱动程序的读写请求会通过缓冲区缓存来传递。这就允许在其中缓存请求,减少访问物理设备的次数,加快访问速度。以最近使用(LRU)列表的形式管理缓冲区缓存。注意,可以使用 sync 命令将缓冲区缓存中的请求发送到存储媒体(迫使所有未写的数据发送到设备驱动程序,进而发送到存储设备)。
当我们在Windows下,提到文件系统时,你的第一反应是想到的是什么?是不是Windows下的一些Fat32、NTFS等的文件系统的类型。而在Linux中,你可能会想到Ext2、Ext3,但你还必须要有一个根文件系统的概念。根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。
那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。如果要弄明白这里的过程的话,可要好好的看看Linux内核源码了。下图展示了VFS,内核,文件系统的层次结构:
根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其他文件系统得以挂载(mount)所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。
在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录,文件。
Linux根文件系统中一般有如下图的几个目录:
1./bin目录
该目录下的命令可以被root与一般账号所使用,由于这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中。
/bin目录下常用的命令有:cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir、[、test等。其中“[”命令就是test命令,我们在利用Busybox制作根文件系统时,在生成的bin目录下,可以看到一些可执行的文件,也就是可用的一些命令。
2./sbin 目录
该目录下存放系统命令,即只有系统管理员(俗称最高权限的root)能够使用的命令,系统命令还可以存放在/usr/sbin,/usr/local/sbin目录下,/sbin目录中存放的是基本的系统命令,它们用于启动系统和修复系统等,与/bin目录相似,在挂接其他文件系统之前就可以使用/sbin,所以/sbin目录必须和根文件系统在同一个分区中。
/sbin目录下常用的命令有:shutdown、reboot、fdisk、fsck、init等,本地用户自己安装的系统命令放在/usr/local/sbin目录下。
3、/dev目录
该目录下存放的是设备与设备接口的文件,设备文件是Linux中特有的文件类型,在Linux系统下,以文件的方式访问各种设备,即通过读写某个设备文件操作某个具体硬件。比如通过dev/ttySAC0文件可以操作串口0,通过/dev/mtdblock1可以访问MTD设备的第2个分区。比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*等。
4./etc目录
该目录下存放着系统主要的配置文件,例如人员的账号密码文件、各种服务的其实文件等。一般来说,此目录的各文件属性是可以让一般用户查阅的,但是只有root有权限修改。对于PC上的Linux系统,/etc目录下的文件和目录非常多,这些目录文件是可选的,它们依赖于系统中所拥有的应用程序,依赖于这些程序是否需要配置文件。在嵌入式系统中,这些内容可以大为精减。
5./lib目录
该目录下存放共享库和可加载(驱动程序),共享库用于启动系统。运行根文件系统中的可执行程序,比如:/bin /sbin 目录下的程序。
6./home目录
系统默认的用户文件夹,它是可选的,对于每个普通用户,在/home目录下都有一个以用户名命名的子目录,里面存放用户相关的配置文件。
7./root目录
系统管理员(root)的主文件夹,即是根用户的目录,与此对应,普通用户的目录是/home下的某个子目录。
8./usr目录
/usr目录的内容可以存在另一个分区中,在系统启动后再挂接到根文件系统中的/usr目录下。里面存放的是共享、只读的程序和数据,这表明/usr目录下的内容可以在多个主机间共享,这些主要也符合FHS标准的。/usr中的文件应该是只读的,其他主机相关的,可变的文件应该保存在其他目录下,比如/var。/usr目录在嵌入式中可以精减。
9./var目录
与/usr目录相反,/var目录中存放可变的数据,比如spool目录(mail,news),log文件,临时文件。
10./proc目录
这是一个空目录,常作为proc文件系统的挂接点,proc文件系统是个虚拟的文件系统,它没有实际的存储设备,里面的目录,文件都是由内核
临时生成的,用来表示系统的运行状态,也可以操作其中的文件控制系统。
11./mnt目录
用于临时挂载某个文件系统的挂接点,通常是空目录,也可以在里面创建一引起空的子目录,比如/mnt/cdram /mnt/hda1 。用来临时挂载光盘、移动存储设备等。
12. /tmp目录
用于存放临时文件,通常是空目录,一些需要生成临时文件的程序用到的/tmp目录下,所以/tmp目录必须存在并可以访问。
那我们利用Busybox制作根文件系统就是创建这上面的这些目录,和这些目录下面的各种文件。
对于嵌入式Linux系统的根文件系统来说,一般可能没有上面所列出的那么复杂,比如嵌入式系统通常都不是针对多用户的,所以/home这个目录在一般嵌入式Linux中可能就很少用到,而/boot这个目录则取决于你所使用的BootLoader是否能够重新获得内核映象从你的根文件系统在内核启动之前。一般说来,只有/bin,/dev,/etc,/lib,/proc,/var,/usr这些需要的,而其他都是可选的。
根文件系统一直以来都是所有类Unix操作系统的一个重要组成部分,也可以认为是嵌入式Linux系统区别于其他一些传统嵌入式操作系统的重要特征,它给 Linux带来了许多强大和灵活的功能,同时也带来了一些复杂性。我们需要清楚的了解根文件系统的基本结构,以及细心的选择所需要的系统库、内核模块和应用程序等,并配置好各种初始化脚本文件,以及选择合适的文件系统类型并把它放到实际的存储设备的合适位置,下面是几中比较常用的文件系统。

❹ Linux根文件系统详解

Linux的文件和目录组织是一个单根的倒置的树状结构,文件系统从根目录下开始,用"/"表示,我们也可称为根文件系统(rootfs),这样的根文件系统,有以下特性:

(1) 文件名称区分大小写

(2)滚余 以.开头的文件为隐藏文件

(3) 以/作为路径分隔符

在Linux各大发行版中它们的文件和目录组织其实是遵循FHS(Filesystem Hierarchy Standard)标准,FHS定义了系统中每个目录的用途。FHS有2层规范,第一层里定义了/下的各个目录应该要放什么数据。第2层则是针对/usr及/var这2个目录的子目录来定义。最新版本FHS2.3,大致内容如下表所示大销滚:

各大发行版除了遵循基本的LFS之外,也可以追加自己的目录结构,形成自己的风格;例如:在Ubuntu中网卡配置文件是存放在/etc/network/目录下,CentOS是在/etc/sysconfig/network-scripts/目录下。CentOS系统一些重要的目录及其基本用斗和途如下图所示:

CentOS7之后bin,lib,lib64,sbin合并到/usr/bin,/usr/lib/,/usr/lib64,/usr/sbin里了。

阅读全文

与根文件系统是什么相关的资料

热点内容
为什么苹果6手机没有网络设置密码 浏览:187
ae文字教程 浏览:838
如何拉文件进去cad直接打开 浏览:400
飞傲x5二代固件升级 浏览:390
dll反编译工具 浏览:400
初中考试卷app 浏览:22
微信登陆请检查网络连接网络连接网络 浏览:294
win7怎么让隐藏的文件夹显示出来 浏览:264
2m的cad文件打开修改特别卡 浏览:89
编程语言学习班哪里好 浏览:990
5s文件管理 浏览:171
压缩文件格式损坏 浏览:773
设置某一程序的分辨率 浏览:294
5mb的mp3文件有多少字节 浏览:31
为什么排序数据乱了 浏览:534
能将扩展名为csv的文件内容读取 浏览:604
cdrx6是什么版本 浏览:484
pdf格式文件的编辑 浏览:362
win10桌面文件收缩不了 浏览:955
湘潭哪个教育机构培训编程 浏览:397

友情链接