Linux系统磁盘管理

neevop 十一月 6, 2022

磁盘管理常用命令

  • df -h

    df命令的功能很多,显示每个文件所在的文件系统的信息或默认情况下所有文件系统。日常使用最多的是df -h命令查看磁盘相关信息。

    # 查看所有系统磁盘的信息
    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            944M     0  944M   0% /dev
    tmpfs           199M  1.2M  198M   1% /run
    /dev/vda2        40G   15G   24G  38% /
    tmpfs           992M   40K  992M   1% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           992M     0  992M   0% /sys/fs/cgroup
    tmpfs           199M     0  199M   0% /run/user/1003
    
    # 查看当前目录所属磁盘的信息
    $ df -h .
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda2        40G   15G   24G  38% /
    
  • fdisk -l

    fdisk命令的功能也有很多,主要用于对磁盘进行分区等高级操作。fdisk -l也可以查看到系统磁盘信息,与df -h不同的是,df -h只可以查看到系统已挂载磁盘的信息,而fdisk -l可以查看到所有硬件磁盘的信息。但是fdisk -l命令需要使用高级权限,而df -h不用。

    $ sudo fdisk -l
    Disk /dev/sdb: 3.7 TiB, 3997997989888 bytes, 7808589824 sectors
    Disk model: RAID 530-8i
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 65536 bytes / 131072 bytes
    Disklabel type: gpt
    Disk identifier: D457EC5A-6694-4133-BF36-F6FF8B93A3B3
    
    Device     Start        End    Sectors  Size Type
    /dev/sdb1   2048 7808587775 7808585728  3.7T Linux filesystem
    
    
    Disk /dev/sda: 446.1 GiB, 478998953984 bytes, 935544832 sectors
    Disk model: RAID 530-8i
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 65536 bytes / 65536 bytes
    Disklabel type: gpt
    Disk identifier: 46F5AC26-DB5F-4B93-B574-D307F1BBCB88
    
    Device       Start       End   Sectors   Size Type
    /dev/sda1     2048   1953791   1951744   953M EFI System
    /dev/sda2  1953792   3907583   1953792   954M Linux filesystem
    /dev/sda3  3907584 935542783 931635200 444.2G Linux filesystem
    
  • mount

    mount命令主要用于临时挂载分区,与之相对的是unmount命令,用于卸载已挂载的分区。

    # 临时挂载分区
    $ sudo mkdir/mount
    $ sudo mount /dev/sdc1 /mount
    ## umount /mount
    # 每次我们重新启动系统时,所有临时安装的资源都会自动卸载
    
  • blkid

    blkid命令主要用于查询系统磁盘硬件的UUID。文件系统中的每个资源都有一个唯一的 ID,称为 UUID。当永久挂载一个分区时,我们应该使用 UUID 而不是它的名字。UUID 代表通用唯一标识符。它是一个 128 位数字,以十六进制(基数 16)格式表示。

    $ blkid /dev/sdb1
    /dev/sdb1: UUID="93036df4-11bc-44fa-a8e8-19563548378f" TYPE="ext4" PARTUUID="1bf30021-de1d-4254-bea0-6ca5d39d2300"
    # 临时挂载分区可以直接使用UUID
    $ sudo mount UUID="93036df4-11bc-44fa-a8e8-19563548378f" /mount
    
  • vim /etc/fstab

    /etc/fstab该文件包含分区信息,此信息用于在系统引导时挂载文件系统。要自动挂载任何附加分区,我们必须在此文件中为该分区创建一个条目。

    $ cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda3 during installation
    UUID=111dd1eb-dde8-445f-9bb9-20dc903e18ae /               ext4    errors=remount-ro 0       1
    # /boot was on /dev/sda2 during installation
    UUID=ad1b6c1d-1d71-43b8-b364-41871e4ec8e7 /boot           ext4    defaults        0       2
    # /boot/efi was on /dev/sda1 during installation
    UUID=42C3-84EA  /boot/efi       vfat    umask=0077      0       1
    /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
    

    保存后始终使用mount –a命令检查条目。

此处只是展示一些磁盘管理中常用的命令。当然实际使用时光有这些命令是不够的,还需要了解部分文件备份及同步的工具,例如dd, rsync等。