centos

CentOS如何使用回收站

小樊
46
2025-11-03 18:24:11
栏目: 智能运维

CentOS系统回收站使用指南(手动实现与工具推荐)
CentOS默认未内置图形化回收站功能,但可通过命令行工具自定义脚本模拟回收站行为,实现文件的安全删除与恢复。以下是具体方法:

一、使用trash-cli工具(推荐,支持命令行与图形界面)

1. 安装trash-cli
通过yum包管理器安装,适用于大多数CentOS版本:

sudo yum install trash-cli -y

2. 基本使用命令

3. 配置回收站参数(可选)
编辑/etc/trash.conf调整回收站大小、保留时间等:

sudo vi /etc/trash.conf

修改以下参数(单位:字节,trash_keep_days为保留天数):

[Trash]
trash_max_file_size = 10485760  # 单个文件最大10MB
trash_keep_days = 7             # 文件保留7天

二、使用gvfs-trash(适用于GNOME桌面环境)

若使用GNOME桌面(如CentOS默认桌面),gvfs-trash可集成图形界面与回收站功能。

1. 安装gvfs-trash

sudo yum install gvfs-trash -y

2. 基本使用命令

3. 注意事项

三、自定义回收站脚本(灵活定制)

通过Shell脚本实现回收站功能,适合需要高度自定义的场景。

1. 创建回收站目录
在用户主目录下创建隐藏目录:

mkdir -p ~/.local/share/Trash/{files,info}

2. 编写回收脚本(如~/bin/trash.sh

#!/bin/bash
TRASH_DIR="$HOME/.local/share/Trash/files"
INFO_DIR="$HOME/.local/share/Trash/info"

# 确保目录存在
[ ! -d "$TRASH_DIR" ] && mkdir -p "$TRASH_DIR"
[ ! -d "$INFO_DIR" ] && mkdir -p "$INFO_DIR"

# 移动文件至回收站并添加时间戳
for item in "$@"; do
  if [ -e "$item" ]; then
    timestamp=$(date +%s)
    filename=$(basename "$item")
    newname="${filename}-${timestamp}"
    mv "$item" "$TRASH_DIR/$newname"
    # 可选:记录删除信息到info目录
    echo "Path: $item\nDeletionTime: $(date)\n" > "$INFO_DIR/${newname}.trashinfo"
  else
    echo "'$item' does not exist!" >&2
  fi
done

赋予执行权限:

chmod +x ~/bin/trash.sh

3. 替换默认rm命令
编辑~/.bashrc,将rm指向自定义脚本:

alias rm='~/bin/trash.sh'

重新加载配置:

source ~/.bashrc

此后使用rm命令将自动调用回收脚本。

4. 自动清理回收站(可选)
创建清理脚本(如~/bin/clean_trash.sh):

#!/bin/bash
find ~/.local/share/Trash/files -type f -mtime +30 -exec rm -f {} \;
find ~/.local/share/Trash/info -type f -mtime +30 -exec rm -f {} \;
echo "Recycle bin cleaned (30 days old files)."

添加到crontab每日执行:

crontab -e

添加以下行:

0 0 * * * ~/bin/clean_trash.sh

四、注意事项

通过以上方法,可在CentOS系统中实现类似Windows的回收站功能,有效降低误删风险。根据使用场景(命令行/图形界面、自定义需求)选择合适的方式即可。

0
看了该问题的人还看了