Linux系統中如何查看磁碟情況

来源:https://www.cnblogs.com/wang_yb/p/18211130
-Advertisement-
Play Games

Linux不像windows系統那樣方便的圖形界面,特別是作為伺服器使用的時候,只有命令行可以使用。 我有個雲伺服器平時用來做一些數據分享用的,最近想看看磁碟和其中文件的占用情況,於是搜索並學習了一些查看磁碟空間信息的命令,命令雖然簡單,但對我自己來說還是有些新的東西值得記錄。 1. df 首先,登 ...


Linux不像windows系統那樣方便的圖形界面,特別是作為伺服器使用的時候,只有命令行可以使用。

我有個雲伺服器平時用來做一些數據分享用的,最近想看看磁碟和其中文件的占用情況,
於是搜索並學習了一些查看磁碟空間信息的命令,命令雖然簡單,但對我自己來說還是有些新的東西值得記錄。

1. df

首先,登錄伺服器用df命令查看磁碟情況:

/home/projects/databook# df .
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/vda1       51420828 14018512  35079240  29% /

輸出包含當前文件系統的磁碟使用情況。

df命令有個-h參數,可以更好的展示磁碟情況:

/home/projects/databook# df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G   14G   34G  29% /

-h參數一般是用來顯示幫助信息的,但是對於df命令,h表示human,也就是以人類易讀的方式顯示。

上面的輸出表示這個磁碟的使用量,包括我的虛擬伺服器上的所有內容——可執行文件、庫和支持文件等等。
總容量 50G,目前只使用了29%,剩餘的還比較充裕。

2. du

接下來,我想看看databook目錄的文件占用情況。這需要使用 du 命令:

/home/projects/databook# du -hd 1 .
24K     ./certs
4.0K    ./download
3.2M    ./admin-ui
2.9M    ./public
108K    ./output
181M    ./upload
472K    ./markdown-files
207M    .

同樣,-h參數表示以人類易讀的方式顯示,-d 1 參數表示 du 只進入一個目錄級別(也就是當前目錄)。

從輸出可以看出,upload目錄稍微大點,其他目錄都還好。
最後一行 207M 是整個目錄占用磁碟的大小。
我希望按照文件/文件夾 占用磁碟空間大小的順序來顯示,這樣可以快速定位到占用空間大的 文件/文件夾

3. du | sort

但是,du命令並沒有按磁碟空間排序的參數,所以嘗試結合 sort 命令來排序。

/home/projects/databook# du -hd 1 . | sort -n
2.9M    ./public
3.2M    ./admin-ui
4.0K    ./download
24K     ./certs
108K    ./output
181M    ./upload
207M    .
472K    ./markdown-files

sort命令的-n參數表示按數字排序,不過文件夾大小不僅有數字,還有單位(比如MK這些)。
所以,這樣排序對我們用處不大。

接著,嘗試所有文件統一用位元組表示,然後在排序:

/home/projects/databook# du -kd 1 . | sort -n
4       ./download
24      ./certs
108     ./output
472     ./markdown-files
2948    ./public
3224    ./admin-ui
184532  ./upload
211112  .

du命令的-k參數表示用位元組表示文件/文件夾的大小。
這樣雖然可以正常排序,但是可讀性差,位元組並不是人類易讀的方式,還是MBGB更好理解。

進一步調查,發現sort命令居然也有-h參數,也是為了讀取人類易讀格式的值。

/home/projects/databook# du -hd 1 . | sort -hr
207M    .
181M    ./upload
3.2M    ./admin-ui
2.9M    ./public
472K    ./markdown-files
108K    ./output
24K     ./certs
4.0K    ./download

這樣就滿足了我查詢磁碟空間的要求。
sort命令的-r參數表示從大到小排序,因為我關註的是大文件,所以想把它們排在前面。

補充:-h參數是在2009年添加到GNU sort 的。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Biwen.Settings 是一個簡易的配置項管理模塊,主要的作用就是可以校驗並持久化配置項,比如將自己的配置存儲到資料庫中,JSON文件中等 使用上也是很簡單,只需要在服務中註入配置, 比如我們有一個GithubSetting的配置項,我們只需要定義好對象然後註入到Service中即可: [De ...
  • .NET中特性+反射 實現數據校驗 在.NET中,我們可以使用特性+反射來實現數據校驗。特性是一種用於為程式中的代碼添加元數據的機制。元數據是與程式中的代碼相關聯的數據,但不直接成為代碼的一部分。通過特性,我們可以為類、方法、屬性等添加額外的信息,這些信息可以在運行時通過反射獲取和使用。 對反射不太 ...
  • 最近有群友咨詢C#如何調用Python?小編嘗試Python.NET過程中遭遇的版本相容性和環境配置難題,小編決定尋找一個更為簡單、穩定且對初學者友好的解決方案。小編搜索一番,除了Python.NET之外,還有其他途徑能夠幫助我們輕鬆地在C#項目調用Python腳本,那就是通過命令行調用,使用 Sy ...
  • C#.Net的BCL提供了豐富的類型,最基礎的是值類型、引用類型,而他們的共同(隱私)祖先是 System.Object(萬物之源),所以任何類型都可以轉換為Object。 ...
  • 添加本地用戶 添加新的本地用戶。 在CUI配置上,按如下方式設置。 使用管理員許可權運行 PowerShell 並按如下方式進行配置。 Windows PowerShell 版權所由 (C) Microsoft Corporation。 保留所有權利。 安裝最新的 PowerShell,瞭解新功能和改 ...
  • 誰來調用 main 函數 在運行 main 函數之前,會有一段引導代碼,最終由這段代碼調用 main 函數,這段引導代碼不需要自己編寫,而是在編譯、鏈接中由鏈接器將這段程式鏈接到應用程式中,構成最終的可執行文件,載入器會將可執行文件載入到記憶體中 進程的終止 正常終止 在 main 函數中通過 ret ...
  • 獲取 Windows Server 2022 https://www.microsoft.com/zh-cn/evalcenter/evaluate-windows-server-2022 查看 Windows Server 2022 發行說明和系統要求。 註冊,然後下載並安裝。(註意:此評估版將在 ...
  • 事情是這樣的,因為系統漏洞問題,需要升級openssh,從OpenSSH_9.3p1升級到OpenSSH_9.3p2 系統版本:CentOS 7 升級OpenSSH_9.3p2之前需要先升級zlib 從官網下載 wget https://www.zlib.net/zlib-1.3.1.tar.gz ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...