参考源

https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0

版本

本文章基于 CentOS 7.6


概述

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

Linux 磁盘管理常用命令为 dfdu

  • df:列出文件系统的整体磁盘使用量。
  • du:检查磁盘空间使用量。

查看

空间占用情况

df

可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [-ahikHTm] [目录或文件名]

参数:

  • -a:列出所有的文件系统,包括系统特有的 /proc 等文件系统。
  • -k:以 KBytes 的容量显示各文件系统。
  • -m:以 MBytes 的容量显示各文件系统。
  • -h:以人们较易阅读的 GBytesMBytesKBytes 等格式自行显示。
  • -H:以 M=1000K 取代 M=1024K 的进位方式。
  • -T:显示文件系统类型,连同该 partitionfilesystem 名称 (例如 ext3) 也列出。
  • -i:不用硬盘容量,而以 inode 的数量来显示。

将系统内所有的文件系统列出来。

在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来。

[root@sail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 61791304 2029212 57019704 4% /
devtmpfs 877748 0 877748 0% /dev
tmpfs 888200 0 888200 0% /dev/shm
tmpfs 888200 432 887768 1% /run
tmpfs 888200 0 888200 0% /sys/fs/cgroup
tmpfs 177644 0 177644 0% /run/user/0

将容量结果以易读的容量格式显示出来。

[root@sail ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 59G 2.0G 55G 4% /
devtmpfs 858M 0 858M 0% /dev
tmpfs 868M 0 868M 0% /dev/shm
tmpfs 868M 432K 867M 1% /run
tmpfs 868M 0 868M 0% /sys/fs/cgroup
tmpfs 174M 0 174M 0% /run/user/0

将系统内的所有特殊文件格式及名称都列出来。

[root@sail ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
rootfs - - - - - /
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
devtmpfs devtmpfs 877748 0 877748 0% /dev
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 888200 0 888200 0% /dev/shm
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 888200 432 887768 1% /run
tmpfs tmpfs 888200 0 888200 0% /sys/fs/cgroup
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore pstore 0 0 0 - /sys/fs/pstore
cgroup cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
configfs configfs 0 0 0 - /sys/kernel/config
/dev/vda1 ext4 61791304 2029228 57019688 4% /
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
mqueue mqueue 0 0 0 - /dev/mqueue
debugfs debugfs 0 0 0 - /sys/kernel/debug
systemd-1 autofs 0 0 0 - /proc/sys/fs/binfmt_misc
tmpfs tmpfs 177644 0 177644 0% /run/user/0

/etc 底下的可用的磁盘容量以易读的容量格式显示。

[root@sail ~]# df -h /etc
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 59G 2.0G 55G 4% /

使用的空间

du

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

语法:

du [-ahskm] 文件或目录名称

参数:

  • -a:列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h:以人们较易读的容量格式 (G/M) 显示。
  • -s:列出总量而已,而不列出每个各别的目录占用容量。
  • -S:不包括子目录下的总计,与 -s 有点差别。
  • -k:以 KBytes 列出容量显示。
  • -m:以 MBytes 列出容量显示。

只列出当前目录下的所有文件夹容量(包括隐藏文件夹)。

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

[root@sail ~]# du
8 ./.pip
12 ./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492
16 ./.cache/pip/wheels/06/6d/c4
20 ./.cache/pip/wheels/06/6d
24 ./.cache/pip/wheels/06
192 ./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7
196 ./.cache/pip/wheels/30/92/1b
200 ./.cache/pip/wheels/30/92
204 ./.cache/pip/wheels/30
52 ./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15
56 ./.cache/pip/wheels/6d/a6/31
60 ./.cache/pip/wheels/6d/a6
64 ./.cache/pip/wheels/6d
20 ./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d
24 ./.cache/pip/wheels/ff/b5/f9
28 ./.cache/pip/wheels/ff/b5
32 ./.cache/pip/wheels/ff
328 ./.cache/pip/wheels
336 ./.cache/pip
340 ./.cache
4 ./.ssh
388 .

前面的数字代表当前目录下占用的总量。


将文件的容量也列出来。

[root@sail ~]# du -a
4 ./.viminfo
4 ./.pydistutils.cfg
4 ./.pip/pip.conf
8 ./.pip
4 ./.bash_history
4 ./.cache/pip/selfcheck.json
8 ./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492/oauth-1.0.1-cp27-none-any.whl
12 ./.cache/pip/wheels/06/6d/c4/d1fba0de1630fc6d1f48b698ac9e2ec3aac470569e492f8492
16 ./.cache/pip/wheels/06/6d/c4
20 ./.cache/pip/wheels/06/6d
24 ./.cache/pip/wheels/06
188 ./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7/Cheetah-2.4.4-cp27-cp27mu-linux_x86_64.whl
192 ./.cache/pip/wheels/30/92/1b/72d4f934de9bb23f32ec92236df2256da67ba4de3483c634c7
196 ./.cache/pip/wheels/30/92/1b
200 ./.cache/pip/wheels/30/92
204 ./.cache/pip/wheels/30
48 ./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15/PyYAML-5.1.1-cp27-cp27mu-linux_x86_64.whl
52 ./.cache/pip/wheels/6d/a6/31/fbfd8613ea1839768e2e78f6ce34420730176733e084176c15
56 ./.cache/pip/wheels/6d/a6/31
60 ./.cache/pip/wheels/6d/a6
64 ./.cache/pip/wheels/6d
16 ./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d/prettytable-0.7.2-cp27-none-any.whl
20 ./.cache/pip/wheels/ff/b5/f9/5329ae8063250ec6b2f2456b3c32a9eabc13a4d850d0a39f0d
24 ./.cache/pip/wheels/ff/b5/f9
28 ./.cache/pip/wheels/ff/b5
32 ./.cache/pip/wheels/ff
328 ./.cache/pip/wheels
336 ./.cache/pip
340 ./.cache
4 ./.bash_profile
4 ./.bash_logout
4 ./.tcshrc
0 ./.ssh/authorized_keys
4 ./.ssh
4 ./.bashrc
4 ./.cshrc
388 .

检查根目录底下每个目录所占用的容量。

[root@sail ~]# du -sm /*
0 /bin
132 /boot
0 /dev
34 /etc
1 /home
0 /lib
0 /lib64
1 /lost+found
1 /media
1 /mnt
1 /opt
du: cannot access ‘/proc/5267/task/5267/fd/4’: No such file or directory
du: cannot access ‘/proc/5267/task/5267/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/5267/fd/4’: No such file or directory
du: cannot access ‘/proc/5267/fdinfo/4’: No such file or directory
0 /proc
1 /root
1 /run
0 /sbin
1 /srv
0 /sys
1 /tmp
1588 /usr
178 /var

通配符 ***** 来代表每个目录。

系统初期一般最大的为 /usr

df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

挂载与卸载

根文件系统之外的其他文件要想能够被访问,都必须通过关联至根文件系统上的某个目录来实现。

此关联操作即为挂载,此目录即为挂载点

解除此关联关系的过程称之为卸载

挂载

mount

磁盘挂载使用 mount 命令。

语法:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点

/dev/hdc6 挂载到 /mnt/hdc6 上面。

[root@sail ~]# mkdir /mnt/hdc6
[root@sail ~]# mount /dev/hdc6 /mnt/hdc6
[root@sail ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6

卸载

umount

磁盘卸载使用 umount 命令。

语法:

umount [-fn] 装置文件名或挂载点

参数:

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

卸载 /dev/hdc6

[root@sail ~]# umount /dev/hdc6

Linux 08 磁盘管理的更多相关文章

  1. Linux RAID 磁盘管理

    Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...

  2. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  3. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  4. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  5. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  6. Linux命令-磁盘管理(二)

    Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...

  7. Linux命令-磁盘管理(一)

    Linux命令-磁盘管理(一) Linux cd命令 Linux cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变 ...

  8. linux 系统磁盘管理体系

    目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...

  9. linux 系统磁盘管理(主分区和逻辑分区)

    摘要:linux系统磁盘管理主分区和逻辑分区 1.linux系统分区应了解的常识 硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息,在创建分区时,就已经设置好了硬盘的各项物理参数,指定 ...

随机推荐

  1. Keil软件下用Jlink无法识别芯片

    Keil软件下用Jlink无法识别芯片 硬件:正点原子探索者 软件:keil J-Link固件版本:V9.40 J-Link V6.94b驱动:下载地址 跟着视频教程走,发现的第一个问题就是这个,记录 ...

  2. 前端3JS1

    内容概要 溢出属性 定位属性 z-index JavaScript简介 变量与注释 数据类型 内容详情 溢出属性 # 文本内容超出了标签的最大范围 overflow: hidden; 接隐藏文本内容 ...

  3. Vue回炉重造之如何使用props、emit实现自定义双向绑定

    下面我将使用Vue自带的属性实现简单的双向绑定. 下面的例子就是利用了父组件传给子组件(在子组件定义props属性,在父组件的子组件上绑定属性),子组件传给父组件(在子组件使用$emit()属性定义一 ...

  4. SAP Web Dynpro - 应用程序中的服务调用

    您可以使用服务调用来调用Web Dynpro组件中的现有功能模块. 要创建服务呼叫,您可以使用Web Dynpro工具中易于使用的向导. 您可以在ABAP工作台中启动该向导以创建服务调用. 步骤1-选 ...

  5. React技巧之表单提交获取input值

    正文从这开始~ 总览 在React中,通过表单提交获得input的值: 在state变量中存储输入控件的值. 在form表单上设置onSubmit属性. 在handleSubmit函数中访问输入控件的 ...

  6. Qucs初步使用指南(不是multism)

    众所周知,Multism是一款强大的电路仿真软件,学习电子电路的同学都会接触到. 但是,这软件不支持Linux.(这就很魂淡了啊) 我的主力机是Linux,不能进行电路仿真成了学习的最大障碍. 使用w ...

  7. SpringBoot:Redis中的zset

    zset被描述为有序集合,但RedisTemplate的OpsForZSet().range方法的返回值是set,那么: 这样直接查询zset返回set的操作会使得元素失去顺序吗? 先明确:Set是什 ...

  8. java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DerInputStream.getLength(): lengthTag=111, too big.

    RSA用私钥签名的时候发现报错,删除以下内容即可 -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- import org.apache.com ...

  9. 千万小心,99%的Java程序员会踩这些坑

    前言 作为Java程序员的你,不知道有没有踩过一些基础知识的坑. 有时候,某个bug查了半天,最后发现竟然是一个低级错误. 有时候,某些代码,这一批数据功能正常,但换了一批数据就出现异常了. 有时候, ...

  10. 【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法

    华为应用内支付服务(In-App Purchases)通过简便的接入流程为用户提供良好的应用内支付体验,然而在实际接入过程中,有一些开发者反馈测试时会无法正常拉起支付页面,下文将详细分析问题出现的5种 ...