Linux回收站容量不足的解决方法
回收站中的旧文件是占用空间的主要原因,手动清理可快速释放空间。
rm -rf ~/.local/share/Trash/*(删除当前用户的回收站文件);sudo rm -rf /.local/share/Trash/*(删除系统级回收站文件,需谨慎使用)。通过配置磁盘配额或工具参数,限制回收站的最大容量,避免单次删除大文件导致溢出。
sudo apt install trash-cli / sudo yum install trash-cli),编辑~/.config/trashrc文件,添加以下内容:[Trash]
max-size=1073741824 # 设置回收站最大容量为1GB(单位:字节)
retention-days=30 # 可选:设置文件保留30天后自动删除
保存后,trash-cli会将超过1GB的文件直接删除而非存入回收站。/etc/fstab文件,在对应分区挂载选项中添加usrquota(用户配额),例如:/dev/sda1 / ext4 defaults,usrquota 1 1
重新挂载分区:sudo mount -o remount /;初始化配额数据库:sudo quotacheck -cum /;启动配额服务:sudo quotaon -vug /;为用户设置配额:sudo edquota -u username(在编辑器中修改soft值,如/dev/sda1 10240000表示10GB软限制)。通过脚本定期删除回收站中的旧文件(如7天或30天未访问的文件),避免手动操作。
/usr/local/bin/clear_trash.sh,内容如下(清理7天前的文件):#!/bin/bash
RECYCLE_BIN=~/.local/share/Trash/files
find "$RECYCLE_BIN" -type f -atime +7 -exec rm -f {} \;
find "$RECYCLE_BIN/info" -type f -atime +7 -exec rm -f {} \; # 同时清理info目录(记录删除信息)
赋予执行权限:chmod +x /usr/local/bin/clear_trash.sh。crontab -e,添加以下行(每天凌晨2点执行):0 2 * * * /usr/local/bin/clear_trash.sh
这样系统会自动定期清理回收站中的旧文件。若回收站清理后仍空间不足,需扩展磁盘容量。
GParted工具扩展分区。fdisk/gdisk分区、mkfs格式化,最后挂载到现有目录(如/home)或新增目录(如/data)。将rm命令替换为trash命令,避免文件直接删除,同时通过配置限制回收站容量。
sudo apt install trash-cli(Debian/Ubuntu)或sudo yum install trash-cli(CentOS/RHEL)。~/.bashrc文件,添加以下内容:alias rm='trash' # 将rm命令映射为trash(移动文件到回收站)
alias rl='ls ~/.trash' # 查看回收站内容
alias ur='mv ~/.trash/{} .' # 恢复回收站文件(需手动输入文件名)
运行source ~/.bashrc使配置生效。此后使用rm命令会自动将文件移动到回收站,减少直接删除的风险。