列出\data\下每一個資料夾大小

你可以使用 ADB 搭配 du 指令來列出 Android 裝置中 /data/ 目錄下每個資料夾的大小。不過,這通常需要 root 權限,因為 /data/ 是系統保護目錄。

📦 列出 /data/ 下每個資料夾的大小

bash

adb shell su -c "du -h -d 1 /data/"
  • su -c:以 root 權限執行(需裝置已 root)
  • du -h:顯示人類可讀格式(KB、MB、GB)
  • -d 1:只列出第一層資料夾大小(不遞迴)
    範例輸出:
    Code
12M     /data/app
4.0K    /data/anr
1.2G    /data/data
...

🛠️ 如果沒有 root 權限

你可以列出 /sdcard/Android/data/(外部儲存)下的資料夾大小:
bash

adb shell du -h -d 1 /sdcard/Android/data/

這對於分析使用者資料(快取、下載等)很有幫助。

📁 額外:列出 /data/data/ 下每個應用資料夾大小(需 root)

bash

adb shell su -c "du -h -d 1 /data/data/"

這可以幫你找出哪些應用佔用最多空間。
需要我幫你寫一個批次腳本,自動列出並排序資料夾大小嗎?或者你想把結果導出成檔案?
並且依照大小排序
你可以使用以下 ADB 指令來列出 /data/ 下每個資料夾的大小,並依照大小排序。這需要 root 權限

📊 列出 /data/ 下資料夾大小並排序(需 root)

bash


adb shell su -c "du -k -d 1 /data/ | sort -nr"

說明:

  • du -k:以 KB 為單位顯示大小(更容易排序)
  • -d 1:只列出第一層資料夾
  • sort -nr:依照數字大小(KB)由大到小排序

📁 範例輸出:

Code

1256780 /data/data
456000  /data/app
32000   /data/dalvik-cache
4000    /data/anr
...

這樣你就能快速找出哪些資料夾佔用最多空間。

✅ 額外提示:分析 /data/data/(應用資料)

bash


adb shell su -c "du -k -d 1 /data/data/ | sort -nr"

這會列出每個應用的資料目錄大小,例如:
Code

204800  /data/data/com.whatsapp
102400  /data/data/com.facebook.katana
...

如果你想把結果導出成檔案、或自動分析 top N 應用,我可以幫你寫一個完整的 shell script。要不要來個 class-based 版本,順便加上 log 和錯誤處理?

清除暫存檔案與快取資料

在 Android 裝置上,ADB 可以幫你清除暫存檔案(temp files)或模擬的「資源回收桶」內容。雖然 Android 沒有真正的「資源回收桶」,但你可以清除以下幾類暫存與垃圾資料:

🧹 清除暫存檔案與快取資料

1. 清除所有應用的快取(需 root)

bash

adb shell su -c "pm trim-caches 99999999999"
  • 這會嘗試清除所有應用的快取資料。
  • 99999999999 是最大允許空間,代表「盡可能清除」。

2. 清除特定應用的快取

bash

adb shell pm clear <package_name>
  • 例如:
    bash
    adb shell pm clear com.facebook.katana
    
  • 這會清除該應用的快取與使用者資料(等同於「清除資料」)。

🗑️ 清除模擬「資源回收桶」內容

Android 沒有真正的資源回收桶,但某些檔案管理器或相簿 App 會建立類似功能。你可以手動清除這些資料夾:
bash

adb shell rm -rf /sdcard/.Trash/
adb shell rm -rf /sdcard/DCIM/.thumbnails/
adb shell rm -rf /sdcard/Android/data/*/cache/

⚠️ 注意:這些指令會永久刪除檔案,請小心使用。

📁 清除 Download、Temp 類資料夾

bash

adb shell rm -rf /sdcard/Download/*
adb shell rm -rf /sdcard/tmp/*

你也可以加上 find 指令刪除特定副檔名:
bash

adb shell find /sdcard/ -name "*.log" -delete

✅ 建立清理腳本

Also See

File2FileLast Modified
對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎?對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎?8:20 PM - December 06, 2025
AndroidAndroid8:20 PM - December 06, 2025