【Linux】一步一步学Linux——du命令(78)
生活随笔
收集整理的這篇文章主要介紹了
【Linux】一步一步学Linux——du命令(78)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
du - 報告磁盤空間使用情況
du命令**的英文全稱是“Disk Usage”,即用于查看磁盤占用空間的意思。但是與df命令不同的是du命令是對文件和目錄磁盤使用的空間的查看,而不是某個分區。
02. 命令格式
用法:du [選項]... [文件]...或:du [選項]... --files0-from=F03. 常用選項
POSIX 選項-a 顯示對涉及到的所有文件的統計,而不只是包含子目錄。-k 用1024字節作為計數單位,替代缺省時512字節的計數單位。-x 只輸出指定參數的實際使用空間,而不包括其下的子目錄。-s 只統計指定參數的在同一設備上所使用的空間。GNU 選項-a, --all顯示對所有文件的統計,而不只是包含子目錄。-b, --bytes輸出以字節為單位的大小,替代缺省時1024字節的計數單位。--block-size=size輸出以塊為單位的大小,塊的大小為 size 字節。( file- utils-4.0的新選項)-c, --total在處理完所有參數后給出所有這些參數的總計。這個選項被用給出指定的一組文件或目錄使用的空間的總和。-D, --dereference-args引用命令行參數的符號連接。但不影響其他的符號連接。 這對找出象/usr/tmp 這樣的目錄的磁盤使用量有用, /usr/tmp等通常是符號連接。 譯住:例如在 /var/tmp 下建立一個目錄test,而/usr/tmp 是指向 /var/tmp 的符號連接。du /usr/tmp 返回一項/usr/tmp , 而 du - D /usr/tmp 返回兩項 /usr/tmp,/usr/tmp/test。--exclude=pattern在遞歸時,忽略與指定模式相匹配的文件或子目錄。模式 可以是任何Bourne shell 的文件 glob 模式。( file- utils-4.0 的新選項)-h, --human-readable為每個數附加一個表示大小單位的字母,象用M表示二進制 的兆字節。-H, --si與 -h 參數起同樣的作用,只是使用法定的 SI 單位( 用1000的冪而不是 1024 的冪,這樣 M 代表的就是1000000 而不是1048576)。(fileutils-4.0 的新選項)-k, --kilobytes輸出以1024字節為計數單位的大小。-l, --count-links統計所有文件的大小,包括已經被統計過的(作為一個硬連接)。-L, --dereference引用符號連接(不是顯示連接點本身而是連接指向的文件或目錄所使用的磁盤空間)。-m, --megabytes輸出以兆字節的塊為計數單位的大小(就是 1,048,576 字節)。--max-depth=n只輸出命令行參數的小于等于第n層的目錄的總計。--max-depth=0的作用同于-s選項。(fileutils-4.0的新選項)-s, --summarize對每個參數只顯示總和。-S, --separate-dirs單獨報告每一個目錄的大小,不包括子目錄的大小。-x, --one-file-system忽略與被處理的參數不在同一個文件系統的目錄。-X file, --exclude-from=file除了從指定的文件中得到模式之外與 --exclude 一樣。模式以行的形式列出。如果指定的文件是'-',那么從標準輸入中讀出模式。(fileutils-4.0 的新選項) GNU 標準選項--help 在標準輸出上輸出幫助信息后正常退出。--version在標準輸出上輸出版本信息后正常退出。-- 終結選項列表04. 參考示例
4.1 顯示當前目錄所使用的磁盤空間
[deng@redhat test]$ du 4 . [deng@redhat test]$**說明:**只顯示當前目錄下面的子目錄的目錄大小和當前目錄的總的大小,最下面的1288為當前目錄的總大小
4.2 顯示指定文件所占空間
[deng@redhat ~]$ du oracle_client_11gR2.tar.gz 56280 oracle_client_11gR2.tar.gz [deng@redhat ~]$4.3 查看指定目錄的所占空間
[deng@redhat ~]$ du -sh bak 4.3M bak [deng@redhat ~]$4.4 顯示多個文件所占空間
[deng@redhat ~]$ du scott_data.sql oracle_client_11gR2.tar.gz 4 scott_data.sql 56280 oracle_client_11gR2.tar.gz [deng@redhat ~]$4.5 只顯示總和的大小
[deng@redhat ~]$ du -s bj34 5976 bj34 [deng@redhat ~]$ du -s bak 4348 bak [deng@redhat ~]$4.6 方便閱讀的格式顯示
[deng@redhat ~]$ du -h oracle_client_11gR2.tar.gz 55M oracle_client_11gR2.tar.gz [deng@redhat ~]$4.7 文件和目錄都顯示
[deng@redhat ~]$ du -ah bak 12K bak/5th/1client/poolsocket.c 4.0K bak/5th/1client/socketlog.c 4.0K bak/5th/1client/socketlog.h 20K bak/5th/1client/socketutil.c 4.0K bak/5th/1client/socketutil.h 4.0K bak/5th/1client/Makefile 4.0K bak/5th/1client/client.c4.8 顯示幾個文件或目錄各自占用磁盤空間的大小,還統計它們的總和
[deng@redhat ~]$ du -c test 4 test 4 總用量 [deng@redhat ~]$說明:加上-c選項后,du不僅顯示兩個目錄各自占用磁盤空間的大小,還在最后一行統計它們的總和。
4.9 按照空間大小排序
[deng@redhat ~]$ du bak/ | sort -nr4.10 輸出當前目錄下各個子目錄所使用的空間
[deng@redhat ~]$ du -h bak --max-depth=1 204K bak/5th 284K bak/6th 1.0M bak/7th 1.4M bak/8th 1.4M bak/9th 4.3M bak [deng@redhat ~]$4.11 顯示最后的修改時間
[deng@redhat ~]$ du --time test.c 4 2019-07-30 10:04 test.c [deng@redhat ~]$4.12 顯示最后訪問時間
[deng@redhat ~]$ du --time=use test.c 4 2019-07-30 10:04 test.c [deng@redhat ~]$4.13 顯示最后狀態修改時間
[deng@redhat ~]$ du --time=status test.c 4 2019-07-30 10:04 test.c [deng@redhat ~]$4.14 以Mb為單位顯示
[deng@redhat ~]$ du -m oracle_client_11gR2.tar.gz 55 oracle_client_11gR2.tar.gz注意:不足1M的按照1M處理。
05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——du命令(78)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——s
- 下一篇: linux 其他常用命令