磁盘与目录的容量(转)
磁盤與目錄的容量
現在我們知道磁盤的整體數據是在 superblock 區塊中,但是每個各別文件的容量則在 inode 當中記載的。 那在文字接口底下該如何叫出這幾個數據呢?底下就讓我們來談一談這兩個命令:
df:列出文件系統的整體磁盤使用量;
du:評估文件系統的磁盤使用量(常用在推估目錄所占容量)
?
df
[root@www ~]# df [-ahikHTm] [目錄或文件名] 選項與參數: -a :列出所有的文件系統,包括系統特有的 /proc 等文件系統; -k :以 KBytes 的容量顯示各文件系統; -m :以 MBytes 的容量顯示各文件系統; -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示; -H :以 M=1000K 取代 M=1024K 的進位方式; -T :連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出; -i :不用硬盤容量,而以 inode 的數量來顯示?
范例一:將系統內所有的 filesystem 列出來!
[root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823112 5585444 41% / /dev/hdc3 4956316 141376 4559108 4% /home /dev/hdc1 101086 11126 84741 12% /boot tmpfs 371332 0 371332 0% /dev/shm # 在 Linux 底下如果 df 沒有加任何選項,那么默認會將系統內所有的 # (不含特殊內存內的文件系統與 swap) 都以 1 Kbytes 的容量來列出來! # 至于那個 /dev/shm 是與內存有關的掛載,先不要理他!?
范例二:將容量結果以易讀的容量格式顯示出來
[root@www ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm # 不同于范例一,這里會以 G/M 等容量格式顯示出來,比較容易看啦!?
范例三:將系統內的所有特殊文件格式及名稱都列出來
[root@www ~]# df -aT Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/hdc2 ext3 9920624 3823112 5585444 41% / proc proc 0 0 0 - /proc sysfs sysfs 0 0 0 - /sys devpts devpts 0 0 0 - /dev/pts /dev/hdc3 ext3 4956316 141376 4559108 4% /home /dev/hdc1 ext3 101086 11126 84741 12% /boot tmpfs tmpfs 371332 0 371332 0% /dev/shm none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs # 系統里面其實還有很多特殊的文件系統存在的。那些比較特殊的文件系統幾乎 # 都是在內存當中,例如 /proc 這個掛載點。因此,這些特殊的文件系統 # 都不會占據硬盤空間喔! ^_^?
范例四:將 /etc 底下的可用的磁盤容量以易讀的容量格式顯示
[root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / # 這個范例比較有趣一點啦,在 df 后面加上目錄或者是文件時, df # 會自動的分析該目錄或文件所在的 partition ,并將該 partition 的容量顯示出來, # 所以,您就可以知道某個目錄底下還有多少容量可以使用了! ^_^?
范例五:將目前各個 partition 當中可用的 inode 數量列出
[root@www ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2.5M 147K 2.3M 6% / /dev/hdc3 1.3M 46 1.3M 1% /home /dev/hdc1 26K 34 26K 1% /boot tmpfs 91K 1 91K 1% /dev/shm # 這個范例則主要列出可用的 inode 剩余量與總容量。分析一下與范例一的關系, # 你可以清楚的發現到,通常 inode 的數量剩余都比 block 還要多呢?
先來說明一下范例一所輸出的結果信息為:
Filesystem:代表該文件系統是在哪個 partition ,所以列出裝置名稱;
1k-blocks:說明底下的數字單位是 1KB 呦!可利用 -h 或 -m 來改變容量;
Used:顧名思義,就是使用掉的硬盤空間啦!
Available:也就是剩下的磁盤空間大小;
Use%:就是磁盤的使用率啦!如果使用率高達 90% 以上時, 最好需要注意一下了,免得容量不足造成系統問題喔!(例如最容易被灌爆的 /var/spool/mail 這個放置郵件的磁盤)
Mounted on:就是磁盤掛載的目錄所在啦!(掛載點啦!)
由于 df 主要讀取的數據幾乎都是針對一整個文件系統,因此讀取的范圍主要是在 Superblock 內的信息, 所以這個命令顯示結果的速度非常的快速!在顯示的結果中你需要特別留意的是那個根目錄的剩余容量! 因為我們所有的數據都是由根目錄衍生出來的,因此當根目錄的剩余容量剩下 0 時,那你的 Linux 可能就問題很大了。
?
另外需要注意的是,如果使用 -a 這個參數時,系統會出現 /proc 這個掛載點,但是里面的東西都是 0 ,不要緊張! /proc 的東西都是 Linux 系統所需要加載的系統數據,而且是掛載在『內存當中』的, 所以當然沒有占任何的硬盤空間啰!
至于那個 /dev/shm/ 目錄,其實是利用內存虛擬出來的磁盤空間! 由于是透過內存仿真出來的磁盤,因此你在這個目錄底下創建任何數據文件時,訪問速度是非常快速的!(在內存內工作) 不過,也由于他是內存仿真出來的,因此這個文件系統的大小在每部主機上都不一樣,而且創建的東西在下次啟動時就消失了! 因為是在內存中嘛!
du
[root@www ~]# du [-ahskm] 文件或目錄名稱
選項與參數:
-a :列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。
-h :以人們較易讀的容量格式 (G/M) 顯示;
-s :列出總量而已,而不列出每個各別的目錄占用容量;
-S :不包括子目錄下的總計,與 -s 有點差別。
-k :以 KBytes 列出容量顯示;
-m :以 MBytes 列出容量顯示; ?
范例一:列出目前目錄下的所有文件容量
[root@www ~]# du 8 ./test4 <==每個目錄都會列出來 8 ./test2 ....中間省略.... 12 ./.gconfd <==包括隱藏文件的目錄 220 . <==這個目錄(.)所占用的總量 # 直接輸入 du 沒有加任何選項時,則 du 會分析『目前所在目錄』 # 的文件與目錄所占用的硬盤空間。但是,實際顯示時,僅會顯示目錄容量(不含文件), # 因此 . 目錄有很多文件沒有被列出來,所以全部的目錄相加不會等于 . 的容量喔! # 此外,輸出的數值數據為 1K 大小的容量單位。?
范例二:同范例一,但是將文件的容量也列出來
[root@www ~]# du -a 12 ./install.log.syslog <==有文件的列表了 8 ./.bash_logout 8 ./test4 8 ./test2 ....中間省略.... 12 ./.gconfd 220 .?
范例三:檢查根目錄底下每個目錄所占用的容量
[root@www ~]# du -sm /* 7 /bin 6 /boot .....中間省略.... 0 /proc .....中間省略.... 1 /tmp 3859 /usr <==系統初期最大就是他了啦! 77 /var # 這是個很常被使用的功能~利用通配符 * 來代表每個目錄, # 如果想要檢查某個目錄下,哪個次目錄占用最大的容量,可以用這個方法找出來 # 值得注意的是,如果剛剛安裝好 Linux 時,那么整個系統容量最大的應該是 /usr # 而 /proc 雖然有列出容量,但是那個容量是在內存中,不占硬盤空間。與 df 不一樣的是,du 這個命令其實會直接到文件系統內去搜尋所有的文件數據, 所以上述第三個范例命令的運行會運行一小段時間!此外,在默認的情況下,容量的輸出是以 KB 來設計的, 如果你想要知道目錄占了多少 MB ,那么就使用 -m 這個參數即可啰!而, 如果你只想要知道該目錄占了多少容量的話,使用 -s 就可以啦!
至于 -S 這個選項部分,由于 du 默認會將所有文件的大小均列出,因此假設你在 /etc 底下使用 du 時, 所有的文件大小,包括 /etc 底下的次目錄容量也會被計算一次。然后最終的容量 (/etc) 也會加總一次, 因此很多朋友都會誤會 du 分析的結果不太對勁。所以啰,如果想要列出某目錄下的全部數據, 或許也可以加上 -S 的選項,減少次目錄的加總喔!
轉自 ?http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem_2.php
轉載于:https://www.cnblogs.com/ggjucheng/archive/2012/08/22/2651522.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的磁盘与目录的容量(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows自动关机命令
- 下一篇: 菜鸟小编对云计算的一点猜想