CentOS 系统本身并没有自带的回收站功能,但可以通过一些方法来模拟回收站的功能,以便在删除文件时能够恢复。以下是几种常见的方法:
使用别名和目录实现回收站功能
-
创建回收站目录:在用户的主目录下创建一个名为
.trash
的隐藏目录,用于存放删除的文件和文件夹。mkdir -p ~/.trash
-
编辑
.bashrc
文件:通过修改用户的.bashrc
文件,为rm
命令添加别名,使其将删除的文件移动到.trash
目录中。vi ~/.bashrc
在文件末尾添加以下内容:
alias rm='mv @~/.trash/@' alias rl='ls -la ~/.trash' alias ur='undelfile' undelfile() { mv -i ~/.trash/@ ./; } trash() { mv @~/.trash/ @; } cleartrash() { read -p "Clear sure? [y/n]" confirm; if [ "$confirm" == "y" ]; then /bin/rm -rf ~/.trash/*; fi; }
-
重新加载环境变量:保存并退出编辑器后,运行以下命令使更改生效。
source ~/.bashrc
使用脚本实现回收站功能
-
创建回收站脚本:编写一个脚本
remove.sh
,用于将删除的文件移动到指定的回收站目录,并添加上时间戳以防止文件被覆盖。#!/usr/bin/ksh TRASH_DIR="/dev/.trash" for i in *; do stampdate %s "$i" mv "$i" "$TRASH_DIR/$i.stamp" done
-
设置脚本权限:为脚本添加执行权限。
chmod 777 /dev/.trash
-
设置别名:在
/etc/profile
或用户特定的配置文件中为rm
命令添加别名,指向remove.sh
脚本。echo "alias rm='/bin/remove.sh'" >> /etc/profile
-
使配置生效:重新加载配置文件使更改生效。
source /etc/profile
使用第三方工具实现回收站功能
- OceanBase 数据库回收站:OceanBase 数据库提供了一个回收站功能,用于存放已删除的数据库对象信息。可以通过修改配置文件来开启回收站,并设置定期清空回收站的时间周期。
set global recyclebin = on;
请注意,这些方法并不是 CentOS 系统自带的回收站功能,而是通过脚本和别名模拟实现的。在使用这些方法时,请确保了解其工作原理,并在生产环境中谨慎使用。