CentOS如何设置recycle
导读:CentOS设置Recycle(回收站)的常见方法 CentOS系统默认未启用图形化回收站功能,但可通过以下方法实现类似效果,保障数据安全: 1. 使用trash-cli工具(推荐,适用于所有文件系统) trash-cli是命令行工具,可将...
CentOS设置Recycle(回收站)的常见方法
CentOS系统默认未启用图形化回收站功能,但可通过以下方法实现类似效果,保障数据安全:
1. 使用trash-cli工具(推荐,适用于所有文件系统)
trash-cli是命令行工具,可将文件移动至回收站而非直接删除,支持设置大小、保留时间等策略。
- 安装工具:通过yum包管理器安装,命令为
sudo yum install trash-cli
。 - 基本使用:
- 删除文件至回收站:
trash /path/to/file_or_directory
(替代原生rm
命令); - 查看回收站内容:
trash-list
; - 清空回收站:
trash-empty
(可指定天数,如trash-empty 7
清理7天前的文件); - 恢复文件:
trash-restore
(按提示选择需恢复的文件)。
- 删除文件至回收站:
- 配置策略:编辑
/etc/trash.conf
(全局)或~/.config/trash.conf
(用户级),调整以下参数:[Trash] trash_dir = ~/.local/share/Trash # 回收站目录(默认路径) trash_max_file_size = 10485760 # 单个文件最大大小(10MB) trash_max_files = 1000 # 回收站最大文件数量 trash_keep_days = 7 # 文件保留天数(7天后自动删除)
2. 针对不同文件系统的内置回收站设置
btrfs文件系统(原生支持)
btrfs支持内置回收站,需通过挂载选项启用:
- 修改/etc/fstab:找到对应分区条目(如
/dev/sda1 /mnt/data btrfs defaults 1 1
),添加discard,subvol=@
选项,改为:
/dev/sda1 /mnt/data btrfs defaults,discard,subvol=@ 1 1
。 - 重新挂载:执行
sudo mount -o remount /mnt/data
使配置生效。 - 管理回收站:
- 查看回收站:
btrfs subvolume list /mnt/data
(回收站通常为@trash
子卷); - 恢复文件:通过
btrfs subvolume find-new
查找并复制文件至原路径; - 清空回收站:
btrfs subvolume delete /mnt/data/@trash
。
- 查看回收站:
ext4/xfs文件系统(无内置回收站)
ext4、xfs等文件系统需依赖第三方工具(如trash-cli)实现回收站功能,配置方法同“1. 使用trash-cli工具”。
3. 自定义回收站脚本(灵活定制)
若需更贴合需求的回收站,可编写脚本实现:
- 创建回收站目录:
mkdir -p ~/.trash
(用户级)或/data/Recycle
(系统级)。 - 编写删除脚本(如
/usr/local/bin/recycle
):#!/bin/bash RECYCLE_DIR="$HOME/.trash" TIMESTAMP=$(date +%s) for item in "$@"; do mv "$item" "$RECYCLE_DIR/$(basename "$item")_$TIMESTAMP" done
- 设置权限与别名:
- 赋予执行权限:
chmod +x /usr/local/bin/recycle
; - 替换原生
rm
命令:编辑~/.bashrc
,添加alias rm='recycle'
,然后执行source ~/.bashrc
。
- 赋予执行权限:
- 扩展功能:可添加定时任务(如
crontab -e
添加0 2 * * * find ~/.trash -type f -mtime +30 -delete
)定期清理30天前的文件。
4. 防止回收站溢出的辅助措施
无论使用哪种方法,均需防范回收站占用过多磁盘空间:
- 定期清理脚本:创建
/usr/local/bin/clean_recycle.sh
,内容如下:#!/bin/bash RECYCLE_BIN="$HOME/.local/share/Trash/files" MAX_SIZE=$((10 * 1024 * 1024)) # 10GB(单位:KB) TOTAL_SIZE=$(du -sk "$RECYCLE_BIN" | awk '{ print $1} ') if [ "$TOTAL_SIZE" -gt "$MAX_SIZE" ]; then find "$RECYCLE_BIN" -type f -delete fi
- 设置定时任务:通过
crontab -e
添加0 3 * * * /usr/local/bin/clean_recycle.sh
,每天凌晨3点执行清理。
以上方法可根据系统环境(如是否使用图形界面)、需求(如是否需要图形化操作)选择使用。其中,trash-cli是最通用且功能完善的解决方案,适用于大多数场景。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS如何设置recycle
本文地址: https://pptw.com/jishu/727277.html