【Linux进阶】磁盘分区3——目录树,挂载

 Linux安装模式下,磁盘分区的选择(极重要)

        在Windows 系统重新安装之前,你可能会事先考虑,到底系统盘C盘要有多大容量?而数据盘D盘又要给多大容量等,然后实际安装的时候,你会发现其实C盘之前会有个100MB的分区被独立出来,所以实际上你就会有三个分区,那Linux下面又该如何设计类似的东西呢?

1.目录树结构(directory tree)

        我们前面有谈过Linux内的所有数据都是以文件的形式来呈现,所以,整个Linux系统最重要的地方就是在于目录树架构。

所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现为分支状的目录结构的一种文件架构。

所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线“/”,所有的文件都与目录树有关。

目录树的呈现方式如图所示。

所有的文件都是由根目录(/)衍生来的,而子目录之下还能够有其他的数据存在。长方形为目录,波浪形则为文件。

那当我们想要取得mydata那个又件时,系统就得由根目录开始找,然后找到home接下来找到dmtsai,最终的文件名为:/home/dmtsai/mydata。

我们现在知道整个 Linux 系统使用的是目录树架构,但是我们的文件数据其实是放置在磁盘分区当中,现在的问题是“如何结合目录树的架构与磁盘内的数据”?

这个时候就牵扯到挂载(mount)的问题。

2.文件系统与目录树的关系(挂载)

       我们说过, Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。

        因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。

      也就是说,  挂载指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。 

        如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。

        并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。

我们看个例子来理解挂载

举个例子,我们想通过命令行访问某个 U 盘中的数据,图 1 所示为 U 盘文件目录结构和 Linux 系统中的文件目录结构。

图 1 中可以看到,目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载。

接下来,我们在根目录下新建一个目录 /sdb-u,通过挂载命令将 U 盘文件系统挂载到此目录,挂载效果如图 2 所示。

可以看到,U 盘文件系统已经成为 Linux 文件系统目录的一部分,此时访问 /sdb-u/ 就等同于访问 U 盘。

        前面讲过,根目录下的 /dev/ 目录文件负责所有的硬件设备文件,事实上,当 U 盘插入 Linux 后,系统也确实会给 U 盘分配一个目录文件(比如 sdb1),就位于 /dev/ 目录下(/dev/sdb1),但无法通过 /dev/sdb1/ 直接访问 U 盘数据,访问此目录只会提供给你此设备的一些基本信息(比如容量)。

由于整个Linux 系统最重要的是根目录,因此根目录一定需要挂载到某个分区,至于其他的目录则可依用户自己的需求挂载到不同的分区,我们以下图作为一个说明:

       上图中假设我的硬盘分为两个分区,分区1是挂载到根目录,至于分区2则是挂载到/home这个目录。这也就是说,当我的数据放置在/home内的各层目录时,数据是放置到分区2中的,如果不是放在 /home下面的目录,那么数据就会被放置到partition1。

        Windows也是用挂载的概念。鸟哥上课经常谈到的范例就是,当你拿U盘连接到你的Windows时,系统会检测到一个F盘,那你想要读取U盘的数据,要去哪里?当然就去F盘,同样的这个U盘,当你拿到学校的Windows时,却显示的是H盘好了,那你要读取U盘的数据还是去F盘吗?当然不是,你会去H盘。

这个“设备与磁盘分区对应的关系,就是Windows概念下的挂载”。这样说,有没有比较容易理解呢?

        其实判断某个文件在哪个分区下面是很简单的,通过反向追踪即可。以上图来说,当我想要知道home/vbird/test这个文件在哪个分区时,由test-->vbird-->home-->/,看哪个“进入点”先被查到那就是使用的进入点。所以test 使用的是/home这个进入点而不是/。

例题

        现在让我们来想一想,我的计算机系统如何读取光盘内的数据?

在Windows里面使用的是“光驱”的代号方式处理(假设为E盘时),但在Linux下面我们依旧使用目录树。在默认的情况下,Linux是将光驱的数据放置到/media/cdrom里面。

如果光盘里面有个文件名为“我的文件”的文件,那么这个文件是在哪里?

       答:这个文件最终会在如下的完整文件名中:

  • Windows:桌面\我的计算机\E:\我的文件
  • Linux:/media/cdrom/我的文件

如果光驱并非被挂载到/media/cdrom,而是挂载到/mnt这个目录时,刚刚读取的这个文件的文件名会变成:

  • /mnt/我的文件

如果你了解这个文件名,这表示你已经知道了挂载的意义。初次接触Linux时,这里最容易搞混
因为它与Windows的分区代号完全不一样。

3.发行版安装时,挂载点与磁盘分区的规划

        既然我们在 Linux 系统下使用的是目录树系统,所以安装的时候自然就得要规划磁盘分区与目录树的挂载。

        实际上,在Linux安装的时候已经提供了相当多的默认模式让你选择分区的方式,不过,无论如何,分区的结果可能都不是很能符合自己主机的样子。

因为毕竟每个人的“想法”都不太一样。

因此,强烈建议使用“自定义安装(Custom)”这个安装模式。

在某些Linux发行版中,会将这个模式写得很厉害,称为“Expert,专家模式”,这个就厉害了,请相信您自己,了解上面的说明后,就请自称为专家了吧,没有问题。

自定义安装“Custom”

  • A:初次接触Linux:只要划分“/”及“交换分区”即可

通常初次安装Linux 系统的朋友们,我们都会建议它直接以一个最大的分区“/”来安装系统。这样做有个好处,就是不怕分区错误造成无法安装的困境。例如/usr是Linux的可执行程序及相关的文件存放的目录,所以它的容量需求蛮大的,万一你划分了一块分区给/usr,但是却给得不够大,那么就伤脑筋了。因为会造成无法将数据完全写入的问题,就有可能会无法安装。因此如果你是初次安装的话,那么可以仅划分成两个分区“/与交换分区”即可。

  • B:建议分区的方法;预留一个备用的剩余磁盘容量

        在想要学习Linux的朋友中,最麻烦的可能就是得要常常处理分区的问题,因为分区是系统管理员很重要的一个任务。但如果你将整个硬盘的容量都用光了,那么你要如何练习分区呢?所以鸟哥在后续的练习中也会这样做,就是请你特别预留一些未划分的磁盘容量,作为后续练习时可以用来分区之用。

        此外,预留的分区也可以拿来做为备份之用。我们在实际操作Linux 系统的过程中,如果发现某些脚本或是重要的文件很值得备份时,就可以使用这个剩余的容量划分出新的分区,并使用来备份重要的配置文件或是脚本。

        这有个最大的好处,就是当我的Linux重新安装的时候,我的一些软件或工具程序马上就可以直接在硬盘当中找到,这样重新安装比较便利。

为什么要重新安装?因为没有安装过Linux十次以上,不要说你学会了Linux,慢慢体会这句话吧!

  • 选择Linux安装程序提供的默认硬盘分区方式

对于首次接触Linux的朋友们,鸟哥通常不建议使用各个发行版所提供默认的Server安装方式,
        因为会让你无法得知Linux在搞什么,而且也不见得可以符合你的需求。而且要注意的是,选择Senver的时候,请确定你的硬盘数据是不再需要,因为Linux会自动地把你的硬盘里面旧有的数据全部删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/775387.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rocky Linux 9.4基于官方源码制作openssh 9.8p1二进制rpm包 —— 筑梦之路

2024年7月1日,openssh 9.8版本发布,主要修复了CVE-2024-6387安全漏洞。 由于centos 7的生命周期在6月30日终止,因此需要逐步替换到Rocky Linux,后续会有更多分享关于Rocky Linux的文章。 环境说明 1. 操作系统版本 cat /etc/o…

【Odoo开源ERP】别把ERP与进销存软件混为一谈

导读:企业使用ERP软件能够实现管理升级,多方信息集成,按照既定策略逻辑运算,生成计划建议,减少人力成本,提高准确率的同时提高经营能力。 ERP,是MRP II的下一代软件,除了MRP II已有的…

(0)2024年基于财务的数据科学项目Python编程基础(Jupyter Notebooks)

目录 前言学习目标:学习内容:大纲 前言 随着数据科学的迅猛发展,其在财务领域的应用也日益广泛。财务数据的分析和预测对于企业的决策过程至关重要。 本专栏旨在通过Jupyter Notebooks这一强大的交互式计算工具,介绍基于财务的数…

Uniapp 默认demo安装到手机里启动只能看得到底tab无法看到加载内容解决方案

Uniapp 默认demo安装到手机里以后,启动APP只能看到底tab栏,无法看到每个tab页对应的内容,HBuilder会有一些这样的报错信息: Waiting to navigate to: /pages/tabBar/API/API, do not operate continuously: 解决方案:…

在Linux操作系统中关于逻辑卷的案例

1.如何去创建一个逻辑卷 1.1先去创建物理卷 如上图所示,physical volume 物理卷 被成功创建。 如上图所示,可以使用pvscan来去查看当前Linux操作系统的物理卷/ 1.2使用创建好的物理卷去创建一个卷组。 如上图所示,可以使用第一步创建的两个…

windows电脑网络重置后wifi列表消失怎么办?

我们的电脑网络偶尔会出现异常,我们通常会下意识选择网络诊断,运行完诊断后一般会让我们选择重置网络,然而,重置后wifi列表突然消失,无法愉快地上网了,找了一圈,都说是更改适配器选项&#xff0…

CV02_超强数据集:MSCOCO数据集的简单介绍

1.1 简介 MSCOCO数据集,全称为Microsoft Common Objects in Context,是由微软公司在2014年推出并维护的一个大规模的图像数据集,旨在推动计算机视觉领域的研究,尤其是目标识别、目标检测、实例分割、图像描述生成等任务。该数据集…

CTF之unseping

拿到题目看不懂&#xff1f;这是难度1&#xff1f;含泪去看大佬的wp&#xff0c;写下我的自传&#xff01; <?php highlig…

滑动窗口(C++)

文章目录 1、长度最小的子数组2、无重复字符的最长子串3、最大连续1的个数 Ⅲ4、将x减到0的最小操作数5、水果成篮6、找到字符串中所有字母异位词7、串联所有单词的子串8、最小覆盖子串 通常&#xff0c;算法的主体说明会放在第一道题中。但实际上&#xff0c;不通常。 算法在代…

window上部署sql server改动端口、和sqlserver的一些还原、批量插入存储过程的命令

1.端口的查看和启动 --windows上安装上sql server数据库后&#xff0c;搜索界面搜索sql&#xff0c;会出现配置管理器&#xff0c;点击进入 --进入后再次选择配置管理器 2. sqlserver数据库还原图形化 sqlserver还原数据库时会使数据库进入一个restore的还原状态&#xff0c;…

图像的灰度直方图

先来认识一下灰度直方图&#xff0c;灰度直方图是图像灰度级的函数&#xff0c;用来描述每个灰度级在图像矩阵中的像素个数或者占有率。接下来使用程序实现直方图&#xff1a; 首先导入所需的程序包&#xff1a; In [ ]: import cv2 import numpy as np import matplotlib…

CSS原子化

目录 一、定义 二、原子化工具 2.1、tailwind 2.1.1、以PostCss插件形式安装 2.1.2、不依赖PostCss安装 2.1.3、修改原始配置 2.2、unocss 三、优缺点 3.1、优点 3.2、缺点 一、定义 定义&#xff1a;使用一系列的助记词&#xff0c;利用类名来代表样式。 二、原子化…

重载赋值运算符

c编译器可能会给类添加四个函数 1默认构造函数 2默认析构函数 3默认拷贝构造函数&#xff0c;对成员变量进行浅拷贝。 4默认赋值函数&#xff0c;队成员变量进行浅拷贝。 #include<iostream> using namespace std; class CGirl { public:int m_bh;string m_name;voi…

每日复盘-20240705

今日关注&#xff1a; 20240705 六日涨幅最大: ------1--------300391--------- 长药控股 五日涨幅最大: ------1--------300391--------- 长药控股 四日涨幅最大: ------1--------300391--------- 长药控股 三日涨幅最大: ------1--------300391--------- 长药控股 二日涨幅最…

LLM - 神经网络的训练过程

1. 对于回归问题&#xff0c;用损失函数来计算预测值和真实值的差异&#xff0c;一种常用的公式是如下图所示(Mean Square Error)&#xff0c;如果损失函数的值越小说明神经网络学习越准确&#xff0c;所以神经网络训练目标是减小损失函数的值&#xff0c; 2. 对于分类问题&…

Https网站如何申请免费的SSL证书及操作使用指南

前言 在当今互联网环境下&#xff0c;HTTPS已成为网站安全的标配&#xff0c;它通过SSL/TLS协议为网站数据传输提供加密&#xff0c;保障用户信息的安全。申请并部署免费SSL证书&#xff0c;不仅能够提升网站的专业形象&#xff0c;还能增强用户信任。本文将详细介绍如何在知名…

Yolo系列——动态卷积

一、为什么要提出动态卷积&#xff1f; 为了更好的将模型部署在边端设备上&#xff0c;需要设计轻量级网络模型。轻量级卷积网络因其较低的运算而限制了CNN的深度&#xff08;卷积层层数&#xff09;和宽度&#xff08;通道数&#xff09;&#xff0c;限制了模型的表达能力&am…

《昇思25天学习打卡营第10天|使用静态图加速》

文章目录 今日所学&#xff1a;一、背景介绍1. 动态图模式2. 静态图模式 三、静态图模式的使用场景四、静态图模式开启方式1. 基于装饰器的开启方式2. 基于context的开启方式 总结&#xff1a; 今日所学&#xff1a; 在上一集中&#xff0c;我学习了保存与加载的方法&#xff…

【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

金属3D打印如何精准选材

随着3D打印技术的飞跃发展&#xff0c;模具制造领域迎来了前所未有的创新机遇。在众多3D打印技术中&#xff0c;SLM金属3D打印以其精度高、复杂结构成型能力&#xff0c;成为众多行业的优选。然而&#xff0c;金属打印材料&#xff0c;如何精准选择&#xff0c;以最大化满足项目…