在CentOS系统中,回收站(Trash)的主要作用是暂存用户删除的文件和目录,以便用户在后悔删除操作时能够恢复这些文件。虽然Linux系统本身没有像Windows那样的内置回收站功能,但可以通过一些方法在CentOS上实现类似的功能。以下是几种常见的方法:
在用户的主目录下创建一个名为 .trash
的隐藏目录,用于存放删除的文件和文件夹。
mkdir -p ~/.local/share/Trash/files
mkdir -p ~/.local/share/Trash/info
.bashrc
文件通过修改用户的 .bashrc
文件,为 rm
命令添加别名,使其将删除的文件移动到 .trash
目录中。
vi ~/.bashrc
在文件末尾添加以下内容:
alias rm='mv -i ~/.local/share/Trash/files/@ ./'
alias rl='ls -la ~/.local/share/Trash/files/'
alias ur='undelfile'
undelfile() { mv -i ~/.local/share/Trash/files/@ ./ }
trash() { mv @ ~/.local/share/Trash/files/ }
cleartrash() { read -p "确定要清空回收站?(y/n)" ; if [ "$REPLY" == "y" ]; then rm -rf ~/.local/share/Trash/files/* ; fi ; }
重新加载环境变量:
source ~/.bashrc
创建一个名为 remove.sh
的脚本,用于将删除的文件移动到指定的回收站目录,并添加上时间戳以防止文件被覆盖。
#!/bin/bash
TRASH_DIR="/root/.local/share/Trash/files"
for FILE in "$@" ; do
if [ -e "$FILE" ]; then
TIMESTAMP=$(date +%s%N)
BASENAME=$(basename "$FILE")
NEW_NAME="${BASENAME}_${TIMESTAMP}"
mv "$FILE" "$TRASH_DIR/$NEW_NAME"
else
echo "'$FILE' does not exist!"
fi
done
设置脚本权限:
chmod 777 /root/remove.sh
设置别名:
在 /etc/profile
或用户特定的配置文件中为 rm
命令添加别名,指向 remove.sh
脚本。
echo "alias rm='/root/remove.sh'" >> /etc/profile
使配置生效:
source /etc/profile
如果你使用的是带有图形界面的 CentOS 版本(例如 CentOS 7 的 GNOME 桌面环境),你可以通过文件管理器来管理回收站。在文件管理器中,你可以像在 Windows 或 macOS 中一样查看、恢复和清空回收站。
请注意,手动创建的回收站功能相对简单,可能不具备 Windows 回收站的所有功能,如文件版本控制和自动清理等。如果需要更高级的功能,可能需要考虑使用第三方工具或解决方案。