首页 > 代码库 > Linux df 与du用法

Linux df 与du用法

 

  df 查看一级目录的大小,但是不能查看文件的大小。du 可以查看目录或者文件大小。

 

  1 df的基本用法

  df命令可以显示目前所有文件系统的总空间及当前可用空间,用法如下:

-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型

 

[root@oracledb ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 20399996 16324496 3039212 85% /
tmpfs 953276 240448 712828 26% /dev/shm
/dev/sda1 198337 30091 158006 16% /boot
/dev/sda5 18640184 7205252 10488040 41% /home

 

最常用的带参数用法:df -h

[root@oracledb ~]# df -h
Filesystem    Size    Used   Avail   Use%   Mounted on
/dev/sda2    20G    16G    2.9G    85%    /
tmpfs      931M    235M  697M   26%    /dev/shm
/dev/sda1    194M    30M   155M   16%    /boot
/dev/sda5    18G    6.9G   11G     41%    /home

参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

 

2 du的基本用法

查询查询文件或文件夹占用磁盘大小,

  -h:以人类可读的方式显示
  -a:显示目录占用的磁盘空间大小以及其下目录和文件占用磁盘空间的大小
  -s:显示目录占用的磁盘空间大小,不显示其下子目录和文件占用的磁盘空间大小
  -sh:人类可读的方式显示目录占用的磁盘空间大小,不显示其下子目录和文件占用的磁盘空间大小
  -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
  --apparent-size:显示目录或文件自身的大小
  -l :统计硬链接占用磁盘空间的大小
  -L:统计符号链接所指向的文件占用的磁盘空间大小
  --max-depth=1:显示本目录与子目录的大小

 

du:不带参数du的命令,循环列出所有文件和文件夹所使用的空间,如果一个目录包含的文件过多,使用很不友好。

[root@oracledb ~]# du
4 ./.ssh
4 ./.gnote/addins
16 ./.gnote
4 ./Videos
16 ./.gnupg
8 ./.abrt
4 ./Downloads
4 ./Templates
4 ./.gvfs
24 ./.local/share/applications
28 ./.local/share
32 ./.local
8 ./.gconf/apps/panel/applets/workspace_switcher/prefs
12 ./.gconf/apps/panel/applets/workspace_switcher
8 ./.gconf/apps/panel/applets/clock/prefs
12 ./.gconf/apps/panel/applets/clock
8 ./.gconf/apps/panel/applets/window_list/prefs
12 ./.gconf/apps/panel/applets/window_list
40 ./.gconf/apps/panel/applets
44 ./.gconf/apps/panel
8 ./.gconf/apps/gnome-terminal/profiles/Default
12 ./.gconf/apps/gnome-terminal/profiles
16 ./.gconf/apps/gnome-terminal
8 ./.gconf/apps/brasero/config/priority
16 ./.gconf/apps/brasero/config

..........

..........

 

常用的带参数模式:

du -h --max-depth=1 /usr 显示/usr以及所有次级目录的大小

[root@oracledb ~]# du -h --max-depth=1 /usr
44M     /usr/libexec
4.0K     /usr/games
46M     /usr/sbin
16M     /usr/include
243M   /usr/local
12G    /usr/oracle
608M   /usr/lib
12K    /usr/src
4.0K    /usr/etc
970M   /usr/lib64
1.3G   /usr/share
167M   /usr/bin
15G   /usr

 

du -s:使用此选项时,du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息。

[root@oracledb ~]# du -s /usr
15303668 /usr

 

du -sh : 查看当前目录总共占的容量,不单独列出各子项占用的容量。

[root@oracledb ~]# du -sh /home/oracle/oradata;
2.7G /home/oracle/oradata

 

 

du --apparent-size:显示文件或目录自身大小,而不是它们占用的磁盘空间大小。文件或目录占用磁盘空间的大小与它们自身大小有时候并非完全一致。

[root@oracledb ~]# du --apparent-size /home/oracle/oradata;
2816061 /home/oracle/oradata/backup
2816065 /home/oracle/oradata

 

du -c:使用此选项时,不仅显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和。

[root@oracledb ~]# du -c /home/oracle/oradata;
2816076 /home/oracle/oradata/backup
2816080 /home/oracle/oradata
2816080 total

Linux df 与du用法