Linux目录树与磁盘分区

Posted python之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux目录树与磁盘分区相关的知识,希望对你有一定的参考价值。

1 目录树

Linux的目录为树形结构(目录树),有一个在文件系统中唯一的“根”,系统的所有文件都作为“根”的子节点存在,如下图所示:

如上图所示,根目录“/”下面有“bin、boot、dev、etc、home、root”等目子录;各子目录存放特定类型的文件,如“boot”下存放开机启动时需要的文件。

2 磁盘分区

如何将以上目录结构及其所含文件存放在磁盘上呢?Linux给出的方式是“分区 + 挂载”。
简而言之,即是将磁盘的分区与目录树的节点(目录或挂载点)结合,如下图所示:

如上图所示,根目录“/”挂载于磁盘a的分区1,子目录“boot”挂载于磁盘a的分区2,swap(交换分区)挂载于磁盘a的分区3,子目录“home”挂载于磁盘b的分区2,……

3 数据存放位置

按照以上组织方式,“etc、root、bin、sbin”等目录中的所有文件包括子目录文件均存放在磁盘a的分区1中,“boot”目录中的所有文件包括子目录文件均存放在磁盘a的分区2中,“home”目录中的所有文件包括子目录文件均存放在磁盘b的分区2中;

换言之,对于被挂载磁盘分区的目录,其下的所有数据均被存放在挂载的磁盘分区中;对于未被挂载磁盘分区的目录,其下的所有数据均被存放在挂载于“/”目录的磁盘分区中;

4 实操说明

按照以上组织方式,不是所有目录都适合作为挂载点使用的,有些目录是与根目录“/”在同一磁盘分区下,有些目录则拥有自己的特定磁盘分区;
那么,哪些目录无需额外挂载分区,哪些目录需要自己的专属分区呢?

一般而言,根目录下的/etc、/bin、/dev、/lib、/sbin,这些目录都不能作为挂载点使用,需要和/根目录放在同一个分区中;而对于数据变动比较大的目录如“home”则一般需要专属磁盘分区;

5 Linux默认的分区方案

Linux默认可分为3个分区,分别是boot分区、swap分区和根分区

(1)boot分区

该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操作就是操作该分区。

(2)swap分区

该分区没有对应的目录,故用户无法访问。
Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。
Ps:虚拟内存
虚拟内存是指将硬盘上某个区域模拟为内存.因此虚拟内存的实际物理地址仍然在硬盘上.虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍。

(3)根分区

在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。

作者: python之家

出处: http://www.cnblogs.com/pythonfl/

本文版权归作者和博客园共有,转载时请标明本文出处;如对本文有疑问,欢迎邮件15256636585@qq.com联系;如发现文中内容侵犯到您的权利,请联系作者予以处理。

以上是关于Linux目录树与磁盘分区的主要内容,如果未能解决你的问题,请参考以下文章

linux中划分新的磁盘分区并挂载到一个目录下的目的是啥?如何知道一个目录挂载了那个磁盘剩多少空间?

linux中划分新的磁盘分区并挂载到一个目录下的目的是啥?如何知道一个目录挂载了那个磁盘剩多少空间?

Linux实操篇—— 磁盘分区网络配置

Linux 磁盘与文件系统管理

Linux 磁盘分区文件系统目录

Linux 磁盘与文件系统管理