如何 Linux 上列出磁盘信息? 7个命令轻松搞定

Written by

in

文章目录
  • df 命令是一个常用的工具,用于显示文件系统的磁盘空间使用情况。它会列出已挂载文件系统的相关信息,包括文件系统的名称、挂载点、总大小、已使用空间、可用空间以及使用百分比等。
  • du 命令用于估算指定文件或目录的磁盘空间使用情况。它可以递归地计算目录及其子目录的磁盘使用情况,并以字节为单位报告。
  • lsblk 命令用于列出系统中的块设备信息,包括磁盘、分区和其关系。它提供了一个直观的视图,显示了系统中所有块设备的层次结构。
  • fdisk 命令是一个用于磁盘分区的工具,它允许用户对系统上的磁盘进行分区、编辑分区表等操作。
  • 虽然 ls 命令通常用于列出目录中的文件和子目录,但也可以用来查看一些特殊文件,比如设备文件。
  • cat 命令通常用于连接文件并打印它们的内容,但是在 /proc 文件系统中,有一些特殊的文件用于显示系统的信息,包括磁盘信息。
  • mount 命令用于挂载文件系统到指定的挂载点,同时也可以用来查看已挂载的文件系统信息。
  • 目录
    • df 命令
      • 使用方法:
      • 示例输出:
    • du 命令
      • 使用方法:
      • 示例输出:
    • lsblk 命令
      • 使用方法:
      • 示例输出:
    • fdisk 命令
      • 使用方法:
      • 示例输出:
    • ls 命令
      • 使用方法:
      • 示例输出:
    • cat 命令
      • 使用方法:
      • 示例输出:
    • mount 命令
      • 使用方法:
      • 示例输出:

    在 Linux 系统上,了解系统中的磁盘信息对于系统管理员和用户来说都是至关重要的。通过了解系统上的磁盘情况,可以有效管理存储空间、诊断问题并进行性能优化。

    df 命令是一个常用的工具,用于显示文件系统的磁盘空间使用情况。它会列出已挂载文件系统的相关信息,包括文件系统的名称、挂载点、总大小、已使用空间、可用空间以及使用百分比等。

    代码语言:bash

    df -h

    -h 选项表示以人类可读的格式显示结果,这样会更容易理解。

    代码语言:plaintext

    文件系统           容量  已用  可用 已用% 挂载点
    /dev/sda1          20G   8.4G   11G   44%   /
    /dev/sdb1         100G  60G   40G   60%   /mnt/data

    在这个示例中,我们可以看到两个文件系统 /dev/sda1/dev/sdb1,它们分别挂载在根目录 //mnt/data,显示了它们的容量、已用空间、可用空间以及使用百分比。

    du 命令用于估算指定文件或目录的磁盘空间使用情况。它可以递归地计算目录及其子目录的磁盘使用情况,并以字节为单位报告。

    代码语言:bash

    du -h /path/to/directory

    -h 选项同样表示以人类可读的格式显示结果。

    代码语言:plaintext

    4.0K    /path/to/directory/subdirectory1
    2.0M    /path/to/directory/subdirectory2
    1.5G    /path/to/directory/subdirectory3

    这个示例中,我们对 /path/to/directory 目录使用了 du 命令,它递归地显示了该目录及其子目录的磁盘使用情况,以人类可读的格式显示。

    lsblk 命令用于列出系统中的块设备信息,包括磁盘、分区和其关系。它提供了一个直观的视图,显示了系统中所有块设备的层次结构。

    代码语言:bash

    lsblk

    代码语言:plaintext

    NAME    MAJ:MIN  RM  SIZE  RO  TYPE  MOUNTPOINT
    sda       8:0       0    20G    0    disk
    └─sda1  8:1       0    20G    0    part  /
    sdb       8:16     0   100G    0    disk
    └─sdb1  8:17     0   100G    0    part  /mnt/data

    这个示例中,lsblk 命令显示了系统中的两个磁盘 sdasdb,以及它们各自的分区信息。可以看到每个设备的名称、主/次设备号、是否可移动、大小、只读属性、类型以及挂载点。

    fdisk 命令是一个用于磁盘分区的工具,它允许用户对系统上的磁盘进行分区、编辑分区表等操作。

    代码语言:bash

    fdisk -l

    -l 选项表示列出系统中的所有磁盘的分区信息。

    代码语言:plaintext

    磁盘 /dev/sda:20 GiB,20971520000 字节,40960000 扇区
    ...
    /dev/sda1    2048  40959999  40957952  20G 83 Linux
    
    磁盘 /dev/sdb:100 GiB,107374182400 字节,209715200 扇区
    ...
    /dev/sdb1   2048  209715199  209713152  100G 83 Linux

    这个示例中,fdisk 命令显示了系统中所有磁盘的分区信息,包括分区的起始扇区、结束扇区、大小、类型等。

    虽然 ls 命令通常用于列出目录中的文件和子目录,但也可以用来查看一些特殊文件,比如设备文件。

    代码语言:bash

    ls -l /dev/sd*

    这个命令会列出 /dev 目录下以 sd 开头的设备文件,包括硬盘设备文件。

    代码语言:plaintext

    brw-rw---- 1 root disk 8,  0 Jan  1 00:00 /dev/sda
    brw-rw---- 1 root disk 8,  1 Jan  1 00:00 /dev/sda1
    brw-rw---- 1 root disk 8, 16 Jan  1 00:00 /dev/sdb
    brw-rw---- 1 root disk 8, 17 Jan  1 00:00 /dev/sdb1

    这个示例中,我们使用 ls 命令列出了两个磁盘设备 /dev/sda/dev/sdb,以及它们的分区 /dev/sda1/dev/sdb1

    cat 命令通常用于连接文件并打印它们的内容,但是在 /proc 文件系统中,有一些特殊的文件用于显示系统的信息,包括磁盘信息。

    代码语言:bash

    cat /proc/partitions

    这个命令会打印出系统中所有分区的列表,包括磁盘、分区以及它们的大小。

    代码语言:plaintext

    major minor  #blocks  name
    
       8        0  20971520 sda
       8        1  20971392 sda1
       8       16 104857600 sdb
       8       17 104857568 sdb1

    这个示例中,我们使用 cat 命令打印了 /proc/partitions 文件的内容,显示了系统中所有磁盘和分区的信息,包括设备号、大小等。

    mount 命令用于挂载文件系统到指定的挂载点,同时也可以用来查看已挂载的文件系统信息。

    代码语言:bash

    mount | grep '^/dev'

    这个命令会列出所有已挂载的文件系统,然后通过 grep 过滤出以 /dev 开头的设备。

    代码语言:plaintext

    /dev/sda1 on / type ext4 (rw,relatime)
    /dev/sdb1 on /mnt/data type ext4 (rw,relatime)

    这个示例中,我们使用 mount 命令列出了所有已挂载的文件系统,并通过 grep 过滤出了以 /dev 开头的设备,显示了它们的挂载信息。

    站内搜索