linux命令詳解之df(6/19)
df
命令作用是列出文件系統的整體磁盤空間使用情況。可以用來查看磁盤已被使用多少空間和還剩余多少空間。 df
命令顯示系統中包含每個文件名參數的磁盤使用情況,如果沒有文件名參數,則顯示所有當前已掛載文件系統的磁盤空間使用情況,參考示例1。
在默認情況下,磁盤空間是以1KB為單位進行顯示的,但是,如果POSIXLY_CORRECT環境變量被設置為true,這種情況下默認使用512字節為單位顯示,參考示例9。
df命令語法
df [選項] [文件名]
參數: -a
:--all
,顯示所有的文件系統,包括虛擬文件系統,參考示例2。 -B
:--block-size
,指定單位大小。比如1k,1m等,參考示例3。 -h
--human-readable
,以人們易讀的GB、MB、KB等格式顯示,參考示例4。 -H
:--si
,和-h
參數一樣,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。 -i
:--inodes
,不用硬盤容量,而是以inode的數量來顯示,參考示例5。 -k
:以KB的容量顯示各文件系統,相當於--block-size=1k
。 -m
:以KB的容量顯示各文件系統,相當於--block-size=1m
。 -l
:--local
,只顯示本地文件系統。 --no-sync
:在統計使用信息之前不調用sync命令(默認)。 -sync
:在統計使用信息之前調用sync命令。 -P
:--portability
-t
:--type=TYPE
,只顯示指定類型的文件系統,參考示例7。 -T
:--print-type
,顯示文件系統類型,參考示例8。 -x
:--exclude-type=TYPE
,不顯示指定類型的文件系統。 --help
:顯示幫助信息。 --version
:顯示版本信息。
df命令示例
示例1:查看包含給定文件磁盤空間使用情況
[root@localhost ~]# df /home #指定一個文件夾,查看該文件夾所在磁盤的使用情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls #指定一個文件
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home /usr/ #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df # 默認情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
輸出結果列說明:
- Filesystem:代表該文件系統時哪個分區,所以列出的是設備名稱。
- 1K-blocks:說明下面的數字單位是1KB,可利用
-h
或-m
來改變單位大小,也可以用-B
來設置。 - Used:已經使用的空間大小。
- Available:剩余的空間大小。
- Use%:磁盤使用率。如果使用率在90%以上時,就需要註意了,避免磁盤容量不足出現系統問題,尤其是對於文件內容增加較快的情況(如/home、/var/spool/mail等)。
- Mounted on:磁盤掛載的目錄,即該磁盤掛載到了哪個目錄下面。
示例2:查看所有文件系統
[root@localhost ~]# df -a #包括虛擬文件系統
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
proc 0 0 0 - /proc
[root@localhost ~]# df # 默認
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
- 說明:系統裏面存在很多特殊的文件系統,這些比較特殊的文件系統幾乎都是在內存當中,(如/proc掛載點),所以,這些特殊文件系統都不會占據硬盤空間。
示例3:指定單位大小
[root@localhost ~]# df -B 1k #1k為單位
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df --block-size 1m #1M為單位
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 15661 2685 12168 19% /
/dev/sda1 289 17 258 7% /boot
tmpfs 1005 0 1005 0% /dev/shm
- 示例4:以人們易讀的方式顯示
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 2.7G 12G 19% /
/dev/sda1 289M 17M 258M 7% /boot
tmpfs 1005M 0 1005M 0% /dev/shm
示例5:以inode的數量顯示
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 4141216 101279 4039937 3% /
/dev/sda1 76304 35 76269 1% /boot
tmpfs 257068 1 257067 1% /dev/shm
- 示例6:使用POSIX格式顯示
[root@localhost ~]# df -P #使用POSIX格式顯示
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
- 示例7:只顯示類型為ext3的文件系統
[root@localhost ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
示例8:顯示出每個文件系統的類型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 16036224 2750464 12458012 19% /
/dev/sda1 ext3 295561 16911 263390 7% /boot
tmpfs tmpfs 1028272 0 1028272 0% /dev/shm
- 示例9:顯示出每個文件系統的類型
[root@localhost ~]# df #默認情況是1024
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# export POSIXLY_CORRECT=true #設置POSIXLY_CORRECT為true
[root@localhost ~]# df #POSIXLY_CORRECT為true時默認512
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sda2 32072448 5500928 24916024 19% /
/dev/sda1 591122 33822 526780 7% /boot
tmpfs 2056544 0 2056544 0% /dev/shm
[root@localhost ~]# unset POSIXLY_CORRECT #取消設置POSIXLY_CORRECT
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@CT1190 log]# df -H
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda7 21G 913M 19G 5% /
[root@CT1190 log]# df -lh
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda7 19G 871M 18G 5% /
[root@CT1190 log]# df -k
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/sda7 19840892 890896 17925856 5% /
/dev/sda9 203727156 93292572 99918840 49% /opt
/dev/sda8 4956284 570188 4130264 13% /var
du查看目錄大小,df查看磁盤使用情況。
我常使用的命令(必要時,sudo使用root權限),
1.查看某個目錄的大小:du -hs /home/master/documents
查看目錄下所有目錄的大小並按大小降序排列:sudo du -sm /etc/* | sort -nr | less
2.查看磁盤使用情況(文件系統的使用情況):sudo df -h
df --block-size=GB
-h是使輸出結果更易於人類閱讀;du -s只展示目錄的使用總量(不分別展示各個子目錄情況),-m是以MB為單位展示目錄的大小(當然-k/-g就是KB/GB了)。
更多信息,還是man du 和 man df 來獲得吧。
du
du的英文為:disk usage,含義是磁盤空間使用情況,功能是逐級進入指定目錄的每一個子目錄並顯示該目錄占用文件系統數據塊的情況,如果沒有指定目錄,則對當前的目錄進行統計。
du的命令各個選項含義如下:
a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間
s:只顯示各檔案大小的總合
b:大小用bytes來表示
x:跳過在不同文件系統上的目錄不予統計
a:遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數據塊數
...
使用du進行查看
root@tech163:/home/htmlfile# du
16 ./test
60 ./bbb
84 .
其中第一列是以塊為單位計的磁盤空間容量,第二列列出目錄中使用這些空間的目錄名稱
1)查看當前目錄包含子目錄的大小
root@tech163:/home/htmlfile# du -sm .
1 .
其中的du -sm . 的“.”是代表當前目錄。
2)查看當前目錄以及子目錄的大小
root@tech163:/home/htmlfile# du -h
16K ./test
60K ./bbb
84K .
其中 -h 表示使用K,M,G的人性化形式顯示。
3)看到當前目錄下的bbb目錄大小,但不想查看其他目錄以及子目錄
root@tech163:/home/htmlfile# du -ch bbb | tail -n 1
60K total
使用了管道包含了du和tail兩個命令,-c表示最後計算出所列目錄的大小之和。
4)列出當前目錄下所有目錄和文件的大小
root@tech163:/home/htmlfile# du -ah bbb
4.0K bbb/mysql.php
4.0K bbb/index.htm
4.0K bbb/p.php
其中-a表示包含目錄和文件
5)不換行列出目錄以及子目錄大小的信息
root@tech163:/home/htmlfile# du -0h
16K ./test60K ./bbb84K .root@tech163:/home/htmlfile#
其中 -0 表示列出一條信息後不換行,接著輸出第二條信息
實例8:顯示幾個文件或目錄各自占用磁盤空間的大小,還統計它們的總和
命令:du -c log30.tar.gz log31.tar.gz
實例7:文件和目錄都顯示
命令:
輸出:[root@localhost soft]# du -ah test
df [選項] [文件名]
參數: -a
:--all
,顯示所有的文件系統,包括虛擬文件系統,參考示例2。 -B
:--block-size
,指定單位大小。比如1k,1m等,參考示例3。 -h
:--human-readable
,以人們易讀的GB、MB、KB等格式顯示,參考示例4。 -H
:--si
,和-h
參數一樣,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。 -i
:--inodes
,不用硬盤容量,而是以inode的數量來顯示,參考示例5。 -k
:以KB的容量顯示各文件系統,相當於--block-size=1k
。 -m
:以KB的容量顯示各文件系統,相當於--block-size=1m
。 -l
:--local
,只顯示本地文件系統。 --no-sync
:在統計使用信息之前不調用sync命令(默認)。 -sync
:在統計使用信息之前調用sync命令。 -P
:--portability
,使用POSIX格式顯示,參考示例6。 -t
:--type=TYPE
,只顯示指定類型的文件系統,參考示例7。 -T
:--print-type
,顯示文件系統類型,參考示例8。 -x
:--exclude-type=TYPE
,不顯示指定類型的文件系統。 --help
:顯示幫助信息。 --version
:顯示版本信息。
df命令示例
示例1:查看包含給定文件磁盤空間使用情況
[root@localhost ~]# df /home #指定一個文件夾,查看該文件夾所在磁盤的使用情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls #指定一個文件
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home /usr/ #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df # 默認情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
輸出結果列說明:
- Filesystem:代表該文件系統時哪個分區,所以列出的是設備名稱。
- 1K-blocks:說明下面的數字單位是1KB,可利用
-h
或-m
來改變單位大小,也可以用-B
來設置。 - Used:已經使用的空間大小。
- Available:剩余的空間大小。
- Use%:磁盤使用率。如果使用率在90%以上時,就需要註意了,避免磁盤容量不足出現系統問題,尤其是對於文件內容增加較快的情況(如/home、/var/spool/mail等)。
- Mounted on:磁盤掛載的目錄,即該磁盤掛載到了哪個目錄下面。
示例2:查看所有文件系統
[root@localhost ~]# df -a #包括虛擬文件系統
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
proc 0 0 0 - /proc
[root@localhost ~]# df # 默認
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
- 說明:系統裏面存在很多特殊的文件系統,這些比較特殊的文件系統幾乎都是在內存當中,(如/proc掛載點),所以,這些特殊文件系統都不會占據硬盤空間。
示例3:指定單位大小
[root@localhost ~]# df -B 1k #1k為單位
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df --block-size 1m #1M為單位
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 15661 2685 12168 19% /
/dev/sda1 289 17 258 7% /boot
tmpfs 1005 0 1005 0% /dev/shm
- 示例4:以人們易讀的方式顯示
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 2.7G 12G 19% /
/dev/sda1 289M 17M 258M 7% /boot
tmpfs 1005M 0 1005M 0% /dev/shm
示例5:以inode的數量顯示
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 4141216 101279 4039937 3% /
/dev/sda1 76304 35 76269 1% /boot
tmpfs 257068 1 257067 1% /dev/shm
- 示例6:使用POSIX格式顯示
[root@localhost ~]# df -P #使用POSIX格式顯示
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
- 示例7:只顯示類型為ext3的文件系統
[root@localhost ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
示例8:顯示出每個文件系統的類型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 16036224 2750464 12458012 19% /
/dev/sda1 ext3 295561 16911 263390 7% /boot
tmpfs tmpfs 1028272 0 1028272 0% /dev/shm
- 示例9:顯示出每個文件系統的類型
[root@localhost ~]# df #默認情況是1024
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# export POSIXLY_CORRECT=true #設置POSIXLY_CORRECT為true
[root@localhost ~]# df #POSIXLY_CORRECT為true時默認512
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sda2 32072448 5500928 24916024 19% /
/dev/sda1 591122 33822 526780 7% /boot
tmpfs 2056544 0 2056544 0% /dev/shm
[root@localhost ~]# unset POSIXLY_CORRECT #取消設置POSIXLY_CORRECT
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@CT1190 log]# df -H
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda7 21G 913M 19G 5% /
[root@CT1190 log]# df -lh
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda7 19G 871M 18G 5% /
[root@CT1190 log]# df -k
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/sda7 19840892 890896 17925856 5% /
/dev/sda9 203727156 93292572 99918840 49% /opt
/dev/sda8 4956284 570188 4130264 13% /var
du查看目錄大小,df查看磁盤使用情況。
我常使用的命令(必要時,sudo使用root權限),
1.查看某個目錄的大小:du -hs /home/master/documents
查看目錄下所有目錄的大小並按大小降序排列:sudo du -sm /etc/* | sort -nr | less
2.查看磁盤使用情況(文件系統的使用情況):sudo df -h
df --block-size=GB
-h是使輸出結果更易於人類閱讀;du -s只展示目錄的使用總量(不分別展示各個子目錄情況),-m是以MB為單位展示目錄的大小(當然-k/-g就是KB/GB了)。
更多信息,還是man du 和 man df 來獲得吧。
du
du的英文為:disk usage,含義是磁盤空間使用情況,功能是逐級進入指定目錄的每一個子目錄並顯示該目錄占用文件系統數據塊的情況,如果沒有指定目錄,則對當前的目錄進行統計。
du的命令各個選項含義如下:
a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間
s:只顯示各檔案大小的總合
b:大小用bytes來表示
x:跳過在不同文件系統上的目錄不予統計
a:遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數據塊數
...
使用du進行查看
root@tech163:/home/htmlfile# du
16 ./test
60 ./bbb
84 .
其中第一列是以塊為單位計的磁盤空間容量,第二列列出目錄中使用這些空間的目錄名稱
1)查看當前目錄包含子目錄的大小
root@tech163:/home/htmlfile# du -sm .
1 .
其中的du -sm . 的“.”是代表當前目錄。
2)查看當前目錄以及子目錄的大小
root@tech163:/home/htmlfile# du -h
16K ./test
60K ./bbb
84K .
其中 -h 表示使用K,M,G的人性化形式顯示。
3)看到當前目錄下的bbb目錄大小,但不想查看其他目錄以及子目錄
root@tech163:/home/htmlfile# du -ch bbb | tail -n 1
60K total
使用了管道包含了du和tail兩個命令,-c表示最後計算出所列目錄的大小之和。
4)列出當前目錄下所有目錄和文件的大小
root@tech163:/home/htmlfile# du -ah bbb
4.0K bbb/mysql.php
4.0K bbb/index.htm
4.0K bbb/p.php
其中-a表示包含目錄和文件
5)不換行列出目錄以及子目錄大小的信息
root@tech163:/home/htmlfile# du -0h
16K ./test60K ./bbb84K .root@tech163:/home/htmlfile#
其中 -0 表示列出一條信息後不換行,接著輸出第二條信息
實例8:顯示幾個文件或目錄各自占用磁盤空間的大小,還統計它們的總和
命令:du -c log30.tar.gz log31.tar.gz
實例7:文件和目錄都顯示
命令:
輸出:[root@localhost soft]# du -ah test
每天一個linux命令(2):file 命令
作用:查看文件類型信息
格式:file[OPTIONS...] [FILE...]
主要參數:
--help 顯示幫助信息
-v,--version 輸出版本信息並退出
-b,--brief 不顯示文件名字
-f,--files-fromFILE 顯示指定文件的類型(可指定多個用" "分開)
-F,--seperatorSTRING 使用字符串作為分隔符,不再使用“:”
-i,--mime 顯示文件的mime類型
--mime-type
--mime-encoding
-L,--dereference 顯示符號鏈接所指向文件信息
-h,--no-dereference
-d,--debug 輸出調試信息
示例:
查看當前路徑下所有文件信息
file *
不顯示文件名稱
file --brief 1.txt
顯示文件mime類型
file --mime 1.txt
顯示名稱列表所列文件信息
file -f 1.txt
顯示符號鏈接所指向類型
file -L 1.txt
顯示幫助信息
file --help
顯示版本信息
file--version
linux命令詳解之df(6/19)