CentOS系统回收站设置教程
导读:CentOS 系统回收站设置教程 一 方案总览与选择 trash-cli 方案:命令行回收站工具,遵循 XDG 规范,文件进入 ~/.local/share/Trash/files,配套命令丰富(如 trash、trash-list、tr...
CentOS 系统回收站设置教程
一 方案总览与选择
- trash-cli 方案:命令行回收站工具,遵循 XDG 规范,文件进入 ~/.local/share/Trash/files,配套命令丰富(如 trash、trash-list、trash-empty),适合服务器与桌面环境。
- 自定义别名与脚本方案:通过 ~/.bashrc 定义 alias rm=trash 与回收站函数,简单可控,适合最小依赖与个性化需求。
- GNOME 桌面方案:在 GNOME 环境下可直接使用 gvfs-trash,与桌面回收站集成,适合带图形界面的 CentOS Workstation。
以上方案可按环境选择或组合使用,下文给出可直接复制的配置步骤。
二 方案一 使用 trash-cli 实现命令行回收站
- 安装与验证
- 安装:sudo yum install -y trash-cli
- 验证:trash --version
- 基本用法
- 删除到回收站:trash /path/to/file_or_dir
- 查看回收站:trash-list
- 按文件删除:trash-rm *.log
- 清空回收站:trash-empty(可加 –days 7 仅清空超过 7 天的条目)
- 配置要点
- 回收站目录遵循 XDG:默认 ~/.local/share/Trash/files 与 ~/.local/share/Trash/info;如需自定义,可在用户级配置 ~/.config/trash/config 中设置 path = /your/trash/dir(不同发行版/版本对配置项支持存在差异,建议先测试)。
- 保留策略:trash-empty 支持 –days 按时间清理;若需按容量限制,建议结合 cron 定期清理最旧文件(见下文脚本示例)。
该方案轻量、跨环境一致,适合服务器与桌面用户长期使用。
三 方案二 自定义别名与脚本实现回收站
- 创建回收站目录与权限
- mkdir -p ~/.trash
- chmod 700 ~/.trash
- 配置 ~/.bashrc(或 ~/.zshrc)
- 追加以下内容并 source 使其生效:
mkdir -p ~/.trash
alias rm=trash
alias rl=‘ls ~/.trash’
alias ur=undelfile
undelfile() { mv -i ~/.trash/“$@” ./ ; }
trash() {
for f in “$@”; do
[ -e “$f” ] || { echo “‘$f’ 不存在”; continue; }
ts=$(date +%Y%m%d%H%M%S)
mv -i “$f” ~/.trash/“$(basename “$f”)-$ts”
done
}
cleartrash() {
read -p "确定清空回收站吗?(y/N) " c; [[ “$c” =~ ^[Yy]$ ]] & & /bin/rm -rf ~/.trash/*
}
- 追加以下内容并 source 使其生效:
- 使用与注意
- 删除:rm file1 dir1(实际移动到 ~/.trash 并加时间戳防重名)
- 查看:rl;恢复:ur 文件名;清空:cleartrash
- 绕过别名:使用绝对路径 /bin/rm 将直接删除,请谨慎执行。
该方案依赖最小、可完全自定义,适合对回收站行为有特殊要求的场景。
四 自动清理与多用户配置
- 自动清理过期文件(示例:保留 30 天)
- 创建清理脚本 ~/bin/clear_trash.sh:
#!/bin/bash
TRASH_DIR=“$HOME/.trash”
find “$TRASH_DIR” -mindepth 1 -mtime +30 -delete
echo “Trash cleaned up.” - 赋权并加入 cron(每天 0:00 执行):
chmod +x ~/bin/clear_trash.sh
(crontab -l 2> /dev/null; echo “0 0 * * * $HOME/bin/clear_trash.sh”) | crontab -
- 创建清理脚本 ~/bin/clear_trash.sh:
- 多用户统一启用
- 如需为所有用户启用,可在 /etc/profile.d/trash.sh 中写入与上文类似的别名与函数,系统登录时自动加载;回收站目录建议放在各用户 $HOME/.trash 下并注意权限 700。
以上做法可控制磁盘占用并降低误删风险,适合长期运行的服务器。
- 如需为所有用户启用,可在 /etc/profile.d/trash.sh 中写入与上文类似的别名与函数,系统登录时自动加载;回收站目录建议放在各用户 $HOME/.trash 下并注意权限 700。
五 常见问题与注意事项
- 绕过回收站的风险:使用 /bin/rm 或 command rm 会直接删除;脚本/程序内调用 rm 也可能绕过别名,生产环境建议统一规范删除入口或在关键脚本中显式使用 /bin/rm -i。
- 回收站位置与权限:自定义目录需确保用户对回收站与其父目录具备读写执行权限;多用户环境避免共享同一回收站目录。
- 图形界面与命令行差异:gvfs-trash 仅在 GNOME 桌面有效;服务器无图形界面时请优先使用 trash-cli 或自定义脚本。
- 谨慎清空:清空操作不可逆,建议先 trash-list 核对,再 cleartrash 或 trash-empty。
以上要点有助于避免误删与权限问题,提升回收站机制的可靠性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS系统回收站设置教程
本文地址: https://pptw.com/jishu/776962.html
