Linux下查看文件夹或目录大小

当磁盘大小超过标准时会有报警提示,这时如果掌握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)
   
原文地址:https://www.cnblogs.com/youxin/p/3546044.html