您的位置:首页 > 运维架构 > Linux

linux du 命令

2015-10-14 14:26 459 查看




du(disk   usage)       
   功能说明:显示目录或文件的大小。   
     
   语  法: 
du   [-abcDhHklmsSx][-L   <符号连接>][-X   <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数 >][--help][--version][目录或文件]   
     
   补充说明: 
du会显示指定的目录或文件所占用的磁盘空间。 
     -a或-all           显示目录中个别文件的大小。   
       -b或-bytes         显示目录或文件大小时,以byte为单位。   
       -c或--total         除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。   
       -D或--dereference-args   显示指定符号连接的源文件大小。   
       -h或--human-readable     以K,M,G为单位,提高信息的可读性。   
       -H或--si         与-h参数相同,但是K,M,G是以1000为换算单位。   
       -k或--kilobytes   以1024   bytes为单位。   
       -l或--count-links   重复计算硬件连接的文件。   
       -L<符号连接>或--dereference<符号连接>       
     显示选项中所指定符号连接的源文件大小。   
       -m或--megabytes         以1MB为单位。   
       -s或--summarize         仅显示总计。   
       -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。   
       -x或--one-file-xystem     以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。   
       -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。   
       --exclude=<目录或文件>         略过指定的目录或文件。   

操作过程: 
[root@CentOS4 ~]# cd ok_008   --转到OK_008目录 
[root@CentOS4 ok_008]# du -sh     --统计OK_008目录的文件大小 
32K     . 
[root@CentOS4 ok_008]# du -sH     --统计OK_008目录的文件大小,注意这里的H大写,与上一条命令不同。 
du: WARNING: use --si, not -H; the meaning of the -H option will soon 
change to be the same as that of --dereference-args (-D) 
33k     . --由于统计单位的不同,所以显示的大小不一样,其实物理都是都是一样。 
[root@CentOS4 ok_008]# du -Sh     --统计当前各子目录大小。 
8.0K     ./ok/008 
8.0K     ./ok 
16K     .     --细心发现这里是16K,而上面使用du -sh显示的是32k,那么其中的16k哪里去了呢。 
 
[root@CentOS4 ok_008]# cd .. 
[root@CentOS4 ~]# du -Sh     
16K     ./.gstreamer-0.8 
8.0K     ./.gnome/mime-info 
8.0K     ./.gnome/application-info 
8.0K     ./.gnome 
52K     ./.gconfd 
  
8.0K     ./ok_008/ok/008     --这里我们可以发现,原来/ok_008目录就占了16k的大小。 
8.0K     ./ok_008/ok     --由此我们可以区别命令du -Sh 和du -sH的不同之处。 
16K     ./ok_008 
 .. 
 
--为了更方便的验证命令du -Sh 和du -sH的不同,我们可以这样: 
命令du -Sh 和du -sH 
[root@CentOS4 ~]# cd ok_008   --除了显示ok_008目录或文件的大小外,同时也显示所有子目录或文件的总和。 
[root@CentOS4 ok_008]# du -ch 
8.0K     ./ok/008 
16K     ./ok 
32K     . 
32K     total   --其实就是如数学中的数的累加一样,统计目录或文件的大小。 
 
[root@CentOS4 ok_008]# du -cb --这是以字节为单元大小表示。 
4096     ./ok/008 
8192     ./ok 
12301   . 
12301   total 
 
[root@CentOS4 ok_008]# du -ck   --这命令与du -ch有点相似点,这里只不过少了单位k。 
8       ./ok/008 
16       ./ok 
32       . 
32       total 
 
--为了更好的验证命令du -ck 和命令du -ch的不同,可以使用测试: 
[root@CentOS4 ~]# du -ck 
16       ./.gstreamer-0.8 
8       ./.gnome/mime-info 
8       ./.gnome/application-info 
  
24       ./.thumbnails/fail 
32       ./.thumbnails 
8       ./ok_008/ok/008 
16       ./ok_008/ok 
32       ./ok_008 
1116     . 
1116     total 
 
[root@CentOS4 ~]# du -ch 
16K     ./.gstreamer-0.8 
8.0K     ./.gnome/mime-info 
8.0K     ./.gnome/application-info 
  
24K     ./.thumbnails/fail 
32K     ./.thumbnails 
8.0K     ./ok_008/ok/008 
16K     ./ok_008/ok 
32K     ./ok_008 
1.1M     . 
1.1M     total 
 
--不难看出命令du -ck 是以k单位来统计,而du -ch在统计过程中自动根据实际以K,M,G为单位,达到提高信息的可读性。 
 
 
[root@CentOS4 ok_008]# du -h mytest   --查看文件mytest的大小 
8.0K     mytest 
[root@CentOS4 ok_008]# du -h /ok     --查看ok目录包含ok所有子目录的大小 
8.0K     /ok/008 
16K     /ok 
 
怎么样查多的文件大大小呢? 
现在我们使用vi建立一新的文件叫oktest 
[root@CentOS4 ok_008]# vi oktest 
随便输入一些数据然后保存oktest文件。 
 
[root@CentOS4 ok_008]# ls -l 
total 24 
-rw-r--r--   1 root root   13 Sep 13 22:36 mytest 
drwxr-xr-x   3 root root 4096 Sep 13 22:51 ok 
-rw-r--r--   1 root root   21 Sep 17 20:45 oktest 
现在我们要查询文件mytest和oktest的大小。可以这样: 
[root@CentOS4 ok_008]# du -h mytest oktest 
8.0K     mytest 
8.0K     oktest 
 
我们还可以同时查文件与目录的大小,如: 
[root@CentOS4 ok_008]# du -h mytest /ok 
8.0K     mytest         --文件 
8.0K     /ok/008         --目录 
16K     /ok         --目录 
 
 
另外: 
[root@CentOS4 ok_008]# du -h ./ 
8.0K     ./ok/008 
16K     ./ok 
40K     ./ 
[root@CentOS4 ok_008]# du -h 
8.0K     ./ok/008 
16K     ./ok 
40K     . 
这两个命令等效。习惯du -h 这样写法。 
du --max-depth=1 
指定只递归层数,只显示目录大小 
df -T 
显示文件系统类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: