【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会自动地把你的硬盘里面旧有的数据全部删除。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二重积分 - 包括计算方法和可视化

二重积分 - 包括计算方法和可视化 flyfish 计算在矩形区域 R [ 0 , 1 ] [ 0 , 2 ] R [0, 1] \times [0, 2] R[0,1][0,2] 下,函数 z 8 x 6 y z 8x 6y z8x6y 的二重积分。这相当于计算曲面 z 8 x 6 y z 8x 6y z8x6y 与 xy 平面之间的体积。 二重积分…

Windows 11内置一键系统备份与还原 轻松替代Ghost

面对系统崩溃、恶意软件侵袭或其他不可预见因素导致的启动失败,Windows 7~Windows 11内置的系统映像功能能够迅速将您的系统恢复至健康状态,确保工作的连续性和数据的完整性。 Windows内置3种备份策略 U盘备份:便携且安全 打开“创建一个恢…

AI与测试相辅相成

AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率,提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色:你是一个测试人员 内容:请帮我生成登录案例的测试用例 ​ 1.只有输入正确账号和密码才…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

LeetCode热题100刷题3:3. 无重复字符的最长子串、438. 找到字符串中所有字母异位词、560. 和为 K 的子数组

3. 无重复字符的最长子串 滑动窗口、双指针 class Solution { public:int lengthOfLongestSubstring(string s) {//滑动窗口试一下//英文字母、数字、符号、空格,ascii 一共包含128个字符vector<int> pos(128,-1);int ans 0;for(int i0,j0 ; i<s.size();i) {//s[i]…

uniapp启动页面鉴权页面闪烁问题

在使用uni-app开发app 打包完成后如果没有token&#xff0c;那么就在onLaunch生命周期里面判断用户是否登录并跳转至登录页。 但是在app中页面会先进入首页然后再跳转至登录页&#xff0c;十分影响体验。 处理方法&#xff1a; 使用plus.navigator.closeSplashscreen() 官网…

CSF视频文件格式转换WMV格式(2024年可用)

如果大家看过一些高校教学讲解视频的话&#xff0c;很可能见过这样一个难得的格式&#xff0c;".csf "&#xff0c;非常漂亮 。 用暴风影音都可以打开观看&#xff0c;会自动下载解码。 但是一旦我们想要利用或者上传视频的时候就麻烦了&#xff0c;一般网站不认这…

Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO

官网&#xff1a;https://streamlit.io/ github&#xff1a;https://github.com/streamlit/streamlit API 参考&#xff1a;https://docs.streamlit.io/library/api-reference 最全 Streamlit 教程&#xff1a;https://juejin.cn/column/7265946243196436520 Streamlit-中文文档…

Python脚本:将Word文档转换为Excel文件

引言 在文档处理中&#xff0c;我们经常需要将Word文档中的内容转换成其他格式&#xff0c;如Excel&#xff0c;以便更好地进行数据分析和报告。针对这一需求&#xff0c;我编写了一个Python脚本&#xff0c;能够批量处理指定目录下的Word文档&#xff0c;将其内容结构化并转换…

船舶雷达与导航系统选择7/8防水插座的原因分析

概述 船舶雷达与导航系统在现代航海中扮演着至关重要的角色&#xff0c;它们为船舶提供准确的导航信息&#xff0c;确保航行的安全和效率。在这些系统中&#xff0c;7/8防水插座的使用尤为重要&#xff0c;因为它们能够在恶劣的海上环境中提供稳定的电力和信号连接。接下来&am…

vue2(vue-cli3x[vue.config.js])使用cesium新版(1.117.0)配置过程

看来很多解决方法都没有办法&#xff0c;最后终于。呜呜呜呜 这里我用的是vue-cli去搭建的项目的vue2 项目&#xff0c;其实不建议用vue2搭配cesium。因为目前cesium停止了对vue2的版本更新&#xff0c;现在默认安装都是vue3版本&#xff0c;因此需要控制版本&#xff0c;否则…

初试成绩占比百分之70!计算机专硕均分340+!华中师范大学计算机考研考情分析!

华中师范大学&#xff08;Central China Normal University&#xff09;简称“华中师大”或“华大”&#xff0c;位于湖北省会武汉&#xff0c;是中华人民共和国教育部直属重点综合性师范大学&#xff0c;国家“211工程”、“985工程优势学科创新平台”重点建设院校&#xff0c…

ServiceImpl中的参数封装为Map到Mapper.java中查询

ServiceImpl中的参数封装为Map到Mapper.java中查询&#xff0c;可以直接从map中获取到key对应的value

HiAI Foundation开发平台,加速端侧AI应用的智能革命

如果您是一名开发者&#xff0c;正在寻找一种高效、灵活且易于使用的端侧AI开发框架&#xff0c;那么HarmonyOS SDKHiAI Foundation服务&#xff08;HiAI Foundation Kit&#xff09;就是您的理想选择。 作为一款AI开发框架&#xff0c;HiAI Foundation不仅提供强大的NPU计算能…

基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(二)增加基本的发起人审批与多用户多实例

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、AssigneeNode 增加approvalText public abstract class AssigneeNode extends Node {// 审批对象private AssigneeTypeEnum assigneeType;// 表单内人员private String formUser;// 表…

5款文案自动生成器,快速创作高质量文案

随着科技的发展&#xff0c;市面上出现了许多文案自动生成器&#xff0c;为我们的创作过程提供了极大的便利。无论是为了社交媒体内容创作&#xff0c;还是产品的文案的宣传&#xff0c;文案自动生成器就能为我们快速且高效地生成高质量的文案。以下将为大家分享5款备受赞誉的文…

Redis和PHP的Bitmap于二进制串的相互转换

Redis和PHP的Bitmap于二进制串的相互转换 场景 错题集的存储&#xff0c;需要有正确的题号id集合&#xff0c;错误的题号id集合&#xff0c;两者并集后在全量题的集合中取反就是未答题号id 选型 基于场景的数据结构设计&#xff0c;有试过列表等&#xff0c;测试结果&#xff1…

Oracle EBS PO采购订单预审批状态处理

系统版本 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 问题症状: 采购订单状态:预审批 采购订单流程报错如下: po.plsql.PO_DOCUMENT_ACTION_AUTH.approve:90:archive_po not successful - po.plsql.PO_DOCUMENT_ACTION_PVT.do_action:110:unexpected error in acti…

【最详细】PhotoScan(MetaShape)全流程教程

愿天下心诚士子&#xff0c;人人会PhotoScan&#xff01; 愿天下惊艳后辈&#xff0c;人人可剑开天门&#xff01; 本教程由CSDN用户CV_X.Wang撰写&#xff0c;所用数据均来自山东科技大学视觉测量研究团队&#xff0c;特此鸣谢&#xff01;盗版必究&#xff01; 一、引子 Ph…

MySQL高级-MVCC- readview介绍

文章目录 1、介绍2、ReadView中包含了四个核心字段&#xff1a;3、版本链数据的访问规则&#xff1a;4、不同的隔离级别&#xff0c;生成ReadView的时机不同&#xff1a; 1、介绍 ReadView&#xff08;读视图&#xff09;是 快照读 SQL执行时MVCC提取数据的依据&#xff0c;记录…