df 命令及 du 命令

1、df 命令

首先用命令 man df 来查看一下,见下图,
df 命令及 du 命令
先不查看下面的 df 命令解说,退出来,运行一下命令 df ,见下图,
df 命令及 du 命令
上图最需要关注的信息就是“已用%”,查看磁盘使用情况,达到 80%-90% 的时候,就要重点关注了。Linux 系统的磁盘是不能直接访问的,必须要有挂载点。通过挂载点才能找到磁盘,进入磁盘,读写数据。
df 命令还有一个常用的选项 -h ,见下图,
df 命令及 du 命令
可以对比一下加不加 -h 的区别。加了 -h 可以根据磁盘的大小,适当的显示单位 M 或 G 。
关于内存单位转换:
Byte 字节的意思
B是一个电脑存储的基本单位(字节),1个英文字符是1个字节,也就是1B,1个汉字为2个字符,也就是2B。
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
之前装系统的时候,将系统分成了三个区域 /boot 、swap 、/ ,现在挂载点下面还有一些别的分区目录,先来看一下左边的文件系统,只要带 tmpfs 这几个字母的都是临时的文件系统,对应后面的挂载点中,只要系统重新启动,这些目录里面的内容就会自动清空。其中,/dev/shm 是内存,假如有东西需要写在内存上,可以把文件写到 /dev/shm 里面,速度会非常快,内存的大小是物理内存的一半。
上图中,我们需要关注的是 /dev/ 文件系统,/dev/sda3 和 /dev/sda1 。
swap 用 df -h 看不出来,需要用命令 free 查看,见下图,
df 命令及 du 命令
free 命令后面会说到,total 为总的大小,free 为剩余的大小。当时划分系统的时候,内存设置 1G ,swap 是内存的两倍为 2G 。
df 还有一个用法,为 df -i ,见下图,
df 命令及 du 命令
df -i 的命令就是查看分区下面有多少个 inode ,以及 inode 使用情况。在创建好分区之后,一旦格式化,格式化的过程实际上就是在创建 inode ,inode 在格式化的时候就预分配好了,inode 数量多少跟磁盘分区大小有关系。如果 inode 全部使用完毕,就算磁盘还有空间,也写不进去内容。
还有 df -m 的用法,以 M 为单位显示,见下图,
df 命令及 du 命令
再尝试一下,其他用法,是不行的。
df 命令及 du 命令

总结:
df 查看磁盘使用情况,以 KB 为单位显示。
df -h 也是查看磁盘使用情况,但是可以根据磁盘的大小,适当的显示单位 M 或 G 。
df -i 查看分区下面有多少个 inode ,以及 inode 使用情况。
df -m 查看磁盘使用情况,以 M 为单位显示。
free 可以查看 swap 的使用情况。

2、du 命令

命令 du 是用来查看目录或文件大小的,最常用的方法是查看目录的大小,见下图,
df 命令及 du 命令
上图中,/root/ 和 /root 是一样,没有区别。其中,命令 du -sh 和命令 ls -lh 查看同一个文件,显示的大小是不一样的,注意红色框框的内容。这里面涉及到块的概念,磁盘分区格式化的时候就涉及到块。当文件小于 4 KB 的时候,使用命令 du -sh 查看也会显示 4 KB 。因为磁盘会划分成无数个小块,每一个小块就是 4 KB ,把文件写入到小块里面,即使文件很小不够一个小块的大小,也会占用一个小块。所以说,一个块只能有一个文件,不能有多个文件去占用一个块。综上所述,使用命令 ls -lh 查看的时候,文件显示的是 1.4 K ,是文件的实际大小。
下面来看一下命令 du 后面不加选项的情况,见下图,
df 命令及 du 命令
这样子查看不太好,没有单位,列出来的东西也看不明白什么意思,所以还是建议使用命令 du -sh 来查看目录或文件。只加 -s 的话,也不会显示单位,但默认是 K 。
df 命令及 du 命令

转载于:https://blog.51cto.com/13503302/2058155