一、du与df的区别
1、df (全称叫做disk free)以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
显示内容参数说明:
Filesystem:文件系统
Size: 分区大小
Used: 已使用容量
Avail: 还可以使用的容量
Use%: 已用百分比
Mounted on: 挂载点
2、du(全称叫做disk usage)含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。
du 命令用于查看当前目录的总大小:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。
若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。
-c:最后再加上一个总计(系统默认设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
-h:以K,M,G为单位,提高信息的可读性。
二、du与df使用情况
(一)du命令的使用
(1)常规命令选项
--------------------------------------------------------
du -h(以人类可读的格式显示文件大小)
du -s(显示总计值,而不列出所有子目录的磁盘使用情况)
du -a(显示每个文件的磁盘使用情况)
du -c(显示每个目录的磁盘使用情况总和)
du -k(以KB为单位显示文件大小)
du -m(以MB为单位显示文件大小)
du -x(仅显示位于指定文件系统上的文件的磁盘使用情况)
du -s -m .(以MB为单位查看当前文件的大小)
du -h .(查看文件大小)
【常用】du -sh *(不过滤)、du -sh * |grep G(按每个文件)
【常用】du -sh * |sort -nr |tail -10( 截取排序后的后10)
【常用】du -sh * |sort -nr |head -10( 截取排序后的前10)
【常用】du -sh * | sort -nr(按照byte进行排序,其他单位排序不正确)
【常用】du -sh --max-depth=1(以人类可读的格式显示当前目录下每个文件夹的大小)
(2)组合使用命令
--------------------------------------------------------
du -sh(以人类可读的格式显示文件夹大小)
du -sh -c(以人类可读的格式显示文件夹大小,并显示总计值)
du -sh -d 1(以人类可读的格式显示顶层文件夹的大小)
du -ah(以人类可读的格式显示每个文件的大小。)
du -sh *(显示当前目录下所有文件和文件夹的总大小)
du -sh -x /path/to/directory(显示指定目录下所有文件和文件夹的总大小)
du -xh --max-depth=1 /path/to/directory | grep G | sort -nr(查看改文件所在挂载目录的其他文件大小,进行文件清理)
(3)更复杂的组合使用例子
--------------------------------------------------------
du -sh --max-depth=1 | sort -h
(以人类可读的格式显示当前目录下每个文件夹的大小,并按大小排序)
du -sh * | sort -rh | head -5
(显示当前目录下最大的5个文件或文件夹)
find /path/to/search -type d -print0 | du --human-readable --files0-from=- | sort --human-numeric-sort
(查找指定目录下的所有文件夹,并显示它们的大小并按大小排序)
du -sh --max-depth=1 | grep G
(显示当前目录下直接子文件夹中占用空间超过1GB的文件夹)
(二)df命令的使用
(1)常规命令
--------------------------------------------------
df(显示文件系统的磁盘使用情况)
df -h(以人类可读的格式显示磁盘使用情况)
df -T(显示文件系统类型)
df -i(显示inode的使用情况)
df -h /path/to/directory(显示指定路径的文件系统使用情况)
df -hT(显示文件系统类型,并以人类可读的格式显示磁盘使用情况)
df -a(显示所有文件系统,包括系统保留的那些)
df -l(只显示本地文件系统)
【常用】df -hl |grep G(查看磁盘占用大小,并按G过滤)
三、常用命令案例使用
(一)案例目录
1.1:du -sh *(不过滤)、du -sh * |grep G(按每个文件)
1.2:du -sh * |sort -nr |tail -10( 截取排序后的后10)
1.3:du -sh * |sort -nr |head -10( 截取排序后的前10)
1.4:du -sh * | sort -nr(按照byte进行排序,其他单位排序不正确)
1.5:du -h --max-depth=1(以人类可读的格式显示当前目录下每个文件夹的大小)
1.6:df -hl |grep G(查看磁盘占用大小,并按G过滤)
(二)案例内容
(1)du -sh *(不过滤)、du -sh * |grep G(按每个文件)
(2)du -sh * |sort -nr |tail -10( 截取排序后的后10)
(3)du -sh * |sort -nr |head -10( 截取排序后的前10)
(4)du -sh * | sort -nr(按照byte进行排序,其他单位排序不正确)
(5)du -h --max-depth=1(以人类可读的格式显示当前目录下每个文件夹的大小)
(6)df -hl |grep G(查看磁盘占用大小,并按G过滤)