回收站的默认存储路径为用户目录下的.local/share/Trash(如普通用户的~/.local/share/Trash,root用户的/root/.local/share/Trash)。通过删除该目录下的files(存储实际文件)和info(存储文件元数据)子目录内容,可彻底释放空间。
rm -rf ~/.local/share/Trash/files/* ~/.local/share/Trash/info/*
sudo提升权限:sudo rm -rf /root/.local/share/Trash/files/* /root/.local/share/Trash/info/*
注意:此操作不可逆,请确认回收站中无需要恢复的文件。
trash-cli是符合FreeDesktop规范的命令行回收站工具,可替代直接使用rm命令,避免文件永久删除。
sudo yum install -y trash-cli
rm):trash /path/to/file_or_directory
trash-list
trash-empty
trash-empty 7
优势:支持恢复、查看回收站详情,且可通过脚本自动化清理。
通过修改用户.bashrc文件,将rm命令重定向为trash(需提前安装trash-cli),避免误删文件直接进入回收站。
vi ~/.bashrc
alias rm='trash'
source ~/.bashrc
此后,使用rm命令删除的文件会自动进入回收站,无需手动调用trash。
通过cron定时任务,定期删除回收站中过期文件(如7天以上),避免长期堆积。
/home/user/clean_trash.sh):#!/bin/bash
find ~/.local/share/Trash/files/ -type f -mtime +7 -exec rm -f {} \;
find ~/.local/share/Trash/info/ -type f -mtime +7 -exec rm -f {} \;
chmod +x /home/user/clean_trash.sh
crontab -e
添加以下行:0 2 * * * /home/user/clean_trash.sh
说明:可根据需求调整+7(7天)为其他时间阈值(如+30表示30天)。
若回收站中文件过多或过大,可使用ncdu(NCurses Disk Usage)工具快速定位占用空间大的文件,针对性清理。
sudo yum install -y ncdu
ncdu ~/.local/share/Trash/files/
d键删除选中文件,按q键退出。若回收站频繁占满且上述方法无法满足需求,可考虑扩展系统存储空间:
lvextend命令扩展卷组空间,再调整文件系统大小。fdisk分区、mkfs格式化,挂载到系统目录(如/home或/mnt/data),并将回收站路径迁移至新磁盘(修改~/.bashrc中的trash别名或/etc/fstab配置)。除回收站外,系统中的临时文件、日志文件、旧内核等也会占用空间,可定期清理:
sudo rm -rf /tmp/* /var/tmp/*
sudo find /var/log/ -type f -name "*.log" -mtime +7 -exec truncate {} --size 0 \;
sudo yum autoremove
sudo package-cleanup --oldkernels --count=1
sudo yum clean all
通过以上方法,可有效解决CentOS回收站占用空间大的问题,同时优化系统磁盘空间管理。操作前请务必备份重要数据,避免误删。