日期:2014-05-16  浏览次数:20721 次

linux磁盘管理命令--du
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。 

功能:统计目录(或文件)所占磁盘空间的大小。 

语法:du [选项] [Names…] 

说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。 

该命令的各个选项含义如下: 

-s 对每个Names参数只给出占用的数据块总数。 

-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 

-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。 

-k 以1024字节为单位列出磁盘空间使用情况。 

-c 最后再加上一个总计(系统缺省设置)。 

-l 计算所有的文件大小,对硬链接文件,则计算多次。 

-x 跳过在不同文件系统上的目录不予统计。 

下面举例说明du命令的使用: 

  

例1:查看/mnt目录占用磁盘空间的情况。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa* 

drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/ 

-rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack 

drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/ 

1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/ 

dev: 

tota1 0 

lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb 

var: 

tata1 37 

-r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe* 

  

  

  

例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。 

$ du 

l ./dev 

38 ./var 

48 . 

输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。 

注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数: 

$ du –s /mnt 

/mnt 

  

例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。 

$ du -ab 

8 ./dev/cdrom 

l032 ./dev 

36064 ./var/rawrite. exe 

37088 ./var 

6229 ./s1ack 

1l0 ./aa 

l0 ./wei 

45493 .