du (bash)

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

du - команда интерпретатора командной строки bash ядра GNU Linux, которая позволяет посчитать размер отдельных файлов или каталогов. Команда может как выводить размер по каждому файлу в указанном пути, так и суммировать размер всего каталога (ключик -s) со всеми вложенными файлами и подкаталогами. Это удобно например чтобы посчитать сколько занимает места тот или иной каталог. Как и две предыдущие команды в команде du присутствует ключик -h для того чтобы отображать размер в удобочитаемом виде.

Пример использования

dkplayer@dkplayer-x:~$ du Документы/ 
71064 Документы/lessons/Internet/Yandex 
71068 Документы/lessons/Internet 
378888 Документы/lessons/ucoz/reg_2.0 
378892 Документы/lessons/ucoz 
449964 Документы/lessons 
449972 Документы/ 
dkplayer@dkplayer-x:~$ du -h Документы/ 
70M Документы/lessons/Internet/Yandex 
70M Документы/lessons/Internet 
371M Документы/lessons/ucoz/reg_2.0 
371M Документы/lessons/ucoz 
440M Документы/lessons 
440M Документы/ 
dkplayer@dkplayer-x:~$ du -sh Документы/ 
440M Документы/ 

Полная официальная документация

DU(1) User Commands DU(1)


      du - estimate file space usage


      du [OPTION]... [FILE]...
      du [OPTION]... --files0-from=F


      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
             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
             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 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
             show time as WORD instead of modification time: atime, access, use, ctime or status
             show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date'
      --help display this help and exit
             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 environment variables.
      Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
      SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ...  (powers  of


      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).


      Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering.


      Report du bugs to bug-coreutils@gnu.org
      GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
      General help using GNU software: <http://www.gnu.org/gethelp/>
      Report du translation bugs to <http://translationproject.org/team/>


      Copyright б╘ 2012 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
      This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.


      The full documentation for du is maintained as a Texinfo manual.  If the info and du programs are properly installed at your site, the command
             info coreutils 'du invocation'
      should give you access to the complete manual.

GNU coreutils 8.20 October 2012 DU(1)