##df
对于磁盘存储方面,有很多命令行或基于GUI的工具,它可以告诉你关于当前磁盘空间的使用情况。这些工具用各种人们可读的格式展示磁盘利用率的详细信息,比如易于理解的总结,详细的统计信息或直观的可视化报告。如果你只想知道不同文件系统有多少空闲的磁盘空间,那么df命令可能是你所需要的。
[root@pc105 /]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
51475068 48090628 763000 99% /
tmpfs 8135664 72 8135592 1% /dev/shm
/dev/sda1 487652 93128 368924 21% /boot
/dev/mapper/VolGroup-lv_home
901109008 4270596 851058036 1% /home
tmpfs 102400 4 102396 1% /var/log/pearl2
tmpfs 8135664 4 8135660 1% /var/run/pearl2
df命令可以展示任何“mounted”文件系统的磁盘利用率。该命令可以用不同的方式调用。
###用人们可读的方式展示
默认情况下,df命令用1K为块来展示磁盘空间,这看起来不是很直观。“-h”参数使df用更可读的方式打印磁盘空间(例如 100K,200M,3G)。
[root@pc105 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 46G 746M 99% /
tmpfs 7.8G 72K 7.8G 1% /dev/shm
/dev/sda1 477M 91M 361M 21% /boot
/dev/mapper/VolGroup-lv_home
860G 4.1G 812G 1% /home
tmpfs 100M 4.0K 100M 1% /var/log/pearl2
tmpfs 7.8G 4.0K 7.8G 1% /var/run/pearl2
###展示Inode使用情况
当你监视磁盘使用情况时,你必须注意的不仅仅是磁盘空间还有“inode”的使用情况。在Linux中,inode是用来存储特定文件的元数据的一种数据结构,在创建一个文件系统时,inode的预先定义数量将被分配。这意味着,一个文件系统可能耗尽空间不只是因为大文件用完了所有可用空间,也可能是因为很多小文件用完了所有可能的inode。用“-i”选项展示inode使用情况。
[root@pc105 /]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
3276800 635298 2641502 20% /
tmpfs 2033916 3 2033913 1% /dev/shm
/dev/sda1 128016 53 127963 1% /boot
/dev/mapper/VolGroup-lv_home
57229312 35042 57194270 1% /home
tmpfs 2033916 2 2033914 1% /var/log/pearl2
tmpfs 2033916 2 2033914 1% /var/run/pearl2
###展示磁盘总利用率
默认情况下, df命令显示磁盘的单个文件系统的利用率。如果你想知道的所有文件系统的总磁盘使用量,增加“ –total ”选项(见最下面的汇总行)。
[root@pc105 /]# df -h --total
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 46G 746M 99% /
tmpfs 7.8G 72K 7.8G 1% /dev/shm
/dev/sda1 477M 91M 361M 21% /boot
/dev/mapper/VolGroup-lv_home
860G 4.1G 812G 1% /home
tmpfs 100M 4.0K 100M 1% /var/log/pearl2
tmpfs 7.8G 4.0K 7.8G 1% /var/run/pearl2
total 925G 51G 829G 6%
##du
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.
###显示目录或者文件所占空间
[root@localhost test]# du
608 ./test6
308 ./test4
4 ./scf/lib
4 ./scf/service/deploy/product
4 ./scf/service/deploy/info
12 ./scf/service/deploy
16 ./scf/service
4 ./scf/doc
4 ./scf/bin
32 ./scf
8 ./test3
1288 .
[root@localhost test]#
只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小
###显示指定文件所占空间
[root@localhost test]# du log2012.log
300 log2012.log
[root@localhost test]#
###查看指定目录的所占空间
[root@localhost test]# du scf
4 scf/lib
4 scf/service/deploy/product
4 scf/service/deploy/info
12 scf/service/deploy
16 scf/service
4 scf/doc
4 scf/bin
32 scf
[root@localhost test]#
###显示多个文件所占空间
[root@localhost test]# du log30.tar.gz log31.tar.gz
4 log30.tar.gz
4 log31.tar.gz
[root@localhost test]#
###只显示总和的大小
[root@localhost test]# du -s
1288 .
[root@localhost test]# du -s scf
32 scf
[root@localhost test]# cd ..
[root@localhost soft]# du -s test
1288 test
[root@localhost soft]#
###方便阅读的格式显示
[root@localhost soft]# du -h test
608K test/test6
308K test/test4
4.0K test/scf/lib
4.0K test/scf/service/deploy/product
4.0K test/scf/service/deploy/info
12K test/scf/service/deploy
16K test/scf/service
4.0K test/scf/doc
4.0K test/scf/bin
32K test/scf
8.0K test/test3
1.3M test
[root@localhost soft]#
###文件和目录都显示
[root@localhost soft]# du -ah test
4.0K test/log31.tar.gz
4.0K test/test13.tar.gz
300K test/test6/linklog.log
4.0K test/test6/log2013.log
300K test/test6/log2012.log
608K test/test6
4.0K test/test4/log2013.log
300K test/test4/log2012.log
308K test/test4
4.0K test/scf/lib
4.0K test/scf/service/deploy/product
4.0K test/scf/service/deploy/info
12K test/scf/service/deploy
16K test/scf/service
4.0K test/scf/doc
4.0K test/scf/bin
32K test/scf
4.0K test/log2013.log
300K test/log2012.log
4.0K test/log30.tar.gz
4.0K test/log.tar.bz2
4.0K test/log.tar.gz
4.0K test/test3/log2013.log
8.0K test/test3
4.0K test/scf.tar.gz
1.3M test
[root@localhost soft]#
###显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
[root@localhost test]# du -c log30.tar.gz log31.tar.gz
4 log30.tar.gz
4 log31.tar.gz
8 总计
[root@localhost test]#
###按照空间大小排序
[root@localhost test]# du|sort -nr|more
1288 .
608 ./test6
308 ./test4
32 ./scf
16 ./scf/service
12 ./scf/service/deploy
8 ./test3
4 ./scf/service/deploy/product
4 ./scf/service/deploy/info
4 ./scf/lib
4 ./scf/doc
4 ./scf/bin
[root@localhost test]#
###输出当前目录下各个子目录所使用的空间
[root@localhost test]# du -h --max-depth=1
608K ./test6
308K ./test4
32K ./scf
8.0K ./test3
1.3M .
[root@localhost test]#