Linux回收站文件夹大小限制的设置方法
Linux系统中,回收站(通常位于~/.local/share/Trash/files)的大小限制并非系统原生支持的功能,需通过配置文件、桌面环境设置或第三方工具实现。以下是具体方法:
部分桌面环境提供了回收站大小限制的图形化配置选项:
trash-cli)管理。trash-cli是常用的命令行回收站管理工具,可通过配置文件或脚本限制大小:
sudo apt-get install trash-clisudo yum install trash-clisudo dnf install trash-cli~/.config/trash.conf文件,添加以下内容:[Trash]
max_size = 10G # 设置回收站最大容量为10GB(支持K/M/G单位)
保存后,trash-cli会自动清理超过限制的旧文件。磁盘配额可强制限制用户回收站占用的磁盘空间,适用于多用户系统:
sudo apt-get install quotasudo yum install quota/etc/fstab文件,在目标分区(如/home)挂载选项中添加usrquota:/dev/sda1 /home ext4 defaults,usrquota 1 2
保存后重新挂载分区:sudo mount -o remount /home。sudo quotacheck -cum /home生成配额数据库。sudo quotaon -vug /home。sudo edquota -u username命令编辑用户配额,设置soft(软限制,如5GB)和hard(硬限制,如10GB)值。通过编写脚本定期检查回收站大小,并在超过阈值时清理旧文件:
cleanup_trash.sh):#!/bin/bash
TRASH_DIR="$HOME/.local/share/Trash/files"
MAX_SIZE=$((10 * 1024 * 1024)) # 10MB(单位:字节)
CURRENT_SIZE=$(du -sb "$TRASH_DIR" | awk '{print $1}')
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]; then
# 删除最旧的文件(保留最新的10个)
find "$TRASH_DIR" -type f -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | head -n -10 | xargs rm -rf
echo "$(date): 回收站已清理(超过${MAX_SIZE}字节)" >> ~/trash_cleanup.log
fi
chmod +x cleanup_trash.sh。crontab -e,添加以下行(每天凌晨2点执行):0 2 * * * /path/to/cleanup_trash.sh