Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例
文章目录
- 4、查看或管理磁盘分区-fdisk
- 格式
- 选项
- 示例
- 4、示例:使用 fdisk 命令创建分区
- 需求
- 操作步骤
- 5、创建文件系统-mkfs
- 格式
- 常用选项
- 示例
- 创建其他类型的文件系统
- 6、创建文件系统-mkswap
- 格式
- 常用选项
- 示例
- 拓展:关闭和启用交换分区
- 拓展:swap分区编号为什么是1-4
- 7、挂载、卸载文件系统-mount、umount
- 1. 挂载文件系统-mount
- 2. 卸载文件系统-umount
- 8、设置文件系统的自动挂载-/etc/fstab文件
- 字段格式
- 内容示例
- 字段解释
- 添加示例
接上篇理论:Linux磁盘管理与文件系统(一):磁盘、MBR与分区和文件系统
本篇我们讲解一些实用的磁盘管理和文件系统命令:磁盘工具fdisk、创建文件系统、挂载和卸载文件系统以及配置启动自动挂载。
含一个示例实验:使用fdisk命令创建分区,有详细步骤。
4、查看或管理磁盘分区-fdisk
使用 fdisk
可以查看、创建、删除和修改磁盘分区。fdisk -l
可以列出所有磁盘及其分区信息,或指定特定的磁盘设备以查看其详细分区信息。
格式
fdisk [选项] [磁盘设备]
选项
:指定要执行的操作。[磁盘设备]
:指定要操作的磁盘设备(例如/dev/sda
)。
选项
l
:列出所有磁盘及其分区表,或者指定磁盘设备的分区表。b [大小]
:指定磁盘的逻辑块大小(如 512、1024、2048、4096 字节)。u
:显示分区的起始和结束位置,以扇区而不是柱面为单位。c [体积]
:忽略 DOS 兼容模式,或者开启 DOS 兼容模式(dos、nondos)。v
:显示fdisk
的版本信息。
示例
-
列出所有磁盘及其分区表:
fdisk -l
-
查看指定磁盘设备的分区表:
fdisk -l /dev/sda
-
显示分区的起始和结束位置,以扇区为单位:
fdisk -lu /dev/sda
4、示例:使用 fdisk 命令创建分区
需求
1、添加一块盘
2、划分分区-以主分区为主
3、使用xfs文件系统格式化和定义设备文件
4、创建/abc目录,将新建分区挂载到/abc上
5、配置为永久挂载,即重启后依然有效
操作步骤
-
添加一块盘:
以VMware虚拟机环境为例,在当前虚拟机设置中添加硬盘。
使用默认SCSI格式即可。
注:可以使用
lsblk
或fdisk -l
命令来确认系统是否识别了新硬盘。 -
进入
fdisk
交互模式:使用
fdisk
工具可以划分分区。一般添加过的第二块硬盘为/dev/sdb
,使用以下命令:fdisk /dev/sdb
提示:交互模式中的常用指令
m
:获取帮助菜单n
:新建分区**(常用)**p
:查看分区情况**(常用)**d
:删除分区t
:变更分区的类型(改变分区的系统ID)(常用)w
:保存分区操作并退出**(常用)**q
:不保存分区操作并退出
-
创建分区步骤:
- 输入
n
进入新建分区模式。- 选择分区类型,选择
p
创建主分区,e
创建扩展分区,或l
创建逻辑分区。 - 设置分区号(范围 1-4),默认是第一个分区,即
1
,按 Enter 键接受默认值。 - 设置柱面序列,直接按 Enter 键接受默认值(默认2048-xxxx)。
- 设置分区大小,例如
+20G
表示 20GB,按 Enter 键接受默认值表示使用所有剩余空间。(可以使用+sizeK
、+sizeM
、+sizeG
等指定大小,或者输入+
后按回车使用全部剩余空间)。(此步骤可以省略)
- 选择分区类型,选择
- 输入
w
保存分区操作并退出。
示例命令:
创建新分区:
n p 1 <Enter> <Enter> +20G w
- 输入
-
使用xfs文件系统格式化和定义设备文件:
格式化分区为xfs文件系统:
mkfs.xfs /dev/sdb1 或者 mkfs -t xfs /dev/sdb1
-
创建/abc目录,将新建分区挂载到/abc上(临时):
创建挂载点目录
/abc
:mkdir /abc
将新分区挂载到
/abc
目录:mount /dev/sdb1 /abc
验证:使用
df -h
命令查看挂载情况,或使用ls /abc
查看挂载点下的内容。注意:变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令(如partprobe /dev/sdb)更新内核的分区表信息,使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据。
-
使挂载在系统重启后依然有效
编辑
/etc/fstab
文件。使用文本编辑器打开/etc/fstab
文件,并添加以下行:/dev/sdb1 /mnt/abc xfs defaults 0 2
保存并关闭文件后,下次系统启动时,
/dev/sdb1
分区将自动挂载到/abc
目录。解释:
defaults 0 2
是挂载选项和文件系统检查顺序的组合。- defaults:一个挂载选项,实际上是一个占位符,代表一组默认的挂载选项。
- 0:文件系统检查(fsck)的通过顺序(pass number)。在系统启动时,
fsck
用于检查文件系统的完整性并尝试修复任何问题。数字0意味着该文件系统不会在启动时由fsck
检查。通常用于那些在系统启动时不包含关键系统文件的文件系统。 - 2:文件系统的备份顺序。用于备份工具(如
dump
)来决定哪些文件系统需要备份,以及备份的优先级。数字2表示这个文件系统在备份时会被考虑,但优先级不是最高的。数字0表示从不备份该文件系统。
注意:在编辑
/etc/fstab
文件时,配置错误可能导致系统无法启动。验证:可以使用
mount -a
命令测试挂载配置是否正确,无需重启系统。
5、创建文件系统-mkfs
创建文件系统的过程即格式化分区的过程。通过格式化,可以将一个分区初始化为指定的文件系统类型,使其可以存储和管理文件和目录。
格式
mkfs -t <文件系统类型> <设备>
或者使用专用的格式化命令,例如 mkfs.xfs
。
常用选项
t <文件系统类型>
:指定要创建的文件系统类型,如xfs
,ext4
,vfat
等。<设备>
:指定要格式化的分区或设备,例如/dev/sdb1
。
示例
-
使用通用命令
mkfs
:mkfs -t xfs /dev/sdb1
该命令将
/dev/sdb1
分区格式化为 XFS 文件系统。 -
使用专用命令
mkfs.xfs
:mkfs.xfs /dev/sdb1
该命令也将
/dev/sdb1
分区格式化为 XFS 文件系统,是mkfs -t xfs
的简写形式。
创建其他类型的文件系统
-
创建 EXT4 文件系统:
mkfs -t ext4 /dev/sdb1
或者:
mkfs.ext4 /dev/sdb1
-
创建 VFAT 文件系统:
mkfs -t vfat /dev/sdb1
或者:
mkfs.vfat /dev/sdb1
6、创建文件系统-mkswap
用于初始化交换空间(swap partition)。会创建一个空的交换空间文件或分区,并准备好让系统使用该交换空间进行内存扩展。交换空间用于存储暂时不活跃的内存页面,帮助系统在物理内存不足时避免崩溃。
格式
mkswap [选项] 设备或文件
- 选项:指定如何初始化交换空间的参数。
- 设备或文件:指定要创建交换空间的设备或文件。
常用选项
L <标签>
:为交换空间设置一个标签。U <UUID>
:为交换空间指定一个 UUID(通用唯一标识符)。
示例
-
初始化交换分区:
mkswap /dev/sdb1
在
/dev/sdb1
上初始化交换分区,使其可以用作交换空间。可以通过cat /proc/meminfo l grep SwapTotal 查看。
-
初始化交换文件,并为其设置标签:
mkswap -L swapfile /swapfile
在
/swapfile
上创建交换空间,并设置标签为swapfile
。 -
为交换分区指定 UUID:
mkswap -U 12345678-1234-1234-1234-1234567890ab /dev/sdb2
在
/dev/sdb2
上初始化交换分区,并为其指定 UUID。
拓展:关闭和启用交换分区
- 关闭所有交换分区:swapoff -a
- 启用交换分区:swapon -a
拓展:swap分区编号为什么是1-4
- 问:swap分区编号为什么是1-4,而不是5?
- 答:因为它被设置为主分区;如果编号为 5 或更高,那它是一个逻辑分区。
7、挂载、卸载文件系统-mount、umount
1. 挂载文件系统-mount
-
格式:
mount [-t 类型] 存储设备 挂载点目录
-
挂载 ISO 镜像:
mount -o loop ISO镜像文件 挂载点目录
-
选项说明:
t
:用于指定文件系统类型。通常可以省略,由系统自动识别。o
:用于指定挂载参数列表,以英文逗号分隔。例如,loop
参数用于挂载 ISO 镜像文件。
-
示例:
-
挂载 CD-ROM 到
/mnt
:mount /dev/cdrom /mnt
-
挂载分区
/dev/sdb1
到/opt
:mount /dev/sdb1 /opt
-
挂载 ISO 镜像
CentOS-7-x86_64-DVD-1611.iso
到/media/mnt
:mount -o loop CentOS-7-x86_64-DVD-1611.iso /media/mnt
-
2. 卸载文件系统-umount
-
基本格式:
umount [-lf] 存储设备目录 或 挂载点目录
-
选项说明:
l
:延迟卸载,即在设备不再使用时再进行卸载。f
:强制卸载,即使设备正在被使用也强制卸载。
-
卸载前提:
- 确保挂载的设备或目录不再被使用。如果目录中有打开的文件或正在使用的进程,可能需要先退出或停止相关进程。
-
示例:
-
卸载
/dev/sdb1
:umount /dev/sdb1
-
卸载挂载点
/media/mnt
:umount /media/mnt
-
强制卸载(如果设备正在使用中):
umount -f /media/mnt
-
延迟卸载(在设备不再使用时卸载):
umount -l /media/mnt
-
8、设置文件系统的自动挂载-/etc/fstab文件
/etc/fstab
文件用于配置系统启动时自动挂载文件系统的详细信息。每一行描述一个文件系统的挂载方式和选项。
字段格式
<分区名或设备卷标名> <挂载点目录> <文件系统类型> <挂载参数> <dump备份> <磁盘检查顺序>
内容示例
# <分区名或设备卷标名> <挂载点目录> <文件系统类型> <挂载参数> <dump备份> <磁盘检查顺序>
UUID=3f6b41f6-8d8a-4c65-9f38-3a6b4f1d6cb7 / ext4 defaults 1 1
UUID=4f5a6e7d-8b9c-4d0e-a123-4b5c6d7e8f9a /home xfs defaults 1 2
/dev/sdb1 /mnt/data ext4 defaults,rw 0 2
字段解释
第1字段:分区名或设备卷标名
第2字段:文件系统的挂载点目录的位置
第3字段:文件系统类型,如 xfs、swap 等
第4字段:挂载参数,即mount命令“-o”选项后可使用的参数。例如,defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)
第5字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为1时表示需要,设为0时将被dump 忽略
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为 1,其他分区设为 2
添加示例
/dev/sdb1 /opt xfs defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
/dev/sdb1
:设备名或分区名。/opt
:挂载点目录。xfs
:文件系统类型。defaults
:挂载参数,使用默认设置。0
:dump
备份标志,不进行备份。0
:磁盘检查顺序,表示不进行检查。/dev/sr0
:设备名或光驱设备。/mnt
:挂载点目录。iso9660
:文件系统类型,通常用于光盘镜像。defaults
:挂载参数,使用默认设置。0
:dump
备份标志,不进行备份。0
:磁盘检查顺序,表示不进行检查。
相关文章:

Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例
文章目录 4、查看或管理磁盘分区-fdisk格式选项示例 4、示例:使用 fdisk 命令创建分区需求操作步骤 5、创建文件系统-mkfs格式常用选项示例创建其他类型的文件系统 6、创建文件系统-mkswap格式常用选项示例拓展:关闭和启用交换分区拓展:swap分…...
使用vtkRenderer创建的显示点云的窗口如何刷新(QT/C++)
一、使用vtkRenderer创建点云显示窗口,参考 在Qt创建的UI中放一个显示点云的窗口(PCLQT5)_pcl点云和qt-CSDN博客 二、刷新vtkRenderer创建的窗口 使用场景:在某些情况下代码中需要对显示窗口的显示物改动,例如通过滑…...

Mysql绕过小技巧
上源码。 <?php $mysqli new mysqli("localhost", "root", "root", "security");/* check connection */ if ($mysqli->connect_errno) {printf("Connect failed: %s\n", $mysqli->connect_error);exit(); }$my…...

气象大数据案例项目(求各气象站的平均气温)
气象大数据案例项目(求各气象站的平均气温) 一、项目需求二、数据格式三、项目开发3.1 在windows 进行开发3.2 运行结果3.3 对项目打包 一、项目需求 现在有一份来自美国国家海洋和大气管理局的数据集,里面包含近30年每个气象站、每小时的天…...
博客摘录「 一个ModBus RTU程序(支持01、02、03、05、06、15、16功能码)」2024年4月19日
发送数据最好改为中断模式,不然通信速度不够。...

Vue3学习笔记第一天
MVVM Vue是一种用于构建用户界面的JavaScript框架。MVVM 是Vue采用的一种软件架构模式,用于构建交互式的用户界面。它的全称是 Model-View-ViewModel,这三个部分分别代表了应用程序的不同层次和角色: Model(模型)&…...

C++之类与对象(完结撒花篇)
目录 前言 1.再探构造函数 2.类型转换 3.static成员 4. 友元 5.内部类 6.匿名对象 7.对象拷贝时的编译器优化 结束语 前言 在前面的博客中,我们对类的默认成员函数都有了一定了解,同时实现了一个日期类对所学的没内容进行扩展延伸,本…...
代码质量的守护者:Python静态代码分析工具的集成之道
标题:代码质量的守护者:Python静态代码分析工具的集成之道 在软件开发过程中,代码质量是至关重要的一环。Python作为一种流行的编程语言,拥有众多的静态代码分析工具,它们能够在代码运行之前检测潜在的错误和代码风格…...

JVM -- 类加载器
类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现访问接口和类字节码数据的技术。类加载器只负责加载过程中的字节码获取并加载到内存的这一过程。 一、 类加载器的分类 类加载器的详细信息可以使用Arthas通过classloader命令查看: 1.启动类加载器(Boots…...

OLAP引擎之StarRocks
StarRocks 是一款新兴的开源分布式实时分析型数据库,专为高性能、高并发的数据分析场景设计。它结合了传统数据仓库和大数据技术的优势,提供了强大的实时数据处理和分析能力。以下是对 StarRocks 的详细介绍,涵盖其基本概念、核心特性、架构设…...

基于微信小程序的小区业主服务系统(源码+论文+部署讲解等)
博主介绍:✌全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术栈介绍:我是程序员阿龙ÿ…...

C++ | Leetcode C++题解之第327题区间和的个数
题目: 题解: class Solution { public:int countRangeSumRecursive(vector<long>& sum, int lower, int upper, int left, int right) {if (left right) {return 0;} else {int mid (left right) / 2;int n1 countRangeSumRecursive(sum,…...

C# Winform 多窗体切换方式一
一、简介 在 Winform 开发中,多窗体的切换是一个常见的需求,比如登录成功后,切换至主界面,在网上查阅相关的资料,你会发现很多都是用 form2.Show(); this.Hide(); 这种方式,这种方式也存在一些问题&#…...

笔记本CPU天梯图(2024年8月),含AMD/骁龙等新CPU
原文地址(高清无水印原图/持续更新/含榜单出处链接): 2024年8月笔记本CPU天梯图 2024年8月笔记本CPU天梯图 2024年8月5日更新日志:常规更新Cinebench R23、PassMark笔记本CPU天梯图,新增Geekbench 6.2单核多核天梯图&…...

GitLab-CI/CD指南
由于公司没有运维,写go服务时各个环境编译部署还是略显麻烦,由于代码管理使用的是 gitlab,所以决定使用 gitlab 自带的 CI/CD 来做自动编译和部署,这样每次提交代码以后就可以自动部署到服务器上了。 gitlab 本身只有 CI/CD 的接…...

io目录操作学习
1、基本概念 目录也是一种文件,因此操作流程与普通文件类似,有诸如打开、关闭、定位等概念,但目录是一种特殊的文件,目录存储的数据的最小单位并不是字符,而是目录项。这使得目录跟普通文件又有区别。 在Linux中&…...
Ant-Design-Vue
Ant-Design-Vue是蚂蚁金服Ant Design官方推荐的Vue版UI组件库,它继承了Ant Design的设计语言和Vue.js的易用性,为开发者提供了丰富、高质量的Vue组件,极大地简化了前端开发流程。以下是一份详细的Ant-Design-Vue快速上手指南及排坑建议&#…...
2024互联网暑期实习面经和流程记录分享
2024互联网暑期实习面经和流程记录分享 面试经验和流程需要注意的点 面试经验和流程 因为敏感信息的原因,这里涉及到公司名字的全部进行打码 笔者投递和面试了很多公司,具体有包括算法和开发岗,下面的公司一律用字母代替。 O公司࿰…...

风云崛起之拉氏变换和拉式逆变换
图像的分割写出来了,但是写的不好,暂时先不发了。这两天小y想在把拉式变换的内容写出来,小y最近再看信号和电路,需要复习数学,所以把这点写出来。 首先要推出分布积分的公式,我们知道积分和微分为逆运算&am…...

1、.Net UI框架:WinUI - .Net宣传系列文章
WinUI(Windows UI Library)是微软提供的一个用于构建Windows应用程序的本机UI平台组件。它与Windows应用SDK紧密相关,允许开发者创建适用于Windows 10及更高版本的应用程序,并且可以发布到Microsoft Store。WinUI 3是最新的一代,它提供了与操…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
AWS vs 阿里云:功能、服务与性能对比指南
在云计算领域,Amazon Web Services (AWS) 和阿里云 (Alibaba Cloud) 是全球领先的提供商,各自在功能范围、服务生态系统、性能表现和适用场景上具有独特优势。基于提供的引用[1]-[5],我将从功能、服务和性能三个方面进行结构化对比分析&#…...

云原生时代的系统设计:架构转型的战略支点
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、云原生的崛起:技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深,传统的 I…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建
目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程. 本…...