CentOS系统回收站功能的实现与使用指南
CentOS作为Linux发行版,默认没有内置图形化回收站功能,但可通过工具安装或自定义脚本模拟类似Windows的回收站机制,实现文件删除后的临时存储与恢复。以下是具体实现方法及使用步骤:
trash-cli是一款开源命令行工具,可将删除的文件移动到系统级回收站目录(~/.local/share/Trash),支持查看、恢复和清空操作。
通过yum包管理器安装(需联网):
sudo yum install -y trash-cli
rm命令):trash /path/to/file_or_directory
示例:trash /home/user/test.txttrash-list
输出结果包含文件名、删除时间、大小等信息。restore-trash /path/to/original/directory
示例:restore-trash /home/user/(将回收站文件恢复至原目录)。trash-empty
可选参数:trash-empty 7(删除7天前的文件)。编辑配置文件/etc/trash.conf,调整以下参数:
[Trash]
trash_max_file_size = 10485760 # 单个文件最大10MB(单位:字节)
trash_max_files = 1000 # 最多存储1000个文件
trash_keep_days = 7 # 文件保留7天
通过Shell脚本重定义rm命令,将文件移动到用户自定义的回收站目录(如~/.local/share/Trash/files)。
mkdir -p ~/.local/share/Trash/{files,info}
/usr/local/bin/trash.sh)#!/bin/bash
TRASH_DIR="$HOME/.local/share/Trash/files"
if [ ! -d "$TRASH_DIR" ]; then
mkdir -p "$TRASH_DIR"
fi
for FILE in "$@"; do
if [ -e "$FILE" ]; then
TIMESTAMP=$(date +%Y%m%d%H%M%S)
BASENAME=$(basename "$FILE")
NEW_NAME="${BASENAME}_$TIMESTAMP"
mv "$FILE" "$TRASH_DIR/$NEW_NAME"
else
echo "'$FILE' does not exist!"
fi
done
赋予执行权限:
chmod +x /usr/local/bin/trash.sh
rm命令编辑用户环境变量文件(如~/.bashrc),添加别名:
alias rm='/usr/local/bin/trash.sh'
alias rlist='ls -la ~/.local/share/Trash/files' # 查看回收站
alias recover='mv ~/.local/share/Trash/files/@ ./' # 恢复文件(需手动指定文件名)
alias cleartrash='read -p "确认清空回收站?(y/n)" && [[ $REPLY == y ]] && rm -rf ~/.local/share/Trash/files/*' # 清空回收站
使配置生效:
source ~/.bashrc
rm /path/to/file(文件将移动到~/.local/share/Trash/files)。rlist。recover filename(需指定原文件名)。cleartrash(需确认)。若使用CentOS的图形桌面(如CentOS 7 GNOME),可通过文件管理器(Nautilus)直接管理回收站:
Delete键,或右键选择“移动到回收站”。~/.local/share/Trash属于当前用户)。~/.local/share/Trash)与用户自定义目录互不冲突,可根据需求选择。通过以上方法,CentOS用户可实现类似Windows的回收站功能,有效降低误删风险。