Linux操作系统——磁盘管理

2023-11-13

目录

一. 理论基础

二. 增加虚拟磁盘

2.1 添加硬盘

6.2.2 分区

2.3 格式化

6.2.4 文件的挂载与卸载

2.5 挂载永久化

6.3 磁盘相关命令

6.3.1 命令fdisk -l

6.3.2 命令df

6.3.3 命令lsblk

6.3.4 命令du


一. 理论基础

        硬盘类型: IDE硬盘、SCSI硬盘、SATA硬盘

  1. IDE磁盘:特点价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等等。
  2. SCSI磁盘:传输速率高,读写性能好,运行稳定,可连接多个设备。可支持热插拔,占用CPU低,但是价格相对来说比较贵,一般用于工作站或服务器上。
  3. SATA磁盘:结构简单、支持热插拔。

分区类型

主分区: 1-4个

扩展分区:0-1个

逻辑分区:不限制

        Linux系统中硬盘设备命名

  • hd:IDE硬盘设备命名以 hd 开头:
  1. 系统第一块IDE接口的硬盘称为/dev/hda,而它的分区名称为/dev/hda1,/dev/hda2,/dev/hda3。。。。
  2. 系统第二块IDE接口的硬盘称为/dev/hdb,而它的分区名称为/dev/hdb1,/dev/hdb2,/dev/hdb3。。。。
  • sd:SCSI SATA USB 硬盘设备命名以 sd 开头:
  1. 系统第一块SCSI接口的硬盘称为/dev/sda,而它的分区名称为/dev/sda1,/dev/sda2,/dev/sda3。。。。
  2. 系统第二块SCSI接口的硬盘称为/dev/sdb,而它的分区名称为/dev/sdb1,/dev/sdb2,/dev/sdb3。。。。

光盘设备名:/dev/cdrom


二. 增加虚拟磁盘

在Linux中增加一块硬盘的步骤:添加硬盘-》分区 -》 格式化 -》 挂载 -》 使用

2.1 添加硬盘

(1) 在当前的虚拟机选项卡点击鼠标右键,选择“设置”,如图所示。

(2) 此时会弹出“虚拟机设置”对话框。在左侧选中“磁盘”,然后点击下方的“添加”按钮,此时会弹出“添加硬件向导”对话框,点击“下一步”按钮。

(3)“选择磁盘类型”这里保持默认不用更改任何指标,直接点击“下一步”按钮。

(4)“选择磁盘”对话框里也保持默认,直接点击“下一步”按钮。

(5)“指定磁盘容量”这里需要修改一下,设定“最大磁盘大小”为5GB,然后选择“将虚拟磁盘存储为单个文件”单选按钮,如图所示。

(6) 继续点击“下一步”按钮,然后点击“完成”按钮,最终完成添加新的虚拟磁盘。虽然磁盘已经添加了,但系统暂时还不能被识别,需要重启一下系统才可以。

重启系统:[root@localhost ~]# reboot

(7) 使用fdisk -l查看所有磁盘信息(包括未挂载磁盘):

        从上例中可以看到, 系统中有2块磁盘,/dev/sda和/dev/sdb, 其中,sda有3个分区(sda1, sda2, sda3), 新增的/dev/sdb磁盘尚未分区。

6.2.2 分区

fdisk命令如果不加-l选项,则会进入另一个模式,在该模式下,可以对磁盘进行分区操作。

[root@localhost ~]# fdisk /dev/sdb

        输入上面命令后,就可以依次输入n,p、w 命令,进行新建分区、设置分区、保存分区的操作。

  1. m:打印菜单
  2. n:新建分区
  3. p: 设置分区类型为主分区
- PartitionNumber(分区号),

- First Sector(分区起始位置)

- Last Sector(分区结束位置)

上面选项都可以直接回车采用默认,即只创建一个主分区,分区大小为2GB.

  1. w: 保存分区设置

使用fdisk -l 命令,查看最新分区情况, 得到新的分区/dev/sdb1

2.3 格式化

        磁盘分区虽然分好区了,但暂时还不能用,我们还须对每一个分区进行格式化。

        所谓格式化,其实就是安装文件系统,Windows下的文件系统有FAT32和NTFS。CentOS 7以XFS作为默认的文件系统,但我们依然可以给它指定其他文件格式(ext2, ext3, ext4, swap, vfat, NFS, ISO9600....)。

[root@localhost ~]# mkfs.xfs /dev/sdb1

这样就完成了对 sdb1 分区的格式化。

6.2.4 文件的挂载与卸载

        前面我们讲到了磁盘的分区和格式化,那么格式化完成后,如何使用这些磁盘呢?这就涉及挂载磁盘了。

        在挂载某个分区前,需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某个分区挂载到这个挂载点(目录)下,要再往这个目录写数据时,就都会写到该分区中。

命令mount: 可以将某个分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来。

将刚才格式化的/dev/sdb1挂载到/home/feiyy上,如下所示:

[root@localhost ~]# mount /dev/sdb1 /home/feiyy

        并且可以使用 df 命令(用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计)来查看挂载情况。

[root@localhost ~]# df

 

命令umount: 可卸除目前挂在Linux目录中的文件系统。

这个命令后面可以跟挂载点,也可以跟分区名(如/dev/sdb1),示例命令如下:

# umount /dev/sdb1

2.5 挂载永久化

        用命令行挂载重启后会失效, 通过修改/etc/fstab实现挂载永久化, 添加完成后, 执行reboot重启生效

/dev/sdb1 /home/feiyy xfs defaults 0 0

6.3 磁盘相关命令

6.3.1 命令fdisk -l

        命令 fdisk 是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。

  • -l:列出所有分区表

6.3.2 命令df

        命令df(disk filesystem的简写)用于查看已挂载磁盘的总容量、使用容量、剩余容量等。示例命令如下:

  • -h:表示使用合适的单位显示,例如GB。
  • -T:表示显示文件系统类型

6.3.3 命令lsblk

lsblk命令:是“List block device”的缩写,即列为出所有存储设备。

6.3.4 命令du

        命令du(disk useage)用来查看某个目录或文件所占空间的大小,其格式为 du [-abckmsh] [文件或者目录名]。该命令常用的参数有如下几个。

  • -a:表示全部文件和目录的大小都列出来。如果后面不加任何选项和参数,则只会列出目录(包含子目录)的大小。如果du命令不指定单位的话,默认显示单位为“KB”。示例命令如下:
  • -b:表示列出的值以B为单位输出。
  • -k:表示以KB为单位输出,这和默认不加任何选项的输出值是一样的。
  • -m:表示以MB为单位输出。
  • -h:表示系统自动调节单位。例如,如果文件太小,可能就几千字节,就以KB为单位显示;如果文件大到千兆字节,就以GB为单位显示。
  • -s:表示只列出总和。这个选项小编用得最多,示例命令如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux操作系统——磁盘管理 的相关文章

  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • 如何在linux中以编程方式获取dir的大小?

    我想通过 C 程序获取 linux 中特定目录的确切大小 我尝试使用 statfs path struct statfs 但它没有给出确切的大小 我也尝试过 stat 但它返回任何目录的大小为 4096 请建议我如何获取 dir 的确切大小
  • 如何阻止ubuntu在使用apt安装或更新软件包时弹出“Daemons using outdatedlibraries”? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我最近新安装了 Ubuntu 22 04 LTS 我发现每次使用 apt 安装或更新软件包时 它都会询问我有关Which servic
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • Linux/POSIX:为什么 fork() 不分叉*所有*线程

    众所周知 POSIX下创建新进程的默认方式是使用fork 在 Linux 下 这在内部映射到clone 我想知道的是 众所周知 当一个人打电话时fork 子进程是用单个线程创建的 调用的线程fork cf https linux die n
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp

随机推荐

  • vue :class的动态切换

    直接上代码 class index menu index menu index index 点击事件获取下标和获取不同的值 click menuClick index data return menu img menu index0 men
  • 高德地图-2D转换为3D

    手动添加 同时也需要手动修改倾斜度 var map new AMap Map container zoom 17 pitch 90 center 116 379391 39 861536 viewMode 3D 变成了3d 地图了 buil
  • 新能源锂电设备

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 锂电工艺 1 电芯一工段 2 电芯二工段 3 电芯三工段 4 pack生产 二 一工段设备简要介绍 1 合浆机 2 涂布机 2 辊压机 3 分切机 二 一
  • 利用TortoiseGit给github上面上传项目以及上传项目时经常遇到的错误解决

    我们本地有了一个项目 需要托管到github上面去 之前说过用git命令上传 今天说说如何利用TortoiseGit上传 1 假设我们的java工程放在目录E Test中 那么我们进入Test文件夹中 右键菜单点击 Git Create r
  • 关于protected权限的子类访问方式

    声明为protected权限的成员变量和成员方法 可以被同一包中的所有类和不同包中的子类访问 但是 在实际使用中 不同包中的子类要访问父类中protected权限的成员 却不是那么随意的调用 看几个例子 首先在ch13Test包中定义父类A
  • Mysql JDBC支持utf8mb4编码

    项目中需要在mysql中存储包含emoji表情的字段 使用utf8编码无法解决 因为mysql的utf8实现只有3字节 为此mysql在5 3 后加入了utf8mb4支持 完全兼容utf8 utf8mb4最多可用4字节存储一个字符 这样就可
  • hbase建表时region预分区的方法

    hbase建表时region预分区的方法 2015 06 05 13 43 866人阅读 评论 0 收藏 举报 分类 hbase 6 版权声明 本文为博主原创文章 未经博主允许不得转载 如果知道hbase数据表的key的分布情况 就可以在建
  • 【kafka性能测试脚本详解、性能测试、性能分析与性能调优】

    Kafka 性能测试 一 介绍 Apache Kafka 官方提供了两个客户端性能测试脚本 它们的存放位置如下 生产者性能测试脚本 KAFKA HOME bin kafka producer perf test sh 消费者性能测试脚本 K
  • 蓝桥杯 砝码称重 递归 解题报告

    5个砝码 用天平称重时 我们希望用尽可能少的砝码组合称出尽可能多的重量 如果只有5个砝码 重量分别是1 3 9 27 81 则它们可以组合称出1到121之间任意整数重量 砝码允许放在左右两个盘中 本题目要求编程实现 对用户给定的重量 给出砝
  • Java_开源框架_JPinyin汉字转拼音的Java开源库

    本博文为子墨原创 转载请注明出处 http blog csdn net zimo2013 article details 50039339 1 介绍 JPinyin是一个汉字转拼音的Java开源类库 在PinYin4j的功能基础上做了一些改
  • 计算24点

    题目描述 计算24点是一种扑克牌益智游戏 随机抽出4张扑克牌 通过加 减 乘 除 四种运算法则计算得到整数24 本问题中 扑克牌通过如下字符或者字符串表示 其中 小写joker表示小王 大写JOKER表示大王 3 4 5 6 7 8 9 1
  • VUE Element ui el-switch文字在开关里面显示

  • CSS经典布局 -- 圣杯布局 & 双飞翼布局

    文章目录 引言 圣杯布局 圣杯布局DOM结构 圣杯布局样式 圣杯布局总结 双飞翼布局 双飞翼布局DOM结构 双飞翼布局样式 双飞翼布局总结 总结 引言 圣杯布局和双飞翼布局都是比较经典的三栏布局 两种布局的页面效果基本相同 两种布局都是两侧
  • Tutorial: Low Power Design, Verification, and Implementation with IEEE 1801™ UPF™

    Tutorial Low Power Design Verification and Implementation with IEEE 1801 UPF Presented at DVCon 2013 on February 25 2013
  • mtk 6771 耳机底层配置分享

    42条消息 MTK6797 Accdet驱动分析总结 kerson的专栏 CSDN博客 42条消息 3 MTK 底层耳机中断上报流程 zhigouliu的博客 CSDN博客 这里分享一下本人再耳机调试的心的 理论有不懂的可以参考上面博客 耳
  • cmake之add_dependencies

    简介 add dependencies
  • 十行Python代码搞定图片中的物体检测

    Word is useless show me the pic MR Lu 先看下原图 图片表述的是一男一女在散步 后面有一辆车 现在来看下我们通过十行代码实现的效果 我们可以看到 在这幅图中其实有三个 person 被识别出来 包括后面非
  • 安装Ubuntu遇到unable to find a medium containing a live file system解决方案

    安装unable to find a medium containing a live file system 搜了好几个帖子 说是重新烧录u盘 换usb2 0 都不好使 最后找到了 在启动页面点击e 可以进入启动写参数界面 将quiet
  • vue3+vite的项目中实现右键事件的神器

    前言 vue3 vite的项目中实现右键事件的神器 imengyu vue3 context menu 实现效果 使用步骤 1 安装 npm cnpm pnpm yarn 都可以 装上下面插件 imengyu vue3 context me
  • Linux操作系统——磁盘管理

    目录 一 理论基础 二 增加虚拟磁盘 2 1 添加硬盘 6 2 2 分区 2 3 格式化 6 2 4 文件的挂载与卸载 2 5 挂载永久化 6 3 磁盘相关命令 6 3 1 命令fdisk l 6 3 2 命令df 6 3 3 命令lsbl