Linux--df(文件的使用情况),du(文件占磁盘大小)

先来一张查看命令的类型图

type is a shell builtin  这个是内建命令。

pwd is /bin/pwd  这个是外部命令。

ls is aliased to `_ls'  别名。

for is a shell keyword  Shell关键字。

有的命令 像 pwd 既是 外部命令 又是 内建命令。因为 Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了。

df -h / df -Th

1.df -h 查看系统中文件的使用情况

  Size 分割区总容量 
  Used 已使用的大小 
  Avail 剩下的大小 
  Use% 使用的百分比 
  Mounted on 路径地址

※  df 统计磁盘实际占用的数量

du -sh /app (目录)

du(show disk usage)命令是Linux下命令,统计目录(或文件)所占磁盘空间的大小

du -sh /app    统计 app文件及其所有子文件 占磁盘的大小。

  大小 文件名 
  74G /app

※ du是根据文件名进行的空间统计,使用rm后的文件对系统来说已经不可见,所以不会统计这些文件。

du -sh * 

du -sh *  统计当前文件下(demo中是 elasticsearch目录下),所有文件各自 占磁盘的大小,一一列出。

du -sh *|sort -nr

排序,这个是在别人的博客看到的,然而,排序出来的结果并不尽人意。

这是WHAT 规则?

查了一下,原来是 -h 这个参数的原因 

-h  以K,M,G为单位,提高信息的可读性。

 再查一次并进行排序,正常如下:

df -hdu -sh 有时候显示的磁盘大小不一致原因及解决办法

问题原因

使用rm命令删除文件时,只有当该文件不存在任何link才会被删除 
当有进程访问这个文件时,这个文件的实际占用空间就不会释放 
du是根据文件名进行的空间统计,使用rm时该文件对系统来说已经不可见,所以不会统计这个文件。 
df则是磁盘实际占用的数量

解决方法

使用lsof|grep delete命令查看正在使用的已删除的文件,发现存在多个这样的文件,kill掉进程,文件删除成功

参考文章:https://blog.csdn.net/qq_29798135/article/details/80307553 

原文地址:https://www.cnblogs.com/llq1214/p/11174134.html