Linux du命令和df命令

文章目录

  • 1. 概述
  • 2. Linux df命令
  • 3. Linux du命令
  • 4. 参考资料

# 若是设备,先通过df查看哪个分区
df

# 查看最大文件(包含子目录)
find . -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

# 查看当前文件夹内容(先cd到对应文件夹)
du -s * | sort -nr				# 按从大到小排序
du -s * | sort -nr | head		# 按从大到小排序、选出排在前面的10个
du -a|sort -rn|head -10			# 按从大到小排序、选出排在前面的10个
du -s * | sort -nr | tail		# 按从大到小排序、选出排在后面的10个

1. 概述

Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

Linux du命令用于显示目录或文件的大小。du会显示指定的目录或文件所占用的磁盘空间。

2. Linux df命令

df命令用于查看磁盘分区上的磁盘空间,包括使用了多少,还剩多少,默认单位是KB

比如以下命令:

df -h

执行结果如下:
在这里插入图片描述
执行的结果每列的含义:

第一列Filesystem,磁盘分区

第二列Size,磁盘分区的大小

第三列Used,已使用的空间

第四列Avail,可用的空间

第五列Use%,已使用的百分比

第六列Mounted on,挂载点

解释一下后面的h参数,h是把显示的单位改成容易辨认的单位,不再是默认的KB了。

下面附上df命令的全部参数使用说明:

-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;

3. Linux du命令

du是用来查看文件和目录大小用的,和df略有区别。

1.比如要看/data目录的总大小,可以用以下命令:

du -sh /data

执行果如下:
在这里插入图片描述
或者进到/data目录后直接执行:

du -sh

执行结果如下:
在这里插入图片描述
其中的-s参数就是查看总大小(区别于查看其中每个目录的大小),而-h参数是把默认的单位KB改为比较好辨认的单位。

2.如果要看/data目录下各个子目录的大小,包括子目录的子目录,但不包含/data下文件,可以用以下命令:

du -h

执行结果如下:
Linux du命令和df命令_第1张图片
注:该命令不包含/data目录下的文件大小

3.如果要看/data目录下各个子目录的大小,包括子目录的子目录,且包含/data下文件,可以用以下命令:

du –h *

执行结果如下:
Linux du命令和df命令_第2张图片
4.如果要看/data目录下各个子目录的大小,不包括子目录的子目录,可以用以下命令:

du -sh *

执行结果如下:
Linux du命令和df命令_第3张图片
5.如果要看/data目录下各个子目录和文件的大小,需要使用-a参数:

du -ah

命令执行结果如下:
Linux du命令和df命令_第4张图片
下面附上du命令的参数使用说明:

-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件><文件>指定目录或文件。

查看当前文件夹下各个文件大小(包含目录不包含子文件)

#按从大到小排序
du -s * | sort -nr

#按从大到小排序、选出排在前面的10个
du -s * | sort -nr | head
du -a|sort -rn|head -10

#按从大到小排序、选出排在后面的10个
du -s * | sort -nr | tail

比如Linux根路径
cd /
du -s * | sort -nr


比如 df 查看系统分区占满,如何查看哪个路径、哪些文件、哪些进程导致的?

4. 参考资料

  1. Linux中查看磁盘大小、文件大小、排序方法小结
  2. [Linux] du-查看文件夹大小-并按大小进行排序
  3. 细分析du和df的统计结果为什么不一样

你可能感兴趣的:(linux命令,du,df)