在 CentOS 系统中,没有默认的回收站功能,但你可以使用一些方法来模拟实现这一功能,并对回收站的大小进行限制。以下是几种常见的方法:
trash-cli
trash-cli
是一个命令行工具,可以让你像使用桌面环境的回收站一样管理文件。
安装 trash-cli
你可以使用 yum
来安装:
sudo yum install trash-cli
配置回收站大小
trash-cli
本身没有直接的大小限制选项,但你可以通过监控和手动清理来控制大小。
du -sh ~/.local/share/Trash/files/*
编写一个简单的脚本来自动清理旧文件:
#!/bin/bash
MAX_SIZE=100M # 设置最大大小
TRASH_DIR="$HOME/.local/share/Trash/files"
# 获取当前回收站的总大小
CURRENT_SIZE=$(du -sm "$TRASH_DIR" | cut -f1)
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]; then
# 按修改时间排序并删除最旧的文件
ls -t "$TRASH_DIR" | tail -n +2 | xargs rm -rf
fi
将这个脚本添加到 cron
任务中定期执行:
crontab -e
添加以下行每天凌晨执行一次:
0 0 * * * /path/to/your/script.sh
fstrim
如果你的文件系统支持 TRIM 命令(如 SSD),你可以使用 fstrim
来定期清理未使用的块。
启用 TRIM
编辑 /etc/fstab
文件,为你的文件系统添加 discard
选项:
UUID=your-uuid / ext4 defaults,discard 0 1
定期运行 fstrim
你可以手动运行 fstrim
:
sudo fstrim /
或者将其添加到 cron
任务中定期执行:
crontab -e
添加以下行每周执行一次:
0 0 * * 0 sudo fstrim /
有一些第三方工具可以帮助你更好地管理回收站,例如 trashy
。
安装 trashy
sudo yum install trashy
配置 trashy
trashy
也没有直接的大小限制选项,但你可以通过监控和手动清理来控制大小。
trashy list
编写一个简单的脚本来自动清理旧文件:
#!/bin/bash
MAX_FILES=1000 # 设置最大文件数量
TRASH_DIR="$HOME/.local/share/Trash/files"
# 获取当前回收站中的文件数量
FILE_COUNT=$(ls -1 "$TRASH_DIR" | wc -l)
if [ "$FILE_COUNT" -gt "$MAX_FILES" ]; then
# 按修改时间排序并删除最旧的文件
ls -t "$TRASH_DIR" | tail -n +2 | xargs rm -rf
fi
将这个脚本添加到 cron
任务中定期执行:
crontab -e
添加以下行每天凌晨执行一次:
0 0 * * * /path/to/your/script.sh
通过以上方法,你可以在 CentOS 系统中实现类似回收站的功能,并对其大小进行控制。