美文网首页
Linux系统命令——磁盘管理命令

Linux系统命令——磁盘管理命令

作者: 白巧克力LIN | 来源:发表于2022-08-09 10:39 被阅读0次

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

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

    查看使用量

    df

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

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

    可选参数有:

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

    示例的代码如下:

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

    如下图所示:


    du

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

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

    常用可选参数有:

    • -h:以GBytes,MBytes,KBytes等格式自行显示;

    • -a:不仅查看子目录大小,还要包括文件;

    • -c:显示所有的文件和子目录大小后,显示总和;

    • -s:只显示总和;

    • --max-depth=n:指定统计子目录的深度为第n层;

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

    示例代码如下:

    du -h /home
    

    如下图所示:


    磁盘分区

    fdisk

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

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

    其中

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

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


    lsblk查看磁盘

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

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

    如下图所示:



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

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

    如下图所示:



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



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

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



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

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



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

    查看分区文件

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

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

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

    磁盘格式化

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

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

    示例代码如下:

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

    如下图所示:



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

    mount/umount挂载/卸载

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

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

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

    mount挂载

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

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

    可选参数如下:

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

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



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

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

    如下图所示:



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

    df -h
    

    如下图所示:



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


    开机自动挂载

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

    vi /etc/fstab
    

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


    umount卸载

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

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

    常用的可选参数有:

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

    示例代码如下:

    umount /mnt/cdrom
    

    如下图所示:



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

    公众号:白巧克力LIN

    该公众号发布Python、数据库、Linux、Flask、自动化测试、Git等相关文章!

    相关文章

      网友评论

          本文标题:Linux系统命令——磁盘管理命令

          本文链接:https://www.haomeiwen.com/subject/jfqnwrtx.html