Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例

news2024/11/13 11:13:59

文章目录

  • 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 的版本信息。

示例

  1. 列出所有磁盘及其分区表

    fdisk -l
    
  2. 查看指定磁盘设备的分区表

    fdisk -l /dev/sda
    
  3. 显示分区的起始和结束位置,以扇区为单位

    fdisk -lu /dev/sda
    

4、示例:使用 fdisk 命令创建分区

需求

1、添加一块盘

2、划分分区-以主分区为主

3、使用xfs文件系统格式化和定义设备文件

4、创建/abc目录,将新建分区挂载到/abc上

5、配置为永久挂载,即重启后依然有效

操作步骤

  1. 添加一块盘

    以VMware虚拟机环境为例,在当前虚拟机设置中添加硬盘。

    使用默认SCSI格式即可。

    在这里插入图片描述

    :可以使用lsblkfdisk -l命令来确认系统是否识别了新硬盘。

  2. 进入 fdisk 交互模式

    使用fdisk工具可以划分分区。一般添加过的第二块硬盘为/dev/sdb,使用以下命令:

    fdisk /dev/sdb
    

    提示:交互模式中的常用指令

    • m:获取帮助菜单
    • n:新建分区**(常用)**
    • p:查看分区情况**(常用)**
    • d:删除分区
    • t:变更分区的类型(改变分区的系统ID)(常用)
    • w:保存分区操作并退出**(常用)**
    • q:不保存分区操作并退出
  3. 创建分区步骤

    • 输入 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
    
  4. 使用xfs文件系统格式化和定义设备文件:

    格式化分区为xfs文件系统:

    mkfs.xfs /dev/sdb1
    或者
    mkfs -t xfs /dev/sdb1
    
  5. 创建/abc目录,将新建分区挂载到/abc上(临时):

    创建挂载点目录/abc

    mkdir /abc
    

    将新分区挂载到/abc目录:

    mount /dev/sdb1 /abc
    

    验证:使用df -h命令查看挂载情况,或使用ls /abc查看挂载点下的内容。

    注意:变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令(如partprobe /dev/sdb)更新内核的分区表信息,使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据。

  6. 使挂载在系统重启后依然有效

    编辑/etc/fstab文件。使用文本编辑器打开/etc/fstab文件,并添加以下行:

    /dev/sdb1 /mnt/abc xfs defaults 0 2
    

    保存并关闭文件后,下次系统启动时,/dev/sdb1分区将自动挂载到/abc目录。

    解释defaults 0 2是挂载选项和文件系统检查顺序的组合。

    1. defaults:一个挂载选项,实际上是一个占位符,代表一组默认的挂载选项。
    2. 0:文件系统检查(fsck)的通过顺序(pass number)。在系统启动时,fsck用于检查文件系统的完整性并尝试修复任何问题。数字0意味着该文件系统不会在启动时由fsck检查。通常用于那些在系统启动时不包含关键系统文件的文件系统。
    3. 2:文件系统的备份顺序。用于备份工具(如dump)来决定哪些文件系统需要备份,以及备份的优先级。数字2表示这个文件系统在备份时会被考虑,但优先级不是最高的。数字0表示从不备份该文件系统。

    注意:在编辑/etc/fstab文件时,配置错误可能导致系统无法启动。

    验证:可以使用mount -a命令测试挂载配置是否正确,无需重启系统。

5、创建文件系统-mkfs

创建文件系统的过程即格式化分区的过程。通过格式化,可以将一个分区初始化为指定的文件系统类型,使其可以存储和管理文件和目录。

格式

mkfs -t <文件系统类型> <设备>

或者使用专用的格式化命令,例如 mkfs.xfs

常用选项

  • t <文件系统类型>:指定要创建的文件系统类型,如 xfs, ext4, vfat 等。
  • <设备>:指定要格式化的分区或设备,例如 /dev/sdb1

示例

  1. 使用通用命令 mkfs

    mkfs -t xfs /dev/sdb1
    

    该命令将 /dev/sdb1 分区格式化为 XFS 文件系统。

  2. 使用专用命令 mkfs.xfs

    mkfs.xfs /dev/sdb1
    

    该命令也将 /dev/sdb1 分区格式化为 XFS 文件系统,是 mkfs -t xfs 的简写形式。

创建其他类型的文件系统

  1. 创建 EXT4 文件系统

    mkfs -t ext4 /dev/sdb1
    

    或者:

    mkfs.ext4 /dev/sdb1
    
  2. 创建 VFAT 文件系统

    mkfs -t vfat /dev/sdb1
    

    或者:

    mkfs.vfat /dev/sdb1
    

6、创建文件系统-mkswap

用于初始化交换空间(swap partition)。会创建一个空的交换空间文件或分区,并准备好让系统使用该交换空间进行内存扩展。交换空间用于存储暂时不活跃的内存页面,帮助系统在物理内存不足时避免崩溃。

格式

mkswap [选项] 设备或文件
  • 选项:指定如何初始化交换空间的参数。
  • 设备或文件:指定要创建交换空间的设备或文件。

常用选项

  • L <标签>:为交换空间设置一个标签。
  • U <UUID>:为交换空间指定一个 UUID(通用唯一标识符)。

示例

  1. 初始化交换分区

    mkswap /dev/sdb1
    

    /dev/sdb1 上初始化交换分区,使其可以用作交换空间。

    可以通过cat /proc/meminfo l grep SwapTotal 查看。

  2. 初始化交换文件,并为其设置标签

    mkswap -L swapfile /swapfile
    

    /swapfile 上创建交换空间,并设置标签为 swapfile

  3. 为交换分区指定 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 镜像文件。
  • 示例

    1. 挂载 CD-ROM 到 /mnt

      mount /dev/cdrom /mnt
      
    2. 挂载分区 /dev/sdb1/opt

      mount /dev/sdb1 /opt
      
    3. 挂载 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:强制卸载,即使设备正在被使用也强制卸载。
  • 卸载前提

    • 确保挂载的设备或目录不再被使用。如果目录中有打开的文件或正在使用的进程,可能需要先退出或停止相关进程。
  • 示例

    1. 卸载 /dev/sdb1

      umount /dev/sdb1
      
    2. 卸载挂载点 /media/mnt

      umount /media/mnt
      
    3. 强制卸载(如果设备正在使用中)

      umount -f /media/mnt
      
    4. 延迟卸载(在设备不再使用时卸载)

      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:挂载参数,使用默认设置。
  • 0dump 备份标志,不进行备份。
  • 0:磁盘检查顺序,表示不进行检查。
  • /dev/sr0:设备名或光驱设备。
  • /mnt:挂载点目录。
  • iso9660:文件系统类型,通常用于光盘镜像。
  • defaults:挂载参数,使用默认设置。
  • 0dump 备份标志,不进行备份。
  • 0:磁盘检查顺序,表示不进行检查。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搬瓦工澳大利亚AS9929 VPS测评

搬瓦工澳大利亚vps怎么样&#xff1f;搬瓦工澳大利亚悉尼数据中心在运作CUII/AS9929线路的VPS&#xff0c;底层为KVM虚拟&#xff0c;纯SSD阵列&#xff0c;1Gbps带宽... 目前看到的是CPU主频是2.4GHz&#xff0c;接入XTOM网络&#xff0c;IP归属澳大利亚&#xff0c;当前大致I…

window好用的批量远程桌面连接工具

下载 安装 Remote Desktop Connection Manager 添加server

AlexNet模型搭建(三部曲_2)

文章目录 1模型介绍2 模型搭建3 模型训练4 模型预测 猫狗二分类&#xff0c;模型简单&#xff0c;训练精度并不高。数据集下载&#xff1a;<https://aistudio.baidu.com/datasetdetail/26884> 百度飞浆上找的大小只有60多M 1模型介绍 AlexNet是一个卷积神经网络的名字&a…

Linux命令(基础面试可用,都是自己觉得平时使用多的)

1.cat 参数&#xff1a;-n&#xff1a;显示行号-s&#xff1a;压缩连续的空行&#xff0c;只显示一个空行2.chattr 改变文件属性 语法&#xff1a;chattr [-RV] [/-/<属性>][文件或目录] 属性&#xff1a;a&#xff1a;让文件或目录仅供附加用途i&#xff1a;不得任意更…

MediaPipe人体姿态、手指关键点检测

MediaPipe人体姿态、手指关键点检测 文章目录 MediaPipe人体姿态、手指关键点检测前言一、手指关键点检测二、姿态检测三、3D物体案例检测案例 前言 Mediapipe是google的一个开源项目&#xff0c;用于构建机器学习管道。   提供了16个预训练模型的案例&#xff1a;人脸检测、…

基于级联深度学习算法的前列腺病灶检测在双参数MRI中的评估| 文献速递-基于深度学习的乳房、前列腺疾病诊断系统

Title 题目 Evaluation of a Cascaded Deep Learning–based Algorithm for Prostate Lesion Detection at Biparametric MRI 基于级联深度学习算法的前列腺病灶检测在双参数MRI中的评估 Background 背景 Multiparametric MRI (mpMRI) improves prostate cancer (PCa) de…

从西安出发,走向世界——西安国际数字影像产业园跻身全国十大产业园区行列

西安&#xff0c;作为中国历史文化名城&#xff0c;不仅以其丰富的历史遗产闻名于世&#xff0c;还逐渐成为现代科技和产业发展的新高地。产业园区成为推动经济增长和创新发展的重要引擎&#xff0c;西安国际数字影像产业园&#xff0c;正怀揣着雄心壮志&#xff0c;向着全国十…

idea git拉取代码can‘t update

idea有时候创建的新分支&#xff0c;提交以后却无法拉去代码&#xff0c;提示如下错误信息&#xff1a; cant update No tracked branch configured for branch 在idea的“Terminal”窗口中输入如下命令即可 git branch --set-upstream-to origin 找不到Terminal的可以参考下图…

ESP32S3 IDF 对 16路输入输出芯片MCP23017做了个简单的测试

这次还是使用了idf老版本4.4.7&#xff0c;上次用了5.3&#xff0c;感觉不好用&#xff0c;官方的MCP23017芯片是英文版&#xff0c;真的很难读明白&#xff0c;可能是我英语水平不够吧。先看看每个寄存器的功能&#xff1a; IODIRA 和 IODIRB: 输入/输出方向寄存器 IPOLA 和 I…

B端界面升级就是升级颜值,错了,这样想就片面啦。

在B端应用的发展中&#xff0c;界面升级是非常重要的一环。然而&#xff0c;界面级不仅仅是为了提升外观颜值&#xff0c;还需要关注用户体验、功能增强和效率提升等方面。 虽然美观的界面可以吸引用户的眼球&#xff0c;但如果功能不完善&#xff0c;用户可能会选择其他产品。…

LVS负载均衡(twenty-six day)

一、LVS &#xff08;一&#xff09;什么是LVS linux virtural server的简称&#xff0c;也就是linxu虚拟机服务器&#xff0c;这是一个由章文岩博士发起的开源项目&#xff0c;官网是http://www.linuxvirtualserver.org,现在lvs已经是linux内核标准的-部分&#xff0c;使用lv…

vue 实现上浮气泡效果

一、 效果 二、代码 1.用 li 来做每个气泡 <div class"dataSea_middle_bottom"><ul><liv-for"(item,index) in keyBusiness":key"index"class"pops animal"><p class"fb">{{ item.name}}</p>…

Java面试题(一)----Java基础

基础 Java中和equals有什么区别&#xff1f; 一个是运算符&#xff0c;一个是方法。 如果比较的对象是基本数据类型&#xff0c;则比较数值是否相等&#xff1b;如果比较的是引用数据类型&#xff0c;则比较的是对象的内存地址是否相等。 因为Java只有值传递&#xff0c;对于…

SQL Zoo 9-.Window functions

以下数据均来自SQL Zoo 1.Show the lastName, party and votes for the constituency S14000024 in 2017.&#xff08;显示2017年选区“S14000024”的姓氏、政党和选票&#xff09; SELECT lastName, party, votesFROM geWHERE constituency S14000024 AND yr 2017 ORDER BY…

开启IDEA打开新项目时窗口提示

1.背景 实际开发中很多时候,我们会同时打开多个项目,或者项目切换, 这时候有2中情况,打开新窗口或者在当前窗口打开(即:关闭当前窗口,打开新窗口) 具体是那种情况,要根据实际场景,因此我们希望可以弹框提示: 是打开新窗口,还是在当前窗口打开 具体设置如下: 2.步骤 3.测试…

中国科技统计年鉴,数据覆盖1991-2022年多年份

基本信息. 数据名称: 中国科技统计年鉴 数据格式: excel 数据时间: 1991-2022年 数据几何类型: xlsx 数据坐标系: WGS84 数据来源&#xff1a;国家统计局 数据预览&#xff1a; 数据可视化.

zabbix“专家坐诊”第251期问答

问题一 Q&#xff1a;zabbix模板自带的监控项很多都不需要&#xff0c;也不用删除&#xff0c;就是怎么让他们都不展示出来 A&#xff1a;禁用掉 Q&#xff1a;还是在的&#xff0c;我想要就看不见&#xff0c;不是不启用&#xff0c;想要效果跟删除一样&#xff0c;看不见&am…

我在高职教STM32——I2C通信之SHT20传感器(1)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

go-zero中基本配置及获取参数

一、使用配置文件启动项目 1、在项目的etc文件夹下分别创建开发环境和测试环境的配置文件,这里简单点使用不同的端口 2、配置Makefile文件启动命令来启动不同配置文件 runDev:go run users.go -f etc/application-dev.yml runProd:go run users.go -f etc/application-prod.ym…

RC电路(三):零点和极点

一、零极点定义 零点和极点是在自动控制原理中用于描述系统特性的概念。‌ 零点&#xff08;Zero&#xff09;&#xff1a;‌在传递函数的分子多项式等于零的解。即当系统的输入信号等于零时&#xff0c;‌输出信号不为零的情况下&#xff0c;‌输入信号与输出信号相等的点。‌…