磁盘与文件管理工具简介-fdisk | mkf s| fsck | mount | umount | blkid | df | du

时间:2021-04-02 05:24:50

磁盘与文件管理工具

磁盘管理工具

fdisk

fdisk命令用于观察硬盘实体使用情况,也可对磁盘进行添加、删除、转换分区等操作

语法

fdisk(选项)(参数)

选项

-b<分区大小>:指定每个分区的大小;
-l:列出指定的外围设备的分区表状况;
-s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;

参数

设备文件:指定要进行分区或者显示分区的硬盘设备文件。

实例

  • 显示磁盘分区表状况

    [root@localhost ~]# fdisk -l
    
    磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x00005418
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200    41943039    19921920   8e  Linux LVM
    
    磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/cl-root:18.2 GB, 18249416704 字节,35643392 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/cl-swap:2147 MB, 2147483648 字节,4194304 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    

磁盘操作

fdisk /dev/sdb
  • 输入m列出一下执行命令,常用有

    n:创建新分区
    d:删除已有分区
    t:修改分区类型
    l:查看所有已经ID
    w:保存并退出
    q:不保存并退出
    m:查看帮助信息
    p:显示现有分区信息
    
  • 新建主分区

    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free) //主分区
       e   extended                                //扩展分区
    Select (default p): p
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-83886079,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+10G \\分区大小为10G
    分区 1 已设置为 Linux 类型,大小设为 10 GiB
    

-新建逻辑分区

  先建一个扩展分区,再在扩展分区里建逻辑分区

    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended 
    Select (default p): e
    分区号 (2-4,默认 2):2
    起始 扇区 (20973568-83886079,默认为 20973568):
    将使用默认值 20973568
    Last 扇区, +扇区 or +size{K,M,G} (20973568-83886079,默认为 83886079):
    将使用默认值 83886079
    分区 2 已设置为 Extended 类型,大小设为 30 GiB

    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (1 primary, 1 extended, 2 free)
       l   logical (numbered from 5)
    Select (default p): l
    添加逻辑分区 5
    起始 扇区 (20975616-83886079,默认为 20975616):
    将使用默认值 20975616
    Last 扇区, +扇区 or +size{K,M,G} (20975616-83886079,默认为 83886079):+10G
    分区 5 已设置为 Linux 类型,大小设为 10 GiB
  • 显示分区信息

    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x668a8f98
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760   83  Linux
    /dev/sdb2        20973568    83886079    31456256    5  Extended
    /dev/sdb5        20975616    41947135    10485760   83  Linux
    /dev/sdb6        41949184    62920703    10485760   83  Linux
    /dev/sdb7        62922752    83886079    10481664   83  Linux
    
  • 删除分区

    命令(输入 m 获取帮助):d
    分区号 (1,2,5-7,默认 7):7
    分区 7 已删除
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x668a8f98
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760   83  Linux
    /dev/sdb2        20973568    83886079    31456256    5  Extended
    /dev/sdb5        20975616    41947135    10485760   83  Linux
    /dev/sdb6        41949184    62920703    10485760   83  Linux
    
  • 修改分区类型(默认83),修改为82:swap

    命令(输入 m 获取帮助):t
    分区号 (1,2,5,6,默认 6):
    Hex 代码(输入 L 列出所有代码):l
    
     0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
     1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
     2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
     5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
     6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
     8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
     9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
     a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
     b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
     c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
    11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
    16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
    1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
    1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
    1e  隐藏的 W95 FAT1 80  旧 Minix       
    Hex 代码(输入 L 列出所有代码): 82
    已将分区“Linux”的类型更改为“Linux swap / Solaris”
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x668a8f98
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760   83  Linux
    /dev/sdb2        20973568    83886079    31456256    5  Extended
    /dev/sdb5        20975616    41947135    10485760   83  Linux
    /dev/sdb6        41949184    62920703    10485760   82  Linux swap / Solaris
    

注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别

查看:cat  /proc/partitions
    通知内核强制重读磁盘分区表:
        CentOS 5:partprobe [device]
        CentOS 6,7:partx, kpartx
                partx -a [device]
                kpartx -af [device]

文件系统管理工具


mkfs

mkfs命令用于在设备上(通常为硬盘)创建Linux文件系统

Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, reiserfs, btrfs
光盘:iso9660
网络文件系统:nfs, cifs
集群文件系统:gfs2, ocfs2
内核级分布式文件系统:ceph
windows的文件系统:vfat, ntfs
伪文件系统:proc, sysfs, tmpfs, hugepagefs
Unix的文件系统:UFS, FFS, JFS
交换文件系统:swap
用户空间的分布式文件系统:mogilefs, moosefs, glusterfs

语法

mkfs(选项)(参数)

选项

fs:指定建立文件系统时的参数;
-t<文件系统类型>:指定要建立何种文件系统;
-c:在制做档案系统前,检查该partition是否有坏轨。
-L:指定卷标
-b:设置块大小
-m:设置预留空间,默认5%

参数

  • 文件系统:指定要创建的文件系统对应的设备文件名;
  • 块数:指定文件系统的磁盘块数。

工具

mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...

mkfs.ext2 等同于 mkfs -t ext2

实例

  • 把sdb5的文件系统格式成ext4

    [root@localhost sbin]# mkfs -t ext4 /dev/sdb5 
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 2621440 blocks
    131072 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2151677952
    80 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    Allocating group tables: 完成      
    
  • 把sdb7格式成ext4格式、卷标test,块大小2048

    [root@localhost ~]# mkfs.ext4 -L test -b 2048 /dev/sdb7 
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=test
    OS type: Linux
    块大小=2048 (log=1)
    分块大小=2048 (log=1)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 5240832 blocks
    262041 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=273678336
    320 block groups
    16384 blocks per group, 16384 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks: 
            16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
            2048000, 3981312
    
    Allocating group tables: 完成                            
    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成   
    
  • 预留10%的空闲空间(默认5%)

    [root@localhost ~]# mkfs -t ext4 -m 10  /dev/sdb7
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 2620416 blocks
    262041 blocks (10.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2151677952
    80 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    Allocating group tables: 完成                            
    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成 
    
  • 检查该sdb5是否有坏轨

    [root@localhost sbin]# mkfs -c /dev/sdb5
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 2621440 blocks
    131072 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2684354560
    80 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    Checking for bad blocks (read-only test): done                                                 
    Allocating group tables: 完成                            
    正在写入inode表: 完成                            
    Writing superblocks and filesystem accounting information: 完成  
    

fsck

fsck命令被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。

语法

fsck(选项)(参数)    

选项

-a:自动修复文件系统,不询问任何问题;
-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
-N:不执行指令,仅列出实际执行会进行的动作;
-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
-R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
-s:依序执行检查作业,而非同时执行;
-t<文件系统类型>:指定要检查的文件系统类型;
-T:执行fsck指令时,不显示标题信息;
-V:显示指令执行过程。

参数

文件系统:指定要查看信息的文件系统。

工具

fsck.ext2, fsck.ext3, ...
fsck.ext2 等同于 fsck -t ext2

实例

  • 检测/dev/sdb5,并显示过程

    [root@localhost sbin]# fsck -V /dev/sdb5
    fsck,来自 util-linux 2.23.2
    [/sbin/fsck.ext2 (1) -- /dev/sdb5] fsck.ext2 /dev/sdb5 
    e2fsck 1.42.9 (28-Dec-2013)
    /dev/sdb5: clean, 11/655360 files, 46895/2621440 blocks
    
    //默认使用ext2检测
    

mount

mount命令用于加载文件系统到指定的加载点

语法

mount(选项)(参数)

选项

-r:readonly,只读挂载; 
-w:read and write, 读写挂载; 
-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;    
-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;                      
-L LABEL:挂载时以卷标的方式指明设备;                         
-U UUID:挂载时以UUID的方式指明设备;
-a:-加载文件“/etc/fstab”中描述的所有文件系统。
-o options:挂载选项(defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime.)
    sync/async:同步/异步操作;
    atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
    diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
    remount:重新挂载; 
    acl:支持使用facl功能;
    ro:只读 
    rw:读写 
    dev/nodev:此设备上是否允许创建设备文件;
    exec/noexec:是否允许运行此设备上的程序文件;
    auto/noauto:打开/关闭自动挂上模式。
    user/nouser:是否允许普通用户挂载此文件系统;
    suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;

参数

  • 设备文件名:指定要加载的文件系统对应的设备名;
  • 加载点:指定加载点目录。

实例

  • 显示全部挂载信息

    [root@localhost ~]# mount
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=488988k,nr_inodes=122247,mode=755)
    securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
    --------
    
  • 挂载

    [root@localhost ~]# mount /dev/sdb7 /tmp/mytest
    [root@localhost ~]# mount | grep "/dev/sdb7"
    /dev/sdb7 on /tmp/mytest type ext4 (rw,relatime,seclabel,data=ordered)
    
  • 只读挂载

    [root@localhost ~]# mount -r /dev/sdb6 /tmp/mydata6
    [root@localhost ~]# mount | grep "dev/sdb6"
    /dev/sdb6 on /tmp/mydata6 type ext4 (ro,relatime,seclabel,data=ordered) //ro只读
    [root@localhost ~]# touch /tmp/mydata6/test
    touch: 无法创建"/tmp/mydata6/test": 只读文件系统
    
  • 根据UUID挂载设备

    [root@localhost ~]# blkid /dev/sdb5
    /dev/sdb5: UUID="d8653b9b-b527-48a4-bf1f-6c457c44c8d4" TYPE="ext4" 
    [root@localhost ~]# mount -U d8653b9b-b527-48a4-bf1f-6c457c44c8d4 /tmp/mydata5
    [root@localhost ~]# mount | grep "/dev/sdb5"
    /dev/sdb5 on /tmp/mydata5 type ext4 (rw,relatime,seclabel,data=ordered)
    
  • 根据LABEL挂载设备

    root@localhost ~]# blkid /dev/sdb7
    /dev/sdb7: LABEL="mytest" UUID="3f64fee6-3f3b-4d3b-8269-efe481c6eb72" TYPE="ext4" 
    [root@localhost ~]# mkdir /tmp/mydata7
    [root@localhost ~]# mount -L mytest /tmp/mydata7
    [root@localhost ~]# mount | grep "/dev/sdb7"
    /dev/sdb7 on /tmp/mydata7 type ext4 (rw,relatime,seclabel,data=ordered)
    
  • 重新挂载 mount -o remount

    [root@localhost ~]# mount -o remount -L mytest -r /tmp/mydata7
    [root@localhost ~]# mount | grep "/dev/sdb7"
    /dev/sdb7 on /tmp/mydata7 type ext4 (ro,relatime,seclabel,data=ordered)
    
  • 挂载光盘

    [root@localhost /]# mount /dev/cdrom /mnt/cdrom
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost /]# mount | grep "cdrom"
    /dev/sr0 on /mnt/cdrom type iso9660 (ro,relatime)
    [root@localhost /]# ll /mnt/cdrom
    总用量 654
    -rw-r--r--. 1 root root     14 12月  5 2016 CentOS_BuildTag
    drwxr-xr-x. 3 root root   2048 12月  5 2016 EFI
    -rw-r--r--. 1 root root    215 12月 10 2015 EULA
    -rw-r--r--. 1 root root  18009 12月 10 2015 GPL
    drwxr-xr-x. 3 root root   2048 12月  5 2016 images
    drwxr-xr-x. 2 root root   2048 12月  5 2016 isolinux
    drwxr-xr-x. 2 root root   2048 12月  5 2016 LiveOS
    drwxrwxr-x. 2 root root 630784 12月  5 2016 Packages
    drwxrwxr-x. 2 root root   4096 12月  5 2016 repodata
    -rw-r--r--. 1 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
    -rw-r--r--. 1 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
    -r--r--r--. 1 root root   2883 12月  5 2016 TRANS.TBL
    
  • 挂载U盘

    1.linux 默认不支持NTFS,需安装ntfs-3g
        yum install –y ntfs-3g
    
    2.查看U盘的设备名称
        [root@localhost /]# fdisk -l
        ---------
        磁盘 /dev/sdc:31.6 GB, 31625052160 字节,61767680 个扇区
        Units = 扇区 of 1 * 512 = 512 bytes
        扇区大小(逻辑/物理):512 字节 / 512 字节
        I/O 大小(最小/最佳):512 字节 / 512 字节
        磁盘标签类型:dos
        磁盘标识符:0x00000000
    
           设备 Boot      Start         End      Blocks   Id  System
    
    
        /dev/sdc1   *        2048    61767679    30882816    7  HPFS/NTFS/exFAT
    
    3.挂载                                                                                                                                                                        
        [root@localhost /]# mount /dev/sdc1 /mnt/U
        The disk contains an unclean file system (0, 0).
        The file system wasn't safely closed on Windows. Fixing.
        [root@localhost /]# 
        [root@localhost /]# 
        [root@localhost /]# mount | grep "sdc1"
        /dev/sdc1 on /mnt/U type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
    
  • 自动挂载

设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
每行定义一个要挂载的文件系统及相关属性:

[root@localhost ~]#  cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Apr 11 06:06:51 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=311c77b9-7fe8-4ff8-829c-10028a24f872 /boot                   xfs     defaults        0 0
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

    6个字段:
            (1) 要挂载的设备:
                设备文件;
                LABEL
                UUID
                伪文件系统:如sysfs, proc, tmpfs等
            (2) 挂载点 
                swap类型的设备的挂载点为swap;
            (3) 文件系统类型;
            (4) 挂载选项
                defaults:使用默认挂载选项;
                如果要同时指明多个挂载选项,彼此间以事情分隔;
                    defaults,acl,noatime,noexec
            (5) 转储频率
                0:从不备份;
                1:每天备份;
                2:每隔一天备份;
            (6) 自检次序
                0:不自检;
                1:首先自检,通常只能是根文件系统可用1;
                2:次级自检
                ...

[root@localhost ~]# vim /etc/fstab

----
/dev/sdb7       /tmp/mydata7    ext4    defaults        0 0

[root@localhost ~]# mount -a
[root@localhost ~]# mount | grep "/dev/sdb7"
/dev/sdb7 on /tmp/mydata7 type ext4 (rw,relatime,seclabel,data=ordered)

umount

umount命令用于卸载已经加载的文件系统。

语法

umount(选项)(参数)

选项

-a:卸除/etc/mtab中记录的所有文件系统;
-h:显示帮助;
-n:卸除时不要将信息存入/etc/mtab文件中;
-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;
-t<文件系统类型>:仅卸除选项中所指定的文件系统;
-v:执行时显示详细的信息;

参数

文件系统:指定要卸载的文件系统或者其对应的设备文件名。

注意

正在被进程访问到的挂载点无法被卸载

查看被哪个或哪些进程所战用:

# lsof  MOUNT_POINT
# fuser -v  MOUNT_POINT

终止所有正在访问某挂载点的进程:

# fuser  -km  MOUNT_POINT

实例

  • 卸载光盘

    [root@localhost /]# umount -v /mnt/cdrom
    umount: /mnt/cdrom (/dev/sr0) 已卸载
    [root@localhost /]# ll /mnt/cdrom
    总用量 0
    
  • 卸载遇目标忙

    [root@localhost /]# umount /tmp/mydata7
    umount: /tmp/mydata7:目标忙。
            (有些情况下通过 lsof(8) 或 fuser(1) 可以
             找到有关使用该设备的进程的有用信息)
    [root@localhost /]# lsof /tmp/mydata7
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    bash    2764 root  cwd    DIR   8,23     4096    2 /tmp/mydata7
    vim     2785 root  cwd    DIR   8,23     4096    2 /tmp/mydata7
    vim     2785 root    4u   REG   8,23    12288   13 /tmp/mydata7/.test.swp
    [root@localhost /]# fuser /tmp/mydata7
    /tmp/mydata7:         2764c  2785c
    [root@localhost /]# fuser -v /tmp/mydata7
                         用户     进程号 权限   命令
    /tmp/mydata7:        root     kernel mount /tmp/mydata7
                         root       2764 ..c.. bash
                         root       2785 ..c.. vim
    [root@localhost /]# fuser -km /tmp/mydata7
    /tmp/mydata7:         2764c  2785c
    [root@localhost /]# umount /tmp/mydata7
    

blkid

blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。

语法

 blkid -L <label> | -U <uuid>

 blkid [-c <file>] [-ghlLv] [-o <format>] [-s <tag>] 
       [-t <token>] [<dev> ...]

 blkid -p [-s <tag>] [-O <offset>] [-S <size>] 
       [-o <format>] <dev> ...

 blkid -i [-s <tag>] [-o <format>] <dev> ...

选项

<file>:显示文件系统相关信息
-s:显示指定信息,默认显示所有
    UUID:显示uuid
    TYPE:显示type
    LABEL:显示label
-L:根据label显示文件系统
-U:根据uuid显示文件系统

实例

  • 显示设备相关信息

    [root@localhost ~]# blkid /dev/sdb7
    /dev/sdb7: LABEL="mytest" UUID="3f64fee6-3f3b-4d3b-8269-efe481c6eb72" TYPE="ext4"
    
  • 显示设备的UUID\TYPE\LABLE

    [root@localhost ~]# blkid -s UUID
    /dev/sda1: UUID="311c77b9-7fe8-4ff8-829c-10028a24f872" 
    /dev/sda2: UUID="JpQJY9-zYdk-BYCt-oPcp-H6Mn-oTst-dAXTeZ" 
    /dev/sdb5: UUID="db3cd4e2-e97f-446a-9490-2534f62acf44" 
    /dev/sdb7: UUID="3f64fee6-3f3b-4d3b-8269-efe481c6eb72" 
    /dev/sr0: UUID="2016-12-05-13-55-45-00" 
    /dev/mapper/cl-root: UUID="2e021493-38c8-41fa-a862-a46393a0879b" 
    /dev/mapper/cl-swap: UUID="b2b1bb1c-f329-456d-a85e-1080b1c72a7b" 
    [root@localhost ~]# blkid -s UUID /dev/sdb7
    /dev/sdb7: UUID="3f64fee6-3f3b-4d3b-8269-efe481c6eb72"
    
    [root@localhost ~]# blkid -s TYPE
    /dev/sda1: TYPE="xfs" 
    /dev/sda2: TYPE="LVM2_member" 
    /dev/sdb5: TYPE="ext2" 
    /dev/sdb7: TYPE="ext4" 
    /dev/sr0: TYPE="iso9660" 
    /dev/mapper/cl-root: TYPE="xfs" 
    /dev/mapper/cl-swap: TYPE="swap" 
    [root@localhost ~]# blkid -s TYPE /dev/sdb7
    /dev/sdb7: TYPE="ext4" 
    
    [root@localhost ~]# blkid -s LABEL 
    /dev/sdb7: LABEL="mytest" 
    /dev/sr0: LABEL="CentOS 7 x86_64" 
    [root@localhost ~]# blkid -s LABEL /dev/sdb7
    /dev/sdb7: LABEL="mytest" 
    
  • 根据LABLE\UUID显示设备名称

    [root@localhost ~]# blkid -U 3f64fee6-3f3b-4d3b-8269-efe481c6eb72
    /dev/sdb7 
    [root@localhost ~]# blkid -L mytest
    /dev/sdb7
    

df

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法

df(选项)(参数)

选项

-l:仅显示本地文件的相关信息;
-h:human-readable
-i:显示inode的使用状态而非blocks

参数

文件:指定文件系统上的文件。

实例

  • 以KB以上的单位来显示,可读性高:

    [root@localhost ~]# df -h
    文件系统             容量  已用  可用 已用% 挂载点
    /dev/mapper/cl-root   17G  1.3G   16G    8% /
    devtmpfs             478M     0  478M    0% /dev
    tmpfs                489M     0  489M    0% /dev/shm
    tmpfs                489M  6.7M  482M    2% /run
    tmpfs                489M     0  489M    0% /sys/fs/cgroup
    tmpfs                489M  8.0K  489M    1% /tmp
    /dev/sdb7            9.8G   37M  9.2G    1% /tmp/mydata7
    /dev/sda1           1014M  139M  876M   14% /boot
    tmpfs                 98M     0   98M    0% /run/user/0
    
  • 显示全部

    [root@localhost ~]# df -a
    文件系统               1K-块    已用     可用 已用% 挂载点
    rootfs                     -       -        -     - /
    sysfs                      0       0        0     - /sys
    proc                       0       0        0     - /proc
    devtmpfs              488988       0   488988    0% /dev
    securityfs                 0       0        0     - /sys/kernel/security
    tmpfs                 499968       0   499968    0% /dev/shm
    devpts                     0       0        0     - /dev/pts
    tmpfs                 499968    6832   493136    2% /run
    tmpfs                 499968       0   499968    0% /sys/fs/cgroup
    cgroup                     0       0        0     - /sys/fs/cgroup/systemd
    pstore                     0       0        0     - /sys/fs/pstore
    cgroup                     0       0        0     - /sys/fs/cgroup/net_cls,net_prio
    cgroup                     0       0        0     - /sys/fs/cgroup/devices
    cgroup                     0       0        0     - /sys/fs/cgroup/cpu,cpuacct
    cgroup                     0       0        0     - /sys/fs/cgroup/hugetlb
    cgroup                     0       0        0     - /sys/fs/cgroup/memory
    cgroup                     0       0        0     - /sys/fs/cgroup/pids
    cgroup                     0       0        0     - /sys/fs/cgroup/perf_event
    cgroup                     0       0        0     - /sys/fs/cgroup/blkio
    cgroup                     0       0        0     - /sys/fs/cgroup/freezer
    cgroup                     0       0        0     - /sys/fs/cgroup/cpuset
    configfs                   0       0        0     - /sys/kernel/config
    /dev/mapper/cl-root 17811456 1349120 16462336    8% /
    selinuxfs                  0       0        0     - /sys/fs/selinux
    systemd-1                  0       0        0     - /proc/sys/fs/binfmt_misc
    mqueue                     0       0        0     - /dev/mqueue
    tmpfs                 499968       8   499960    1% /tmp
    debugfs                    0       0        0     - /sys/kernel/debug
    hugetlbfs                  0       0        0     - /dev/hugepages
    /dev/sdb7           10186004   36900  9608640    1% /tmp/mydata7
    /dev/sda1            1038336  141652   896684   14% /boot
    tmpfs                  99996       0    99996    0% /run/user/0
    

du

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法

du [选项][文件]

选项

-s: 仅显示总计,只列出最后加总的值
-h: 以K,M,G为单位,提高信息的可读性

实例

  • 统计数量

    [root@localhost /]# du -s /tmp
    32      /tmp
    
  • 带单位输出

    [root@localhost /]# du -h /tmp
    0       /tmp/systemd-private-3bd951dc1b02436894f3817d9f3bb262-vmtoolsd.service-UU2Aov/tmp
    0       /tmp/systemd-private-3bd951dc1b02436894f3817d9f3bb262-vmtoolsd.service-UU2Aov
    0       /tmp/.Test-unix
    0       /tmp/.font-unix
    0       /tmp/.ICE-unix
    0       /tmp/.X11-unix
    0       /tmp/.XIM-unix
    16K     /tmp/mydata7/lost+found
    32K     /tmp/mydata7
    32K     /tmp