深入掌握 Linux 磁盘管理,从入门到精通的完整指南

系统 Linux
本文将为大家介绍Linux磁盘管理的核心概念与常见命令,并提供一些实用操作指南。

在Linux系统中,磁盘管理是系统管理中非常重要的一个方面,尤其在服务器或大型生产环境中。理解磁盘的管理工具与常见操作,可以帮助管理员确保系统正常运行并最大化磁盘资源的利用效率。本文将为你介绍Linux磁盘管理的核心概念与常见命令,并提供一些实用操作指南。

磁盘设备表示

在Linux系统中,所有的硬盘设备通常会被挂载到/dev目录下,常见的设备文件表示方式如下:

  • SATA/SCSI/USB硬盘:/dev/sdX,其中X为磁盘的标识符(如/dev/sda表示第一块磁盘,/dev/sdb表示第二块磁盘)。
  • 分区:硬盘的每个分区也有自己的标识符,如/dev/sda1表示第一块硬盘的第一个分区,/dev/sda2表示第二个分区。

查看磁盘信息

要了解系统中磁盘的基本信息,可以使用以下命令:

1.lsblk命令

列出块设备,显示设备名称、大小、挂载点等信息。

(1) lsblk命令语法:

lsblk [选项] [<设备> ...]

(2) 参数说明:

(3) lsblk命令使用示例

案例一:查看所有块设备及其挂载情况

lsblk

执行上述命令会输出如下图的结果:

案例二:以列表形式显示设备信息,并包含文件系统类型:

lsblk -lfm

返回结果如下所示:

2.df命令

该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

(1) df命令语法

df [参数] [目录或文件名]

(2) 参数说明

参数

说明

-a

列出所有的文件系统,包括系统特有的/proc等文件系统。

-k

以KBytes为单位,返回各文件系统容量

-m

以MBytes为单位,返回各文件系统容量。

-h

以GBytes、MBytes、KBytes为单位,返回各文件系统容量。

-H

以M=1000K取代M=1024K的进位方式显示各文件系统容量。

-T

显示文件系统类型。

-i

显示inode信息。

(3) df命令使用示例

示例一:显示磁盘使用情况。

执行如下命令,显示磁盘使用情况。

df -h

执行上述命令返回结果如下所示。

df -h

示例二:以inode模式来显示磁盘使用情况。

df -i

执行上述命令返回结果如下所示:

df -i

3.du命令

查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间。

(1) df命令语法

du [参数] [文件或目录名称]

(2) 参数说明

参数

说明

-a

列出所有的文件与目录容量。

-h

以G、M、K为单位,返回容量。

-s

列出总量。

-S

列出不包括子目录下的总量。

-k

以KBytes为单位,返回容量。

-m

以MBytes为单位,返回容量。

(3) du命令使用示例

示例一:列出当前目录下的所有文件夹的容量。

执行如下命令,列出当前目录下的所有文件夹的容量。

du -h

返回结果如下所示:

示例二:列出当前目录下的所有文件夹和文件的容量。

执行如下命令,列出当前目录下的所有文件夹和文件的容量。

du -ah

返回结果如下所示:

du -ah

4.fidsk命令

查看磁盘的分区表。通常用于查看磁盘分区的详细信息。

(1) fdisk命令语法

fdisk [-l] 装置名称

(2) 参数说明

参数

说明

-l

输出后面装置名称的所有的分区内容。若仅有 fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

(3) fdisk命令使用示例

示例一:列出系统所有装置的分区信息。

执行如下命令,列出系统所有装置的分区信息。

fdisk  -l

返回结果如下所示:

磁盘分区

磁盘分区是磁盘管理中非常基础的部分。可以通过以下步骤进行分区操作:

1.使用fdisk工具分区

打开分区工具:

fdisk /dev/sda

进入后,可以使用以下命令:

  • p:查看当前磁盘的分区情况。
  • n:创建新分区。
  • d:删除分区。
  • w:写入更改并退出。

(2) 使用parted工具分区

相较于fdisk,parted可以更好地支持大于2TB的磁盘。

parted /dev/sda

文件系统创建

创建分区后,必须为其创建文件系统。常见的文件系统类型有ext4、xfs等。以下命令展示如何为新分区创建文件系统:

创建ext4文件系统:

sudo mkfs.ext4 /dev/sda1

创建xfs文件系统:

sudo mkfs.xfs /dev/sda1

挂载与卸载

创建文件系统后,你需要将其挂载到系统中的某个目录才能使用。

1.挂载磁盘

挂载时,选择一个空目录作为挂载点。例如将/dev/sda1挂载到/mnt/disk1目录下:

sudo mount /dev/sda1 /mnt/disk1

2.自动挂载

编辑/etc/fstab文件,使磁盘在系统启动时自动挂载。示例条目:

/dev/sda1  /mnt/disk1  ext4  defaults  0  2

3.卸载磁盘

卸载挂载的磁盘:

sudo umount /mnt/disk1

磁盘扩容与缩小

当磁盘使用空间不够时,可能需要调整分区大小。以下工具用于调整分区大小:

1.调整ext4文件系统大小

扩展分区:

sudo resize2fs /dev/sda1

缩小分区:

sudo resize2fs /dev/sda1 SIZE

2.调整LVM分区大小

LVM是一个灵活的磁盘管理工具。使用LVM可以更轻松地扩展或缩小磁盘卷。以下为基本操作:

扩展逻辑卷:

sudo lvextend -L +10G /dev/mapper/vg0-lv0
sudo resize2fs /dev/mapper/vg0-lv0

缩小逻辑卷:

sudo lvextend -L +10G /dev/mapper/vg0-lv0
sudo resize2fs /dev/mapper/vg0-lv0

磁盘故障排查

磁盘使用一段时间后,可能会出现一些错误或者坏块。你可以使用fsck工具来检测并修复文件系统。

使用fsck工具检测和修复磁盘

sudo fsck /dev/sda1

总结

Linux系统的磁盘管理包括磁盘的查看、分区、文件系统的创建与管理、磁盘挂载、LVM管理等。掌握这些常见的操作工具和命令,可以帮助你高效地管理磁盘资源,保障系统的稳定运行。

责任编辑:赵宁宁 来源: 攻城狮成长日记
相关推荐

2024-06-07 08:51:50

OpenPyXLPythonExcel文件

2012-02-29 00:49:06

Linux学习

2023-05-09 08:34:51

PythonWith语句

2023-09-16 18:54:38

Pythonfor循环

2022-06-10 08:17:52

HashMap链表红黑树

2010-02-06 15:31:18

ibmdwAndroid

2009-07-22 14:55:16

ibmdwAndroid

2017-05-09 08:48:44

机器学习

2016-12-08 22:39:40

Android

2023-11-08 08:32:16

2023-06-28 08:08:06

Flask上下文生命周期

2024-02-26 08:52:20

Python传递函数参数参数传递类型

2010-11-08 10:20:18

2022-09-02 15:11:18

开发工具

2023-03-03 09:33:45

ArthasJava诊断工具

2024-04-08 11:06:29

Rust测试控制

2011-10-26 20:47:36

ssh 安全

2009-03-19 13:36:53

SSH安全通道远程

2017-01-09 09:34:03

Docker容器传统虚拟机

2023-10-13 08:23:05

点赞
收藏

51CTO技术栈公众号