Linux 查看文件佔用磁盤空間

今天下午,我想看看在運行此博客的服務器上剩餘了多少磁盤空間。與 Unix / Linux 命令一樣,在獲得所需的信息後,我開始考慮其他處理方法。而且,就像平常一樣,我學到了一些新東西。反正對我來說是新的。
首先,我登錄服務器並運行 df命令:
df -h .
輸出總結了包含給定文件的文件系統的磁盤使用情況(在本例中,當前目錄.爲我的主目錄)爲
Filesystem Size Used Avail Use% Mounted on
/dev/disk/by-label/DOROOT 25G 9.5G 14G 41% /
這表明我正在使用所支付的 25 GB 內存中的 41%。該-h選項告訴df輸出使用 “人類” 格式,而不是以 “ 1-K 塊” 顯示用法,而是以千字節,兆字節和千兆字節顯示。許多 GNU 實用程序都有一個-h以這種方式工作的選項。
磁盤使用情況包括虛擬服務器上的所有內容 - 除博客特定的文件之外的所有可執行文件,庫和支持文件。我想對此進行優化,以查看該博客正在使用什麼。那要求 du命令:
du -hd 1 .
該-h選項再次表示 “人類格式的值”。該-d 1選項告訴du您只能進入一個目錄級別。輸出是
8.0K ./.gnupg
68K ./pagelogs
114M ./all-this
9.0M ./.local
116K ./php-markdown
1.5M ./.cache
68K ./.ipython
20K ./.pip
8.0K ./.ssh
522M ./tmp
16K ./bin
8.0K ./.conda
1.1G ./public_html
4.0K ./.nano
3.4G ./anaconda3
5.1G .
該行public_html是我想要的:1.1 GB。因此,服務器上相對較少的空間用於博客。
在查看du輸出時,我認爲按數字順序輸出將更爲有用。我曾考慮過向中添加一個-s選項du,但這是行不通的。該 du男子頁顯示了排序輸出的選項。
標準的 Unix 處理方式建議將輸出管道傳輸到 sort,但是我確定這在這裏行不通。因爲雖然sort有一個-n對數字排序選項,在數字du的人力輸出沒有什麼需要進行排序。這是我要分類的數量,這意味着必須考慮後綴。一個測試
du -hd 1 . | sort -n
給我
1.1G ./public_html
1.5M ./.cache
3.4G ./anaconda3
4.0K ./.nano
5.1G .
8.0K ./.conda
8.0K ./.gnupg
8.0K ./.ssh
9.0M ./.local
16K ./bin
20K ./.pip
68K ./.ipython
68K ./pagelogs
114M ./all-this
116K ./php-markdown
522M ./tmp
這證實了我的懷疑。完美的數字排序方式,但對數量的排序沒有用。
我可以將其他輸出開關用於du:
du -kd 1 . | sort -n
該-k告訴du輸出以 KB 爲單位的大小。排序後的輸出是
4 ./.nano
8 ./.conda
8 ./.gnupg
8 ./.ssh
16 ./bin
20 ./.pip
68 ./.ipython
68 ./pagelogs
116 ./php-markdown
1448 ./.cache
9184 ./.local
115896 ./all-this
534104 ./tmp
1098316 ./public_html
3470796 ./anaconda3
5333936 .
直到數字上升到五位數或六位數並且您無法跟蹤數量級時,這纔是很好的選擇。
但是這是我學到東西的部分。事實證明,GNU 員工認識到需要讀取和格式化人類格式的值,因此他們在中添加了一個-h選項sort。所以
du -hd 1 . | sort -hr

5.1G .
3.4G ./anaconda3
1.1G ./public_html
522M ./tmp
114M ./all-this
9.0M ./.local
1.5M ./.cache
116K ./php-markdown
68K ./pagelogs
68K ./.ipython
20K ./.pip
16K ./bin
8.0K ./.ssh
8.0K ./.gnupg
8.0K ./.conda
4.0K ./.nano
這正是我想要的:易於閱讀且經過適當排序。(該-r開關告知sort要反向,因此最大的目錄在前。)

翻譯來源:https://leancrew.com/all-this/2020/05/sort-of-handy/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章