当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。disk usage.
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用du查看文件夹或文件的大小,如此便可迅速确定症结。
参考:http://www.bootf.com/355.html
man du
DU(1) User Commands DU(1) 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 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to `--apparent-size --block-size=1' -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 1000 not 1024 -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) -0, --null end each output line with 0 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=0 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 1024 bytes (or 512 if POSIXLY_CORRECT is set). SIZE may be (or may be an integer optionally followed by) one of fol‐ lowing: KB 1000, K 1024, MB 1000*1000, M 1024*1024, 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.197-032bb September 2011 DU(1)
如果想查看当前目录下,各个子目录的大小:
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(1) User Commands DF(1) 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 512-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 1,048,576 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 1000 not 1024 -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 1024 bytes (or 512 if POSIXLY_CORRECT is set). SIZE may be (or may be an integer optionally followed by) one of fol‐ lowing: KB 1000, K 1024, MB 1000*1000, M 1024*1024, 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.197-032bb September 2011 DF(1)