du命令
du命令簡介
- du命令是linux系統里的檔案大小查看的命令,
- du命令的應用場景十分廣泛:
- 需要查看單個目錄里面多個檔案總大小,
- 需要查看目錄中每個檔案的大小以及每個子檔案夾中檔案的大小,
- 查看日志檔案的大小,
- 查看檔案大小并排序,找出最大的或最小的檔案,
- 其它需要統計檔案大小的場景,
- ls,df也有類似的功能,但是du更側重于檔案大小,并且更靈活好用,是運維人員、服務端開發人員以及其他linux用戶很好的工具,掌握du命令的用法十分有必要,
du命令的使用
- 查看幫助
$ du --help
Usage: du [OPTION]... [FILE]...
or: du [OPTION]... --files0-from=F
Summarize disk usage of the set of FILEs, recursively for directories.
Mandatory arguments to long options are mandatory for short options too.
-0, --null end each output line with NUL, not newline
-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
-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
--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)
--inodes list inode usage information instead of block usage
-k like --block-size=1K
-L, --dereference dereference all symbolic links
-l, --count-links count sizes many times if hard linked
-m like --block-size=1M
-P, --no-dereference don't follow any symbolic links (this is the default)
-S, --separate-dirs for directories do not include size of subdirectories
--si like -h, but use powers of 1000 not 1024
-s, --summarize display only a total for each argument
-t, --threshold=SIZE exclude entries smaller than SIZE if positive,
or entries greater than SIZE if negative
--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, which can be:
full-iso, long-iso, iso, or +FORMAT;
FORMAT is interpreted like in 'date'
-X, --exclude-from=FILE exclude files that match any pattern in FILE
--exclude=PATTERN exclude files that match PATTERN
-x, --one-file-system skip directories on different file systems
--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 environment variables.
Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).
Binary prefixes can be used, too: KiB=K, MiB=M, and so on.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/du>
or available locally via: info '(coreutils) du invocation'
- du -h:查看當前目錄各檔案占用磁盤大小
$ du -h
8.0K ./.git/refs/heads
8.0K ./.git/refs/remotes/origin
12K ./.git/refs/remotes
4.0K ./.git/refs/tags
28K ./.git/refs
4.0K ./.git/branches
8.0K ./.git/info
2.0M ./.git/objects/pack
4.0K ./.git/objects/info
2.0M ./.git/objects
8.0K ./.git/logs/refs/heads
8.0K ./.git/logs/refs/remotes/origin
12K ./.git/logs/refs/remotes
24K ./.git/logs/refs
32K ./.git/logs
52K ./.git/hooks
2.1M ./.git
2.5M .
- du -s 查看檔案夾總大小
$ du -s .git
2104 .git
- du -hd1 查看當前目錄下各目錄檔案大小,層級深度為1
$ du -hd1 .git
28K .git/refs
4.0K .git/branches
8.0K .git/info
2.0M .git/objects
32K .git/logs
52K .git/hooks
2.1M .git
- du -ah1 查看所有檔案大小,深度為1.
$ du -ahd1
4.0K ./arg.h
20K ./config.h
2.1M ./.git
4.0K ./win.h
4.0K ./Makefile
4.0K ./config.mk
4.0K ./README
56K ./st.c
20K ./config.def.h
4.0K ./TODO
48K ./x.c
52K ./x.o
4.0K ./LICENSE
12K ./FAQ
52K ./st.o
4.0K ./st.1
4.0K ./st.info
92K ./st
4.0K ./st.h
4.0K ./LEGACY
2.5M .
- 查看檔案大小并按由大到小的順序排序
$ du -ahd1 | sort -hr
2.5M .
2.1M ./.git
92K ./st
56K ./st.c
52K ./x.o
52K ./st.o
48K ./x.c
20K ./config.h
20K ./config.def.h
12K ./FAQ
4.0K ./win.h
4.0K ./TODO
4.0K ./st.info
4.0K ./st.h
4.0K ./st.1
4.0K ./README
4.0K ./Makefile
4.0K ./LICENSE
4.0K ./LEGACY
4.0K ./config.mk
4.0K ./arg.h
- 掃描下方二維碼,關注我的公眾號,獲取更多技術方面的知識

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413679.html
標籤:其他
上一篇:jenkins 持續集成
