目录

查看使用量

df

du

磁盘分区

fdisk

lsblk查看磁盘

查看分区文件

磁盘格式化

mount/umount挂载/卸载

mount挂载

开机自动挂载

umount卸载


Linux磁盘管理好坏直接关系到整个系统的性能问题。

在磁盘管理中,主要是查看磁盘使用量、磁盘分区、格式化、检验、挂载/卸载磁盘。

查看使用量

df

使用df命令查看文件系统的磁盘空间使用情况,语法格式如下:

df [选项] [文件或目录]

可选参数有:

  • -h:以GBytes,MBytes,KBytes等格式自行显示;
  • -H:以M=1000K取代M=1024K的进位方式;
  • -a:列出所有的文件系统;
  • -T:显示文件系统类型;
  • -i:不用硬盘容量,以inode的数量来显示;

示例的代码如下:

df     # 查看系统内所有的文件系统 
df -h /home    # 查看home目录可用的磁盘容量以易读的容量格式显示

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux

du

使用du命令查看文件和目录磁盘空间使用量,其语法格式如下:

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

常用可选参数有:

  • -h:以GBytes,MBytes,KBytes等格式自行显示;
  • -a:不仅查看子目录大小,还要包括文件;
  • -c:显示所有的文件和子目录大小后,显示总和;
  • -s:只显示总和;
  • --max-depth=n:指定统计子目录的深度为第n层;

直接输入du没有加任何选项时,则du会分析当前所在目录里的子目录所占用的硬盘空间。

示例代码如下:

du -h /home

如下图所示:

linux卸载 nginx linux卸载磁盘命令_文件系统_02

磁盘分区

fdisk

使用fdisk命令,其语法格式如下:

fdisk -l   # 查看磁盘分区情况
fdisk 硬盘设备名   # 对新增磁盘进行分区操作

其中

-l:显示所有磁盘的分区列表。

查看磁盘分区情况,示例代码如下:

linux卸载 nginx linux卸载磁盘命令_运维_03

lsblk查看磁盘

为了方便演示磁盘分区,这里我们添加了一块虚拟磁盘sdb,执行如下代码查看磁盘情况,

lsblk     # 查看磁盘分区系统情况 
fdisk -l    # 查看磁盘分区情况

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux卸载 nginx_04

接下来我们对sdb这块虚拟磁盘进行分区,执行如下代码:

fdisk /dev/sdb     # 对sdb磁盘进行分区

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux_05

输入m获取帮助,如下图所示:

linux卸载 nginx linux卸载磁盘命令_文件系统_06

在上图中操作命令已经写得很清楚了,这里就不一一解释了,

这里我们输入n新增一个partition,如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux卸载 nginx_07

输入n后,会有两个选择,一个是p主分区,一个是e额外分区。

这里我们选择默认的主分区p即可,如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux卸载 nginx_08

因为现在没有业务需求,这里我们全部都按它默认的就行,最后输入w保存操作并同步磁盘。

查看分区文件

执行如下代码查看磁盘分区文件,

lsblk -f    # 查看磁盘分区文件

如下图所示:

linux卸载 nginx linux卸载磁盘命令_运维_09

可以看到sdb磁盘已经分区了,但是系统没有分配UUID号给分区的文件。这是因为没有进行磁盘分区的文件系统格式化。

磁盘格式化

使用mkfs命令进行磁盘文件系统的格式化,其语法格式如下:

mkfs [选项] [文件系统格式] 文件系统名

示例代码如下:

mkfs -t xfs /dev/sdb1  # 格式化/dev/sdb1分区,其格式为xfs
lsblk -f    # 查看分区文件系统

如下图所示:

linux卸载 nginx linux卸载磁盘命令_文件系统_10

此时系统就分配了一个UUID号给sdb1磁盘分区。

mount/umount挂载/卸载

不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录,一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入那个分区将使它的存储空间在这个目录下获得。

注意:挂载前准备(必须要有光盘或者已经连接镜像文件)。

mount挂载

磁盘挂载使用mount命令,语法格式如下:

mount [-t 文件系统]  [-o options] 设备名 挂载点  # 挂载设备

可选参数如下:

  • -t 文件系统:指定文件系统类型,一般不需指定,因为mount会自动选择正确的类型;
  • -o:主要用来描述设备或档案的挂载方式,常用参数有:loop用来把一个文件当成硬盘分区挂载到系统,ro采用只读方式挂载设备;rw用读写方式挂载设备,iocharset指定访问文件系统所用字符集;

由于我们sr0磁盘中有光盘,如下图所示:

linux卸载 nginx linux卸载磁盘命令_服务器_11

磁盘管理命令--光盘

所以挂载sr0磁盘,示例代码如下:

mkdir /mnt/cdrom     # 创建cdrom文件夹
mount /dev/cdrom /mnt/cdrom    # 将dev/cdrom文件系统挂载到cdrom文件上
lsblk          # 查看分区文件系统

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux_12

执行如下代码查看挂载点,

df -h

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux_13

这样就成功挂载了,接下来我们通过ls的方式查看sr0有哪些文件,如下图所示:

linux卸载 nginx linux卸载磁盘命令_运维_14

开机自动挂载

每一次都要自己手动挂载,当我们想开机自动挂载文件时,只需要修改fstab文件即可,示例代码如下:

vi /etc/fstab

添加红框中内容,保存退出,如下图所示:

linux卸载 nginx linux卸载磁盘命令_文件系统_15

umount卸载

使用umount命令卸载挂载点,其语法格式如下:

umount [选项] 设备文件名或挂载点

常用的可选参数有:

  • -f:强制卸载,可用在类似网络文件系统 (NFS) 无法读取到的情况下;
  • -h:不升级/etc/mtab情况下卸载。

示例代码如下:

umount /mnt/cdrom

如下图所示:

linux卸载 nginx linux卸载磁盘命令_linux_16

好了,Linux系统命令——磁盘管理命令就学到这里了。