CentOS系统默认未内置图形化回收站功能,但可通过命令行工具(如trash-cli)或自定义脚本实现回收站的容量限制。以下是具体操作步骤:
trash-cli是命令行回收站管理工具,支持通过配置文件限制回收站大小。
sudo yum install trash-cli
/etc/trash.conf
(影响所有用户)或用户级配置文件~/.trashrc
(仅影响当前用户),添加/修改以下参数:[Trash]
trash_files_directory = ~/.local/share/Trash/files # 回收站文件存储路径(默认值)
trash_max_size = 10G # 设置回收站最大容量(如10GB,支持K/M/G单位)
trash_keep_days = 7 # 可选:设置文件保留天数(超过则自动删除)
保存文件后,trash-cli会自动应用配置,后续使用trash
命令删除的文件会受此限制。trash /path/to/file
trash-list
trash-empty
(或trash-empty 3
删除3天前的文件)。若不想安装额外工具,可通过truncate
命令限制回收站目录大小,并通过脚本定期清理。
mkdir -p ~/.local/share/Trash/files
10G
可替换为所需容量):truncate -s 10G ~/.local/share/Trash/files
cleanup_trash.sh
文件,内容如下:#!/bin/bash
TRASH_DIR="$HOME/.local/share/Trash/files"
MAX_SIZE=10G # 与truncate设置的大小一致
# 获取当前回收站大小(单位:KB)
CURRENT_SIZE=$(du -sk "$TRASH_DIR" | awk '{print $1}')
MAX_SIZE_KB=$(numfmt --from=iec "$MAX_SIZE") # 将G转换为KB
# 若超过限制,删除最旧文件
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE_KB" ]; then
OLDEST_FILES=$(ls -t "$TRASH_DIR" | tail -n +$(($CURRENT_SIZE / $(numfmt --from=iec "$MAX_SIZE") + 1)))
for FILE in $OLDEST_FILES; do
rm -rf "$TRASH_DIR/$FILE"
done
fi
赋予脚本执行权限:chmod +x cleanup_trash.sh
,并通过cron定期运行(如每天凌晨0点):crontab -e
添加以下行:0 0 * * * /path/to/cleanup_trash.sh
```。
若使用GNOME桌面环境,可通过gvfs-trash
命令管理回收站,但需修改配置文件调整大小。
sudo yum install gvfs-trash
/etc/gvfs/gvfs.conf
文件,添加以下参数(需根据实际需求调整):[trash]
max-size=10G # 设置回收站最大容量
重启桌面环境(如GNOME)以使更改生效:systemctl restart gdm
使用gvfs-trash
命令删除文件:gvfs-trash /path/to/file
,查看回收站内容:gvfs-trash-list
。~/.trashrc
或~/.config/trash/config
)仅影响当前用户,全局配置(/etc/trash.conf
)影响所有用户。/etc/trash.conf
)需root权限,用户级配置需用户自身权限。通过以上方法,可灵活控制CentOS系统中回收站的存储容量,避免因回收站过大占用过多磁盘空间。