Linux 回收站清理与维护技巧
一、先确认回收站位置与类型
二、清理回收站的常用方法
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
rm -rf ~/.Trash/files/*
sudo pacman -S trash-cli;CentOS 7 可用 yum install -y python-setuptools.noarch && easy_install trash-cli;其他发行版可用相应包管理器或源码安装。trash-list # 列出回收站内容
trash-empty # 清空回收站
trash-rm <文件或目录名> # 删除回收站中指定项
trash-restore # 交互式还原到原路径
\rm 执行原生命令。三、自动清理与容量控制
# 安装(示例)
wget https://github.com/bneijt/autotrash/archive/v0.2.1.zip
unzip v0.2.1.zip && cd autotrash-0.2.1
python setup.py install
# 使用
autotrash -d 30 # 当前用户,30天前
autotrash --max-free 1024 -d 30 # 回收站剩余空间小于 1GB 时,清理30天前
# 普通用户
(crontab -l 2>/dev/null; echo "@daily /usr/bin/autotrash -d 7") | crontab -
# root(清理所有用户回收站)
(crontab -l 2>/dev/null; echo "@daily /usr/bin/autotrash -td 7") | crontab -
find ~/.local/share/Trash/files -type f -mtime +30 -delete
#!/usr/bin/env bash
TRASH="$HOME/.local/share/Trash/files"
MAX_MB=100
CUR_MB=$(du -sm "$TRASH" 2>/dev/null | cut -f1)
if [ "$CUR_MB" -gt "$MAX_MB" ]; then
rm -rf "$TRASH"/*
rm -rf "$HOME/.local/share/Trash/info"/*
echo "Trash cleaned: exceeded ${MAX_MB}MB"
fi
0 1 * * * /path/to/clean_trash.sh
# ~/.config/trash.conf
[Trash]
max_size = 100M
四、常见问题与排错
rm -rf 清空,通常无法恢复,请立即停止写入相关分区并寻求专业恢复服务。