分类: LINUX
2009-11-23 20:28:50
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--
max-depth=<目录层数 >][--help][--version][目录或文件]
【功能】
计算文件的占用空间.
【举例】
*统计viStudy目录的文件总大小:
$ du -sh viStudy/
或$cd viStudy/
$du -sh
第1个方法,输入之后输出如下:
120K viStudy/
第2个方法,输入之后输出如下:
120K .
*统计viStudy目录及其子目录的大小:
$ du -Sh viStudy/
输入之后,输出如下:
68K viStudy/1
4.0K viStudy/test
48K viStudy/
这里,另一个方法和前面统计目录总大小的类似,由这里结合前面可知du -sh 和du -Sh的区别。
*除了显示viStudy目录或文件的大小外,同时也显示所有子目录或文件总和大小:
$ du -ch viStudy/
输入之后,输出如下:
68K viStudy/1
4.0K viStudy/test
120K viStudy/
120K total
*只显示viStudy目录子目录大小:
$du -h viStudy
输入之后,输出如下:
68K viStudy/1
4.0K viStudy/test
120K viStudy/
注意,子目录也包括目录本身。
*以字节为单元大小表示viStudy总和大小:
~$ du -sb viStudy/
输入之后,输出如下:
50261 viStudy/
*查看文件mytest的大小:
$ du -h mytest
输入之后,输出如下:
4.0K mytest
*查询文件mytest和mytest2的大小:
$ du -h mytest mytest2
输入之后,输出如下:
4.0K mytest
4.0K mytest2
这里,还可以同时计算目录和文件的大小。注意,用-s选项输出的结果是一样的,如果想再显示总和,需要用-c选项,本文会提到。
*查询文件mytest和mytest2的大小并计算总和:
$ du -ch mytest mytest2
输入之后,输出如下:
4.0K mytest
4.0K mytest2
8.0K total
*显示当前目录和子目录大小,指定递归层数为1:
$du --max-depth=1
这里,为0则只显示当前目录大小了(只有一行),效果和-s一样。
【描述】
参数说明:(按"重要性"列出)
-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=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号连接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件连接的文件。
【其它】
最常用的部分(鸟哥):
du [-abckms] [目录名称]
参数说明:
[目录名称] 可以省略,如果省略的话,表示要统计目前所在目录的档案容量
-a :全部的档案与目录都列出来!默认值是指列出目录的值!
-b :列出的值以 bytes 输出
-c :最后加总 total !
-k :列出的值以 KB 输出
-m :列出的值以 MB 输出
-s :只列出最后加总的值!
范例:
[root @test /root]# du -m <==列出 /root 底下的目录与档案所占的容量以 MB 输出
[root @test /root]# du -s /home <==将 /home 底下的目录与档案的容量加总后输出,这里只会输出总容量!