Linux根文件系统详解

Linux根文件系统详解,第1张

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里了。

通常情况下,Linux内核启动后期,会寻找并挂载根文件系统。根文件系统可以存在于磁盘上,也可以是存在于内存中的映像,其中包含了Linux系统正常运行所必须的库和程序等等,按照一定的目录结构存放。Linux根文件系统基本包括如下内容:

基本的目录结构:/bin、/sbin、/dev、/etc、/lib、/var、/proc、/sys、/tmp等;整个根文件系统都是挂在根目录(/)下,FHS对顶层目录的要求和说明如下表所列。

基本程序运行所需的库文件,如glibc等;

基本的系统配置文件,如inittab、rc等;

必要的设备文件,如/dev/ttyS0、/dev/console等;

基本应用程序,如sh、ls、cd、mv等。

你可以去【周立功】那边了解一下的,蛮多信息的。

类似于 Windows下的C、D、E等各个盘,Linux系统也可以将磁盘、Flash等存储设备划分为若干个分区,在不同分区存放不同类别的文件。与Windows的C盘类似,Linux一样要在一个分区上存放系统启动所必需的文件,比如内核映象文件(在嵌入式系统中,内核一般单独存放在一个分区中)内核启动后运行的第一-个程序( init)给用户提供 *** 作界面的 shell程序、应用程序所依赖的库等。这些必需、基本的文件合称为根文件系统,它们存放在一个分区中。Linux 系统启动后首先挂接这个分区,称为挂接( mount)根文件系统。其他分区上所有目录、文件的集合,也称为文件系统。Linux 中并没有C、D、E等盘符的概念,它以树状结构管理所有目录、文件,其他分区挂接在某个目录上,这个目录被称为挂接点或安装点(mount point),然后就可以通过这个目录来访问这个分区上的文件了。比如根文件系统被挂接在根目录“I”上后,在根目录下就有根文件系统的各个目录、文件:/bin、/sbin、/mnt等再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区.的各个目录、文件。在一个分区上存储文件时,需要遵循一定的格式,这种格式称为文件系统类型,比如fat16、fat32、ntfs、ext2、ext3、jffs2、yaffs 等。除这些拥有实实在在的存储分区的文件系统类型外,Linux还有几种虚拟的文件系统类型,比如proc、sysfs 等,它们的文件并不存储在实际的设备上,而是在访问它们时由内核临时生成。比如 proc文件系统下的uptime文件,读取它时可以得到两个时间值(用来表示系统启动后运行的秒数、空闲的秒数),每次读取时都由内核即刻生成,每次读取结果都不一样。“文件系统类型”常被简称为“文件系统”,比如“硬盘第二个分区上的文件系统是EXT2”指的就是文件系统类型。所以“文件系统”这个术语,有时候指的是分区上的文件集合,有时候指的是文件系统类型,需要根据语境分辨,在阅读各类文献时需要注意这点。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6062971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存