当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
    du可以查看文件及文件夹的大小。disk usage.

两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用du查看文件夹或文件的大小,如此便可迅速确定症结。

参考:http://www.bootf.com/355.html

man du

DU()                            User Commands                           DU()

NAME
du - estimate file space usage SYNOPSIS
du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F DESCRIPTION
Summarize disk usage of each FILE, recursively for directories. Mandatory arguments to long options are mandatory for short options
too. -a, --all
write counts for all files, not just directories --apparent-size
print apparent sizes, rather than disk usage; although the
apparent size is usually smaller, it may be larger due to holes
in (`sparse') files, internal fragmentation, indirect blocks,
and the like -B, --block-size=SIZE
scale sizes by SIZE before printing them. E.g., `-BM' prints
sizes in units of ,, bytes. See SIZE format below. -b, --bytes
equivalent to `--apparent-size --block-size=' -c, --total
produce a grand total -D, --dereference-args
dereference only symlinks that are listed on the command line --files0-from=F
summarize disk usage of the NUL-terminated file names specified
in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G) --si like -h, but use powers of not -k like --block-size=1K -l, --count-links
count sizes many times if hard linked -m like --block-size=1M -L, --dereference
dereference all symbolic links -P, --no-dereference
don't follow any symbolic links (this is the default) -, --null
end each output line with byte rather than newline -S, --separate-dirs
do not include size of subdirectories -s, --summarize
display only a total for each argument -x, --one-file-system
skip directories on different file systems -X, --exclude-from=FILE
exclude files that match any pattern in FILE --exclude=PATTERN
exclude files that match PATTERN -d, --max-depth=N
print the total for a directory (or file, with --all) only if it
is N or fewer levels below the command line argument;
--max-depth= is the same as --summarize --time show time of the last modification of any file in the directory,
or any of its subdirectories --time=WORD
show time as WORD instead of modification time: atime, access,
use, ctime or status --time-style=STYLE
show times using style STYLE: full-iso, long-iso, iso, +FORMAT
FORMAT is interpreted like `date' --help display this help and exit --version
output version information and exit Display values are in units of the first available SIZE from
--block-size, and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environ‐
ment variables. Otherwise, units default to bytes (or if
POSIXLY_CORRECT is set). SIZE may be (or may be an integer optionally followed by) one of fol‐
lowing: KB , K , MB *, M *, and so on for G, T,
P, E, Z, Y. PATTERNS
PATTERN is a shell pattern (not a regular expression). The pattern ?
matches any one character, whereas * matches any string (composed of
zero, one or multiple characters). For example, *.o will match any
files whose names end in .o. Therefore, the command du --exclude='*.o' will skip all files and subdirectories ending in .o (including the file
.o itself). GNU coreutils 8.12.-032bb September DU()

如果想查看当前目录下,各个子目录的大小:

 du .sh ./*

得到如下回显:

root@vm:/var# du -sh ./*
424K ./backups
8.2M ./cache
50M ./lib
4.0K ./local
8.0K ./lock
14M ./log
4.0K ./mail
4.0K ./opt
96K ./run
60K ./spool
4.0K ./tmp
8.0K ./www

上述结果表明lib目录占用了50M的磁盘空间,其次是log目录,占用了14M空间;

如果磁盘有多个分区,想查看每个分区的使用情况,则使用df命令:

 df -hl

得到如下显示:

/dev/sda1 16G 662M 15G 5% /
tmpfs 252M 0 252M 0% /lib/init/rw
udev 247M 124K 247M 1% /dev
tmpfs 252M 0 252M 0% /dev/shm

说明sda1磁盘一共15G,使用了662M,只用了5%.

man df:

DF()                            User Commands                           DF()

NAME
df - report file system disk space usage SYNOPSIS
df [OPTION]... [FILE]... DESCRIPTION
This manual page documents the GNU version of df. df displays the
amount of disk space available on the file system containing each file
name argument. If no file name is given, the space available on all
currently mounted file systems is shown. Disk space is shown in 1K
blocks by default, unless the environment variable POSIXLY_CORRECT is
set, in which case -byte blocks are used. If an argument is the absolute file name of a disk device node contain‐
ing a mounted file system, df shows the space available on that file
system rather than on the file system containing the device node (which
is always the root file system). This version of df cannot show the
space available on unmounted file systems, because on most kinds of
systems doing so requires very nonportable intimate knowledge of file
system structures. OPTIONS
Show information about the file system on which each FILE resides, or
all file systems by default. Mandatory arguments to long options are mandatory for short options
too. -a, --all
include dummy file systems -B, --block-size=SIZE
scale sizes by SIZE before printing them. E.g., `-BM' prints
sizes in units of ,, bytes. See SIZE format below. --total
produce a grand total -h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G) -H, --si
likewise, but use powers of not -i, --inodes
list inode information instead of block usage -k like --block-size=1K -l, --local
limit listing to local file systems --no-sync
do not invoke sync before getting usage info (default) -P, --portability
use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE
limit listing to file systems of type TYPE -T, --print-type
print file system type -x, --exclude-type=TYPE
limit listing to file systems not of type TYPE -v (ignored) --help display this help and exit --version
output version information and exit Display values are in units of the first available SIZE from
--block-size, and the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environ‐
ment variables. Otherwise, units default to bytes (or if
POSIXLY_CORRECT is set). SIZE may be (or may be an integer optionally followed by) one of fol‐
lowing: KB , K , MB *, M *, and so on for G, T,
P, E, Z, Y. If
the info and df programs are properly installed at your site, the com‐
mand info coreutils 'df invocation' should give you access to the complete manual. GNU coreutils 8.12.-032bb September DF()