centos

CentOS系统中回收站在哪

小樊
39
2025-06-22 13:39:09
栏目: 智能运维

在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 回收站的所有功能,如文件版本控制和自动清理等。如果需要更高级的功能,可能需要考虑使用第三方工具或解决方案。

0
看了该问题的人还看了