温馨提示×

CentOS中回收站的权限设置

小樊
45
2025-07-31 16:12:50
栏目: 智能运维

在CentOS系统中,回收站功能并非由系统默认提供,但可以通过一些方法手动实现。以下是关于CentOS中回收站权限设置的详细步骤:

创建回收站目录

首先,在当前用户的主目录下创建一个名为 .trash 的目录,用于存放删除的文件和文件夹。

mkdir -p ~/.local/share/Trash/files 

修改 rm 命令

为了使 rm 命令将文件移动到回收站而不是直接删除,可以创建一个自定义的 rm 命令。

  1. 创建一个名为 remove.sh 的脚本文件:
#!/bin/bash TRASH_DIR="$HOME/.local/share/Trash/files" for item in "$@" do stampdate=$(date +%s) fileName=$(basename "$item") mv "$item" "$TRASH_DIR/$fileName.$stamp" done 
  1. 将该脚本文件复制到 /bin 目录下,并命名为 rm
cp remove.sh /bin/rm 
  1. 赋予 rm 脚本执行权限:
chmod +x /bin/rm 

编辑环境变量文件

编辑 root 用户的环境变量文件 .bashrc

vi /root/.bashrc 

在文件的末尾添加以下内容:

# 定义回收站相关命令 alias rmtrash='mv -i /root/.trash/@ ./' alias rtrash='ls /root/.trash/' alias rl='ls /root/.trash/' alias urundelfile='undelfile()' undelfile() { mv -i /root/.trash/@ ./ } trash() { mv @ /root/.trash/ } cleartrash() { read -p "确定要清空回收站?(y/n)" if [ "$REPLY" == "y" ]; then /bin/rm -rf /root/.trash/* fi } 

重新加载环境变量

运行以下命令使更改生效:

source /root/.bashrc 

设置定时任务清理回收站

为了自动清理回收站中的文件,可以设置一个定时任务。

使用 crontab -e 编辑定时任务:

crontab -e 

添加以下行以每天清理一次回收站:

0 0 * * * /bin/rm -rf $HOME/.local/share/Trash/files/* 

这行命令会在每天午夜删除回收站中的所有内容。

注意事项

  1. 使用 rm -rf 命令时要格外小心,因为它会递归地删除指定目录及其所有内容,并且不会移动文件到回收站。
  2. 通过上述方法设置的回收站功能类似于Windows系统,可以有效防止因误操作而删除重要数据。

以上步骤可以帮助您在CentOS系统中设置回收站功能,并管理其权限。

0