linux中du与df的区别和联系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36306340/article/details/82592215

区别和联系

du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在
的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不
是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已
经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除
的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。

du查看目录大小,df查看磁盘使用情况

查看某个目录的大小:du -sh /home/
查看目录下所有目录的大小并按大小降序排列:du -sm /etc/* | sort -nr | less
查看磁盘使用情况(文件系统的使用情况): df -h

du参数

-a或-all  显示目录中个别文件的大小。   

-b或-bytes  显示目录或文件大小时,以byte为单位。   

-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 

-k或--kilobytes  以KB(1024bytes)为单位输出。

-m或--megabytes  以MB为单位输出。   

-s或--summarize  仅显示总计,只列出最后加总的值。

-h或--human-readable  以KMG为单位,提高信息的可读性。

-x或--one-file-xystem  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。   

-S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。 

-X<文件>或--exclude-from=<文件>  在<文件>指定目录或文件。   

--exclude=<目录或文件>         略过指定的目录或文件。    

-D或--dereference-args   显示指定符号链接的源文件大小。   

-H或--si  与-h参数相同,但是KMG是以1000为换算单位。   

-l或--count-links   重复计算硬件链接的文件。  

df参数

-a:--all,显示所有的文件系统,包括虚拟文件系统。 
-B:--block-size,指定单位大小。比如1k,1m等。 
-h:--human-readable,以人们易读的GBMBKB等格式显示。 
-H:--si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024-i:--inodes,不用硬盘容量,而是以inode的数量来显示。 
-k:以KB的容量显示各文件系统,相当于--block-size=1k。 
-m:以KB的容量显示各文件系统,相当于--block-size=1m。 
-l:--local,只显示本地文件系统。 
--no-sync:在统计使用信息之前不调用sync命令(默认)。 
-sync:在统计使用信息之前调用sync命令。 
-P:--portability,使用POSIX格式显示。 
-t:--type=TYPE,只显示指定类型的文件系统。 
-T:--print-type,显示文件系统类型。 
-x:--exclude-type=TYPE,不显示指定类型的文件系统。 
--help:显示帮助信息。 
--version:显示版本信息。

猜你喜欢

转载自blog.csdn.net/qq_36306340/article/details/82592215