磁盘分区和挂载

一、分区概念

1、基本概念

(1) 一块硬盘最多只能有4个主分区
(2) 其中一个(且最多只能有一个)主分区能作为扩展分区,而扩展分区不能写入数据,只能包含逻辑分区

 2、格式化

分区之后的磁盘并不能直接使用,而是需要先进行格式化,又称为逻辑格式化。它是指根据用户选定的文件系统(FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表(主要用于标识文件的各个block在磁盘中的位置,相当于索引)等用于文件管理的磁盘空间。粗略来说,就是将磁盘进一步按照指定格式划分成block块(4kb)

 3、硬件设备文件名

与Window不同的是,Linux磁盘分区之后,并不能直接分配盘符,而是需要先对硬件设备本身进行命名(这个过程是系统自动完成的)。不同的设备有固定的命名规则和样式。如下图所示:

硬件设备文件名
IDE硬盘/dev/hd[a-d]
SCSI/SATA/USB硬盘/dev/sd[a-p]
Virtl/O界面/dev/vd[a-p] 用于虚拟机内
光驱/dev/cdrom或/dev/sr0
软盘/dev/fd[0-1]
打印机(USB)/dev/usb/lp[0-15]
鼠标/dev/mouse

以两块硬盘为例,展示硬件设备的分区和命名规则:

特别注意:因为1、2、3、4分区号是分配给主分区的,所以尽管硬盘b只有两个主分区(sdb1和sdb2),但是其逻辑分区仍然是从5开始编号(sdb5、sdb6和sdb7)。

 4、挂载

将硬件设备名和Linux目录(借用windows的说法是盘符)关联的过程。也就是将硬件设备名挂载到Linux某个目录,之后就可以通过该目录访问硬件设备中的数据。

Linux中必须挂载的两个分区目录包括:根分区(/)和swap分区(作为交换分区,即内存不够用时,临时借用的硬盘上的一部分空间)。

推荐挂载的分区目录:/boot,作为系统启动分区。

二、文件系统结构

硬盘分区之后,Linux文件系统结构示例如下:

1、目录逻辑结构

2、目录物理结构

由上图可知,物理结构和逻辑结构可能是分裂的。在实际物理存储时,我们会为/boot和/home单独分配一片磁盘空间,作为单独的分区,虽然在逻辑上,/boot和/home都属于/下面的子目录。通俗来说,根目录下的/boot子目录中的数据会存储到sda1分区,/home子目录中的数据则会存储到sda2分区,而根目录下其它子目录文件则会存储到sda3分区。

三、文件系统查看命令

1、df命令

[root@master ~]# df -h

重点关注/dev/vda3和/dev/vda2, 表明该云服务器(aliyun)上有两个硬盘分区,然后挂载点(目录)分别是根目录(/)和/boot/efi。

2、du命令

用于查看目录(递归其所有子目录和文件)磁盘占用空间大小:

du [选项] [目录或文件名]

-a 显示每个子文件的磁盘占用量,默认值统计子目录的磁盘占用量

-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等

-s 统计总占用量,而不列出子目录和子文件的占用量

 (1) 显示etc目录下每个子文件夹的磁盘占用量

[root@master ~]# du -h /etc

 (2) 显示etc目录总的磁盘占用量

# 查看etc目录下所有文件的大小
[root@master ~]# du -sh /etc
24M	/etc

3、挂载命令

(1)mount基本用法

   显示挂载信息

[root@master /]# mount

(2)mount完整命令

mount [-t文件系统][-L 卷标名][-o特殊选项] 设备文件名 挂载点

选项:

-t 文件系统,加入文件系统类型来指定挂载的类型,可以是ext3、ext4、iso9660等文件系统

-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载

-o 特殊选项:可以指定挂载的额外选项

 常用的特殊选项(-o):

示例:
mount -o remount,noexec /home/

这样设置后,/home/目录下的文件将不具备可执行权限。

(3)mount挂载和卸载示例

>>挂载光盘

1. 挂载

# 1.建立挂载点

[root@master /]# mkdir /mnt/cdrom

# 2.挂载光盘

[root@master /]# mount -t iso9660 /dev/cdrom/ /mnt/cdrom

2. 卸载

umount 设备文件名或挂载点

[root@master /]#umount /mnt/cdrom

>>挂载U盘

# 查看U盘设备文件名

[root@master /]#fdisk -l

# 挂载U盘

[root@master /]#mount -t vfat /dev/sdb1 /mnt/usb/

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

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

相关文章

2024牛客寒假算法基础集训营2

C Tokitsukaze and Min-Max XOR 题目大意 给定一个数组从任取数构成序列序列满足,(可以只取一个数)问能构造出多少个 解题思路 定找双枚举时间复杂度到,考虑利用加速统计的方案,即将数字按二进制位拆分挂在树上对于…

【学网攻】 第(26)节 -- 综合网络实验一

系列文章目录 目录 系列文章目录 文章目录 前言 一、综合实验 二、实验 1.引入 实验目标 实验设备 实验拓扑图 实验配置 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节…

【通讯录案例-保存开关状态 Objective-C语言】

一、接下来,我们要实现一个什么功能呢,在这个,我们的“通讯录”里边儿, 1.我们有两个开关,“记住密码”、“自动登录”、两个开关, 如果我们点击“记住密码”, 如果我们点击“记住密码”,然后呢,我把这个程序关了,我下一次再打开这个程序的时候,这个用户名和密码,…

【粉丝福利社】Flutter小白开发——跨平台客户端应用开发学习路线(文末送书-完结)

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主&#xf…

Linux第48步_编译正点原子的出厂Linux内核源码

编译正点原子的出厂 Linux 内核源码,为后面移植linux做准备。研究对象如下: 1)、linux内核镜像文件“uImage” 路径为“arch/arm/boot”; 2)、设备树文件“stm32mp157d-atk.dtb” 路径为“arch/arm/boot/dts” 3)、默认配置文件“stm32m…

IDEA Ultimate下载(采用JetBrain学生认证)

IDEA Ultimate版本下载 Ulitmate是无限制版(解锁所有插件,正版需要付费。学生可以免费申请许可)Community是开源社区版本(部分插件不提供使用,比如Tomcat插件。免费) 我们将通过学生认证获取免费版。 Je…

线性判别分析(LDA)

一、说明 LDA 是一种监督降维和分类技术。其主要目的是查找最能分隔数据集中两个或多个类的特征的线性组合。LDA 的主要目标是找到一个较低维度的子空间,该子空间可以最大限度地区分不同类别,同时保留与歧视相关的信息。 LDA 是受监督的,这意…

PKI - 借助Nginx实现_客户端使用自签证书供服务端验证

文章目录 Pre概述在 Nginx 中实现客户端使用自签名证书供服务器验证1. 生成客户端密钥对2. 生成自签名客户端证书3. 配置 Nginx4. 重启 Nginx 修5. 验证 在浏览器中安装客户端证书以便进行访问 Pre PKI - 借助Nginx 实现Https 服务端单向认证、服务端客户端双向认证 PKI - 数…

接口测试框架分析

框架大体上已经写完了,不过说实话好多代码让我自己写我也写不出来,那该怎么办呢?很简单,把现在已经写好的代码保存起来,等用的时候拿出来复制粘贴就好了,如果你是大神,自己会写,那就…

mxxWechatBot主动发送消息至微信

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑封禁账号!!!本人不对任何工具的使用负责&am…

C++多态重难点

CSDN上已经有很多关于C多态方面的一些系统介绍了,但是我看了一下一些有关于多态问题的细节问题文章较少,因此我想要出一片文章重点讲一讲我认为比较重点且容易被遗忘的知识点,一些比较基本的知识这里就不过多赘述了,可以参考其他优…

AtCoder Beginner Contest 340(A-G)

A - Arithmetic Progression (atcoder.jp) 1.思路&#xff1a;循环输出即可 2.代码&#xff1a; #include <bits/stdc.h> #define rep(i,z,n) for(int i z;i < n; i) #define per(i,n,z) for(int i n;i > z; i--) #define PII pair<int,int> #define fi f…