溫馨提示×

ubuntu清理大文件的實用工具推薦

小樊
49
2025-08-04 08:03:24
欄目: 智能運維

在Ubuntu系統中,可以使用多種工具來清理大文件,以下是一些推薦的工具及其使用方法:

1. find 命令

find 命令是Linux系統中非常強大的文件查找工具,可以用來查找大文件。例如,要查找當前目錄及其子目錄中大于100MB的文件,可以使用以下命令:

find / -type f -size +100M -exec ls -lh {} \;

要按文件大小排序結果,可以使用 sort 命令:

find . -type f -size +100M -exec ls -lh {} \; | sort -rh -k5

要刪除特定大小的文件,可以使用 find 命令結合 -delete 選項:

find . -type f -size +100M -delete

2. Ubuntu Cleaner

Ubuntu Cleaner 是一個圖形界面的系統清理工具,可以掃描并清理系統中的臨時文件、緩存文件、無效的軟件包和其他無用的文件。

  • 安裝步驟

    1. 打開終端。
    2. 運行以下命令以添加Ubuntu Cleaner的官方軟件源:
      sudo add-apt-repository ppa:gerardpuig/ppa
      
    3. 輸入管理員密碼以確認添加軟件源。
    4. 運行以下命令以更新軟件包列表:
      sudo apt update
      
    5. 運行以下命令以安裝Ubuntu Cleaner:
      sudo apt install ubuntu-cleaner
      
  • 使用方法

    1. 打開Ubuntu Cleaner。
    2. 在應用程序菜單中找到它,通常位于"系統工具"或"實用工具"類別下。
    3. 點擊相應的選項以查看詳細的文件類型。
    4. 在每個選項下,選擇要清理的文件類型。
    5. 點擊界面底部的"清理"按鈕進行清理。

3. BleachBit

BleachBit 是一個跨平臺的系統清理工具,支持清理緩存、cookies、日志文件等,支持多種應用程序。

  • 安裝步驟

    1. 打開終端。
    2. 運行以下命令以安裝BleachBit:
      sudo apt get install bleachbit
      
  • 使用方法: 可以通過軟件中心或命令行安裝。

4. dusort 命令

dusort 命令可以用來查看和排序文件和目錄的大小。例如,要查看根目錄下各個目錄的大小,并按照大小降序排列,可以使用以下命令:

sudo du -h --max-depth=1 / | sort -hr

5. 腳本自動化

可以編寫一個Shell腳本來自動化清理大文件的過程。以下是一個示例腳本:

#!/bin/bash
# 定義日志文件路徑
LOG_FILE="/var/log/cleanup_disk.log"
# 記錄開始時間
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 開始執行磁盤清理腳本" >> "$LOG_FILE"
# 1. 清理 APT 緩存(適用于 Debian/Ubuntu 系統)
if command -v apt-get &> /dev/null; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在清理 APT 緩存..." >> "$LOG_FILE"
    sudo apt-get clean >> "$LOG_FILE" 2>&1
fi
# 2. 清理 YUM 緩存(適用于 CentOS/RHEL 系統)
if command -v yum &> /dev/null; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在清理 YUM 緩存..." >> "$LOG_FILE"
    sudo yum clean all >> "$LOG_FILE" 2>&1
fi
# 3. 清理 Docker 無用鏡像和容器(參考引用[4])
if command -v docker &> /dev/null; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在清理 Docker 無用鏡像和容器..." >> "$LOG_FILE"
    sudo docker system prune -af >> "$LOG_FILE" 2>&1
fi
# 4. 刪除舊的日志文件(保留最近7天的日志)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在刪除超過7天的日志文件..." >> "$LOG_FILE"
sudo find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \; >> "$LOG_FILE" 2>&1
# 5. 清理臨時文件(如 /tmp 和 /var/tmp 中超過24小時的文件)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在清理臨時文件..." >> "$LOG_FILE"
sudo find /tmp /var/tmp -type f -mtime +1 -exec rm -f {} \; >> "$LOG_FILE" 2>&1
# 6. 清理用戶緩存(針對當前用戶的 .cache 目錄)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 正在清理用戶緩存..." >> "$LOG_FILE"
find "$HOME/.cache" -type f -mtime +7 -exec rm -f {} \; >> "$LOG_FILE" 2>&1
# 7. 查看清理后的磁盤使用情況
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 清理完成,當前磁盤使用情況:" >> "$LOG_FILE"
df -h >> "$LOG_FILE" 2>&1
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 磁盤清理腳本執行完畢" >> "$LOG_FILE"

在使用這些工具時,建議用戶根據自己的具體需求選擇合適的工具,并在進行任何系統清理操作之前備份重要數據,以防意外數據丟失。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女