【Linux系列】目錄大小查看

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。
img

  • 推薦:kwan 的首頁,持續學習,不斷總結,共同進步,活到老學到老
  • 導航
    • 檀越劍指大廠系列:全面總結 java 核心技術,jvm,并發編程 redis,kafka,Spring,微服務等
    • 常用開發工具系列:常用的開發工具,IDEA,Mac,Alfred,Git,typora 等
    • 數據庫系列:詳細總結了常用數據庫 mysql 技術點,以及工作中遇到的 mysql 問題等
    • 新空間代碼工作室:提供各種軟件服務,承接各種畢業設計,畢業論文等
    • 懶人運維系列:總結好用的命令,解放雙手不香嗎?能用一個命令完成絕不用兩個操作
    • 數據結構與算法系列:總結數據結構和算法,不同類型針對性訓練,提升編程思維,劍指大廠

非常期待和您一起在這個小小的網絡世界里共同探索、學習和成長。💝💝💝 ?? 歡迎訂閱本專欄 ??

博客目錄

    • 一、`du` 命令基礎
      • 基本語法
      • 為什么需要 `-h` 選項?
    • 二、`du -h` 命令詳解
      • 輸出解讀
      • 常用選項組合
    • 三、`du` 與其他命令的對比
      • `du` vs `df`
      • `du` vs `ls -l`
    • 四、實際應用場景
      • 1. 查找大目錄
      • 2. 監控用戶磁盤使用
      • 3. 排除特定目錄
      • 4. 比較目錄變化
    • 五、高級技巧與注意事項
      • 1. 處理符號鏈接
      • 2. 顯示修改時間
      • 3. 性能優化
      • 4. 跨文件系統統計
    • 六、常見問題解答

在 Linux 系統管理和日常維護中,了解文件和目錄占用磁盤空間的情況是一項基本而重要的任務。du(Disk Usage)命令是完成這一任務的強大工具,而 du -h 則是其中最常用的命令形式之一。

一、du 命令基礎

du(Disk Usage)命令是 Linux/Unix 系統中用于估算文件和目錄磁盤使用情況的實用程序。它通過遞歸遍歷目錄結構,計算每個文件和子目錄占用的磁盤空間,并以塊為單位(默認情況下)顯示結果。

基本語法

du [選項] [文件或目錄]

如果不指定文件或目錄,du 會默認統計當前目錄及其所有子目錄的磁盤使用情況。

為什么需要 -h 選項?

原始的 du 命令輸出以磁盤塊為單位(通常 1 塊=512 字節或 1KB),這種表示方式對人類閱讀不夠友好。例如:

du data

可能輸出:

123456  data/subdir1
789012  data/subdir2
912468  data

這樣的數字難以直觀理解。-h(human-readable)選項的出現解決了這個問題,它會自動選擇最合適的單位(KB、MB、GB 或 TB)來顯示大小:

du -h data

輸出變為:

4.0K    data/subdir1
8.2M    data/subdir2
1.2G    data

在這里插入圖片描述

二、du -h 命令詳解

輸出解讀

du -h 的典型輸出包含多行信息:

  1. 子目錄行:顯示每個子目錄的大小和路徑
  2. 總計行(最后一行):顯示指定目錄的總大小

例如:

4.0K    data/subdir1
8.2M    data/subdir2
1.2G    data

這里:

  • data/subdir1 占用 4.0KB
  • data/subdir2 占用 8.2MB
  • 整個 data 目錄占用 1.2GB

常用選項組合

  1. -s(匯總):僅顯示總大小,不顯示子目錄詳情

    du -sh data
    

    輸出:

    1.2G    data
    
  2. -c(總計):在最后添加一個總計行

    du -hc data
    

    輸出:

    4.0K    data/subdir1
    8.2M    data/subdir2
    1.2G    data
    1.2G    總用量
    
  3. --max-depth=N:控制顯示的目錄深度

    du -h --max-depth=1 data
    

    只顯示 data 下第一級子目錄的大小

三、du 與其他命令的對比

du vs df

  • du(Disk Usage):從文件系統角度計算文件和目錄占用的空間
  • df(Disk Free):顯示文件系統的整體磁盤使用情況

du 更適合查找具體目錄或文件占用的空間,而 df 更適合查看整個磁盤或分區的使用情況。

du vs ls -l

  • ls -l 顯示的是文件的實際大小(邏輯大小)
  • du 顯示的是文件占用的磁盤空間(可能因塊分配而大于實際大小)

例如,一個 1 字節的文件:

  • ls -l 顯示 1 字節
  • du 可能顯示 4KB(取決于文件系統的塊大小)

四、實際應用場景

1. 查找大目錄

du -h / | sort -rh | head -n 20

這條命令組合:

  1. 從根目錄開始計算所有目錄大小
  2. 按人類可讀格式輸出
  3. 按大小逆序排序
  4. 顯示前 20 個最大的目錄

2. 監控用戶磁盤使用

du -sh /home/*

快速查看所有用戶主目錄的磁盤使用情況。

3. 排除特定目錄

du -h --exclude='*.log' /var

統計 /var 目錄大小,但排除所有 .log 文件。

4. 比較目錄變化

du -sh data
# 進行一些操作后
du -sh data

通過兩次執行比較目錄大小的變化。

五、高級技巧與注意事項

1. 處理符號鏈接

默認情況下,du 會統計符號鏈接指向的文件大小。使用 -L 選項可以跟隨符號鏈接:

du -Lh /path

2. 顯示修改時間

結合 --time 選項可以顯示最后修改時間:

du -h --time data

3. 性能優化

對于大型文件系統,du 可能需要較長時間。可以:

  1. 使用 --apparent-size 顯示表觀大小而非磁盤使用量(更快但不夠準確)
  2. 限制目錄深度 --max-depth
  3. 在非高峰時段運行

4. 跨文件系統統計

默認 du 會統計掛載點下的其他文件系統。使用 -x 可以限制在當前文件系統:

du -xh /

六、常見問題解答

Q1:為什么 dudf 顯示的總空間不一致?

A1:可能原因包括:

  • 已刪除但仍有進程打開的文件
  • 文件系統保留空間
  • 不同的統計方法(df 統計整個文件系統,du 統計具體文件)

Q2:如何統計目錄中的文件數量而非大小?

A2:使用 findwc

find data -type f | wc -l

Q3:du 顯示的 size 為什么比實際文件總和要大?

A3:du 統計的是磁盤使用量,包括:

  • 文件實際內容
  • 文件系統元數據
  • 由于塊分配導致的額外空間

覺得有用的話點個贊 👍🏻 唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評論批評指正!😄😄😄

💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且長,行則將至,讓我們一起加油吧!🌙🌙🌙

img

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78978.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78978.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78978.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《AI大模型應知應會100篇》第48篇:構建企業級大模型應用的架構設計

第48篇:構建企業級大模型應用的架構設計 摘要:本文將提供企業級大模型應用的端到端架構設計方案,從系統設計原則到技術棧選擇,從高可用保障到安全合規,全面覆蓋構建穩健、可擴展、安全的大模型應用所需的工程實踐。適合…

人協同的自動化需求分析

多人協同的自動化需求分析是指通過技術工具和協作流程,讓多個參與者(如產品經理、開發人員、測試人員等)在需求分析階段高效協作,并借助自動化手段提升需求收集、整理、驗證和管理的效率與質量。以下是其核心要點: 1. …

【戰略合作】開封大學_閥門產業學院+智橙PLM

12月20日,在核電廠閥門系列團體標準啟動會上,開封大學閥門產業學院與橙色云互聯網設計有限公司達成戰略合作。 以平臺賦能行業,讓閥門教育“有的放矢” 會議與會者包括: 開封大學副校長 李治 中國國際科技促進會標準化工作委員…

element-ui日期時間選擇器禁止輸入日期

需求解釋:時間日期選擇器,下方日期有禁止選擇范圍,所以上面的日期輸入框要求禁止輸入,但時間輸入框可以輸入,也就是下圖效果,其中日歷中的禁止選擇可以通過【picker-options】這個屬性實現,此屬…

計算機網絡:深入分析三層交換機硬件轉發表生成過程

三層交換機的MAC地址轉發表生成過程結合了二層交換和三層路由的特性,具體可分為以下步驟: 一、二層MAC地址表學習(基礎轉發層) 初始狀態 交換機啟動時,MAC地址表為空,處于學習階段。 數據幀接收與源MAC學習 當主機A發送數據幀到主機B時,交換機會檢查數據幀的源MAC地址。…

【開源解析】基于Python的智能文件備份工具開發實戰:從定時備份到托盤監控

📁【開源解析】基于Python的智能文件備份工具開發實戰:從定時備份到托盤監控 🌈 個人主頁:創客白澤 - CSDN博客 🔥 系列專欄:🐍《Python開源項目實戰》 💡 熱愛不止于代碼&#xff0…

Windows 環境變量完全指南:系統變量、用戶變量與 PATH 詳解

1. 什么是環境變量? 環境變量(Environment Variables)是 Windows 系統中用于存儲配置信息的鍵值對,它們可以影響系統和應用程序的行為。例如: PATH:告訴系統在哪里查找可執行文件(如 python、j…

詳解RabbitMQ工作模式之工作隊列模式

目錄 工作隊列模式 概念 特點 應用場景 工作原理 注意事項 代碼案例 引入依賴 常量類 編寫生產者代碼 編寫消費者1代碼 編寫消費者2代碼 先運行生產者,后運行消費者 先運行消費者,后運行生產者 工作隊列模式 概念 在工作隊列模式中&#x…

數據結構-非線性結構-二叉樹

概述 /** * 術語 * 根節點(root node):位于二叉樹頂層的節點,沒有父節點。 * 葉節點(leaf node):沒有子節點的節點,其兩個指針均指向 None 。 * 邊(edge)&…

芯片筆記 - 手冊參數注釋

芯片手冊參數注釋 基礎參數外圍設備USB OTG(On-The-Go)以太網存儲卡(SD)SDIO 3.0(Secure Digital Input/Output)GPIO(General Purpose Input/Output 通用輸入/輸出接口)ADC(Analog to Digital C…

力扣94. 二叉樹的中序遍歷

94. 二叉樹的中序遍歷 給定一個二叉樹的根節點 root ,返回 它的 中序 遍歷 。 示例 1: 輸入:root [1,null,2,3] 輸出:[1,3,2]示例 2: 輸入:root [] 輸出:[]示例 3: 輸入&#…

深度學習:AI為老年癡呆患者點亮希望之光

引言 隨著全球人口老齡化進程的加速,老年癡呆癥已成為嚴重威脅老年人健康和生活質量的公共衛生問題。據世界衛生組織統計,全球每 3 秒鐘就有 1 人被診斷為癡呆,預計到 2050 年,全球癡呆患者人數將從目前的約 5000 萬激增至 1.52 億…

拋物線法(二次插值法)

拋物線法簡介 拋物線法(Quadratic Interpolation Method)是一種用于一維單峰函數極值搜索的經典優化方法。該方法通過在區間內選取三個不同的點,擬合一條二次拋物線,并求取這條拋物線的極值點作為新的迭代點,從而逐步…

FreeRTOS如何檢測內存泄漏

在嵌入式系統中,內存資源通常非常有限,內存泄漏可能導致系統性能下降甚至崩潰。內存泄漏是指程序分配的內存未被正確釋放,逐漸耗盡可用內存。 FreeRTOS作為一種輕量級實時操作系統(RTOS),廣泛應用于資源受限…

Mockoon 使用教程

文章目錄 一、簡介二、模擬接口1、Get2、Post 一、簡介 1、Mockoon 可以快速模擬API,無需遠程部署,無需帳戶,免費,跨平臺且開源,適合離線環境。 2、支持get、post、put、delete等所有格式。 二、模擬接口 1、Get 左…

如何進行APP安全加固

進行APP安全加固的關鍵在于代碼混淆、加密敏感數據、權限管理、漏洞掃描與修復。其中,代碼混淆能有效阻止逆向工程與篡改攻擊,提升應用的安全防護能力。通過混淆代碼,攻擊者難以輕易理解源代碼邏輯,從而降低被破解或攻擊的風險。 …

【C++】手搓一個STL風格的string容器

C string類的解析式高效實現 GitHub地址 有夢想的電信狗 1. 引言:字符串處理的復雜性 ? 在C標準庫中,string類作為最常用的容器之一,其內部實現復雜度遠超表面認知。本文將通過一個簡易仿照STL的string類的完整實現,揭示其設…

辰鰻科技朱越洋:緊扣時代契機,全力投身能源轉型戰略賽道

國家能源局于4月28日出臺的《關于促進能源領域民營經濟發展若干舉措的通知》(以下簡稱《通知》),是繼2月民營企業座談會后深化能源領域市場化改革的關鍵政策,標志著民營經濟在“雙碳”目標引領下正式進入能源轉型的核心賽道。 自…

Vue實現不同網站之間的Cookie共享功能

前言 最近有小伙伴在聊天室中提到這么一個需求,就是說希望用戶在博客首頁中登錄了之后,可以跳轉到管理系統去發布文章。這個需求的話就涉及到了不同網站之間cookie共享的功能,那么咱們就來試著解決一下這個功能。 實現方式 1. 后端做中轉 …

在一臺服務器上通過 Nginx 配置實現不同子域名訪問靜態文件和后端服務

一、域名解析配置 要實現通過不同子域名訪問靜態文件和后端服務,首先需要進行域名解析。在域名注冊商或 DNS 服務商處,為你的兩個子域名 blog.xxx.com 和 api.xxx.com 配置 A 記錄或 CNAME 記錄。將它們的 A 記錄都指向你服務器的 IP 地址。例如&#x…