温馨提示×

Ubuntu回收站大小能改吗

小樊
52
2026-01-08 09:10:54
栏目: 智能运维

结论与原理Ubuntu/GNOME 等常见桌面环境中,回收站没有统一的系统级“容量上限”开关。每个用户的回收站位于其家目录的 ~/.local/share/Trash/files~/.local/share/Trash/info,其可用空间受所在磁盘分区剩余空间限制。部分桌面环境(如 GNOME、KDE)在设置或文件管理器首选项中提供回收站/存储相关项(例如最大容量或自动清理),不同版本与发行版的可选项名称与位置可能不同;若未找到图形选项,可通过命令行工具或配额机制间接控制占用。

可行方案

  • 图形界面设置(若可用)

    • GNOME 文件管理器(Nautilus) 中:打开“文件”→右上角菜单→首选项行为,可勾选“删除文件时将其移动到回收站”、是否显示删除确认等;部分版本/桌面环境还提供回收站的最大大小自动清理选项。
    • KDE Plasma:系统设置→存储管理器回收站,可配置最大容量与自动清理策略。
    • 若你的系统未显示容量上限选项,请参考下述命令行或配额方案。
  • 命令行与脚本控制(推荐)

    • 安装命令行回收站工具 trash-cli:sudo apt-get install trash-cli
    • 常用命令:trash-list(查看)、trash-restore(恢复)、trash-empty(清空)
    • 按时间清理(示例:删除 7 天前 的内容)
      #!/usr/bin/env bash
      TRASH="$HOME/.local/share/Trash"
      find "$TRASH/files" -type f -atime +7 -delete
      find "$TRASH/info"  -type f -atime +7 -delete
      
    • 按容量清理(示例:超过 100MB 删除最旧文件)
      #!/usr/bin/env bash
      TRASH="$HOME/.local/share/Trash"
      MAX=104857600  # 100MB
      size=$(du -sb "$TRASH/files" 2>/dev/null | awk '{print $1}')
      if [ "$size" -gt "$MAX" ]; then
        find "$TRASH/files" -type f -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | head -n 1 | xargs rm -f
      fi
      
    • 赋权并加入定时任务(每天 02:00 执行):
      chmod +x ~/clean_trash.sh
      crontab -e
      0 2 * * * /home/你的用户名/clean_trash.sh
      
    • 提示:按容量清理时,通常只删除 files 中的文件;如需更严谨,可同步清理 info 中对应条目或记录日志。
  • 用磁盘配额限制用户最大占用(系统级“硬上限”)

    • 适用场景:需要对某个用户(或用户组)在整个分区上的可用空间做硬限制,从而自然限制其回收站大小。
    • 简要步骤(以 ext4 为例):
      sudo apt-get install quota
      # 编辑 /etc/fstab,为目标分区添加 usrquota,grpquota(示例为对根分区)
      # /dev/sda1 / ext4 defaults,usrquota,grpquota 1 1
      sudo mount -o remount /
      sudo quotacheck -cum /
      sudo quotaon -vug /
      sudo edquota -u username   # 设置 blocks/inodes 的软/硬限制
      
    • 说明:配额是对用户可用空间的整体限制,回收站只是其中的一部分;当配额用尽时,删除到回收站的操作也会失败,从而“倒逼”控制回收站体积。

快速排查与常用命令

  • 查看回收站占用:du -sh ~/.local/share/Trash
  • 查看分区剩余空间:df -h
  • 图形界面快速清空:在文件管理器中右键“回收站”→“清空回收站”
  • 命令行清空:trash-empty;或 rm -rf ~/.local/share/Trash/files/* 与 rm -rf ~/.local/share/Trash/info/*
  • 可视化分析:baobab(磁盘占用分析器)

0