Linux下查看文件和文件夹大小

df命令可以显示目前所有文件系统的可用空间及使用情形:

[root@Mine zhl]# df -h
文件系统  容量 已用 可用 已用% 挂载点
/dev/sda1 6.9G 5.9G 700M 90%   /
tmpfs     251M 76K  251M 1%    /dev/shm
[root@Mine zhl]# 
参数-h表示使用K、M、G等易读的格式。

du命令查询文件或文件夹的磁盘使用空间:

如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这

对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!

[zhl@Mine ~]$ du -h --max-depth=1 ~
44K     /home/zhl/.pulse
4.0K    /home/zhl/.gvfs
1.4M    /home/zhl/.thumbnails
4.0K    /home/zhl/Templates
68K     /home/zhl/Public
56K     /home/zhl/.config
16K     /home/zhl/.adobe
28K     /home/zhl/.cache
800K    /home/zhl/Linuxstudy
4.0K    /home/zhl/Music
4.0K    /home/zhl/p2p
116K    /home/zhl/.scim
16K     /home/zhl/.ibus
96K     /home/zhl/.nautilus
68K     /home/zhl/.local
8.2M    /home/zhl/.slickedit
4.0K    /home/zhl/.themes
40K     /home/zhl/Useful
16M     /home/zhl/Pictures
8.0K    /home/zhl/.emacs.d
4.0K    /home/zhl/.wapi
4.0K    /home/zhl/.icedteaplugin
12K     /home/zhl/.dbus
4.0K    /home/zhl/.dasher
124K    /home/zhl/.gnome2
4.0K    /home/zhl/Desktop
764K    /home/zhl/Documents
76K     /home/zhl/.fontconfig
8.0K    /home/zhl/.chewing
204K    /home/zhl/.gstreamer-0.10
8.0K    /home/zhl/.ccache
276K    /home/zhl/.evolution
776K    /home/zhl/.gconf
66M     /home/zhl/.mozilla
8.0K    /home/zhl/.icons
96K     /home/zhl/Download
144K    /home/zhl/.tomboy
4.0K    /home/zhl/Videos
84K     /home/zhl/.gconfd
4.0K    /home/zhl/.gnome2_private
36K     /home/zhl/.macromedia
96M     /home/zhl
如果目录路径加上'*',则会过滤掉隐藏文件,只显示发隐藏文件。
[zhl@Mine ~]$ du -h --max-depth=1 ~/*
168K    /home/zhl/cscope.in.out
436K    /home/zhl/cscope.out
300K    /home/zhl/cscope.po.out
4.0K    /home/zhl/Desktop
724K    /home/zhl/Documents/Test
8.0K    /home/zhl/Documents/.deps
764K    /home/zhl/Documents
96K     /home/zhl/Download
800K    /home/zhl/Linuxstudy
4.0K    /home/zhl/Music
4.0K    /home/zhl/p2p
16M     /home/zhl/Pictures
68K     /home/zhl/Public
24K     /home/zhl/tags
4.0K    /home/zhl/Templates
40K     /home/zhl/Useful
4.0K    /home/zhl/Videos
du -sh [目标文件或文件夹],可以统计该文件或文件的大小,如果省去目标文件或目标文件夹,则会统计当前文件夹的大小。如:
[zhl@Mine ~]$ du -sh Pictures/
16M     Pictures/
[zhl@Mine ~]$ du -sh Pictures/linux_55.jpg 
164K    Pictures/linux_55.jpg






[zhl@Mine ~]$ du -sh
96M     .
还可以使用ls -lh查看文件大小,如:




[zhl@Mine ~]$ ls -lh ./Download/
总计 92K
-rwxrwxr-x 1 zhl zhl 8.9K 02-24 21:41 convert
-rwxrwxr-x 1 zhl zhl 3.2K 02-24 21:40 convert.c
-rwxrwxr-x 1 zhl zhl  704 02-24 21:40 convert.h
-rwxrwxr-x 1 zhl zhl  68K 02-24 21:40 wordbook.txt
**********************************************************************************************************************************

du -sh * 查看当前目录下的文件夹大小
du 命令
用途
概述磁盘使用。
语法
du [ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ]
描述
du命令显示用于文件的块的数量。如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有
提供 File参数,du命令使用当前目录内的文件。
如果File参数是一个目录,那么报告的块的数量就是分配到目录中文件以及分配到目录自身的块之和。
指定-a标志,报告个体文件中块数量。不管是否使用了-a标志,由File参数指定的个体文件总是要列出。
指定-s标志,报告用于所有指定文件和目录中所有文件的全部块。
块计数包括每个文件的间接块。块计数是通过 512 字节单位计算的,它与系统使用的群集大小无关。指定-k标志,通
过 1024 字节单位计算块数。
注:
具有多个链接的文件只为一个条目计数和书写。
由于块计数只基于文件大小,所以在报告的块数中,未分配的块是没有包含进去的。
如果du得不到文件属性,或者无法读取目录,它就报告一个错误,并且会影响命令的退出状态。
标志
-a 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。将该标志与-s标志进行对比。
-g 用 GB 单位计算块数,而不是用缺省的 512 字节单位。对磁盘使用情况的输出值要用浮点数,这是因为如果用字
节为单位的话,值会非常大。
-H 如果在命令行指定了符号链接,du 命令将统计链接引用的文件或文件层次结构的大小。
-k 用 1024 字节单位计算块数,而不是用缺省的 512 字节单位。
-l 在文件链接和多链接之间均匀地分配块。根据缺省值,有两个或者更多链接的文件只计数一次。
-L 如果在命令行指定了符号链接或者在文件层次结构的遍历中多次遇到符号链接,则 du 命令应统计链接引用的文件
或文件层次结构的大小。
-m 用 MB 单位计算块数,而不是用缺省的 512 字节单位。对磁盘使用情况的输出值要用浮点数,这是因为如果用字
节为单位的话,值会非常大。
-r 报告不可访问的文件或者目录名。此为缺省设置。

-s 为所有指定文件显示整个磁盘使用情况,或者为一个目录中的所有文件显示总的磁盘使用情况。将该标志与-a标志
进行对比。
-x 在评估文件大小时,只评估那些与File参数指定的文件或者目录驻留在相同设备上的文件。例如,您可以指定一个
在多个设备上包含文件的目录。这种情况下,-x标志就为与目录驻留在相同设备的所有文件显示块的大小。
如果指定了全部-k、-m和-g标志,或者是其中任意两个,最后指定的那个起作用。用标志-m和-g输出磁盘使用情况就
会近似成最接近的第二位十进制数。
退出状态
此命令返回下列出口值:
0 成功结束。
>0 发生错误。
示例
要概述一个目录树及其每个子树的磁盘使用情况,请输入:
du /home/fran
这在/home/fran目录及其每个子目录中显示了磁盘块数。
要通过 1024 字节块概述一个目录树及其每个子树的磁盘使用情况,请输入:
du -k /home/fran
这在/home/fran目录及其每个子目录中显示了 1024 字节磁盘块数。
要通过 MB 磁盘块概述一个目录树及其每个子树的磁盘使用情况,请输入:
du -m /home/fran
这在/home/fran目录及其每个子目录中显示了 MB 磁盘块数(近似到最接近的第二位十进制数)。
要通过 GB 块概述一个目录树及其每个子树的磁盘使用情况,请输入:
du -g /home/fran
这在/home/fran目录及其每个子目录中显示了 GB 磁盘块数(近似到最接近的第二位十进制数)。
要显示每个文件磁盘使用情况,请输入:
du -a /home/fran
这显示了包含在每个文件以及目录/home/fran的子目录中的磁盘块数。在目录旁的数字就是该目录树的磁盘使用情
况。在常规文件旁的数字就是该文件单独的磁盘使用情况。
要只显示一个目录树的全部磁盘使用情况,请输入:
du -s /home/fran
-s标志控制du命令,只显示/home/fran目录和其中包含的文件的磁盘使用情况的总和。通过缺省值,如果du命令无法
取一个文件或者目录,就显示一条错误消息。
除了在 /home/fran 的遍历中找到的常规文件,还要显示所有符号链接引用的文件或文件层次结构的磁盘使用,请输
入:
du -L /home/fran
要报告符号链接 mylink 引用的文件或文件层次结构的磁盘使用,请输入:
du -H mylink
文件/usr/bin/du 包含命令du。
转自:http://blog.csdn.net/jiajd/article/details/3863471

**********************************************************************************************************************************

df命令用来检查linux文件系统的磁盘空间占用情况,所有用户均有使用df命令的权限。
语法格式
df [参数]
主要参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names
中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如124KB、345MB、46GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空
闲空间、目前的安装点等。
超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了
10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统
管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。

转自:http://hi.baidu.com/gushirucha/blog/item/386a49880df543b40e244430.html