在 Linux 系统中,回收站功能并非内置,但可以通过一些方法实现类似功能,并且可以迁移到新的位置。以下是一些常见的方法:
trash 脚本实现回收站功能编写 trash 脚本:
trash 的 Shell 脚本,替代系统默认的 rm 命令。#!/bin/bash
TRASH_DIR="$HOME/.trash"
if [ ! -d "$TRASH_DIR" ]; then
mkdir -p "$TRASH_DIR"
fi
if [ $# -eq 0 ]; then
echo "Usage: $0 file_or_directory"
exit 1
fi
for FILE in "$@"; do
if [ -e "$FILE" ]; then
TIMESTAMP=$(date +%Y%m%d%H%M%S)
BASENAME=$(basename "$FILE")
NEW_NAME="$BASENAME-$TIMESTAMP"
mv "$FILE" "$TRASH_DIR/$NEW_NAME"
else
echo "'$FILE' does not exist!"
fi
done
赋予脚本可执行权限:
chmod +x ~/bin/trash.sh
替换系统默认的 rm 命令:
~/.bashrc 或 ~/.zshrc 文件,添加以下内容:alias rm='~/bin/trash.sh'
更新终端配置:
source ~/.bashrc
备份现有回收站目录:
cp -r ~/.local/share/Trash ~/.local/share/Trash_backup
创建新的回收站目录:
/new/path/.trash。mkdir -p /new/path/.trash
修改 trash 脚本中的回收站路径:
trash 脚本,将 TRASH_DIR 变量的值修改为新的回收站路径。TRASH_DIR="/new/path/.trash"
更新 crontab 自动化任务(如果需要):
crontab 中的任务,使其指向新的回收站目录。(crontab -l ; echo "0 0 * * * ~/bin/clean_trash.sh") | crontab -
trash-cli 命令行工具安装 trash-cli:
sudo apt-get install trash-cli -y
使用 trash-cli 迁移回收站:
trash-put 命令将文件移动到新的回收站目录。trash-put /path/to/deleted/files
配置 trash-cli 使用新的回收站目录:
~/.config/trash/config.json 文件,修改回收站路径。{
"repository": "/new/path/.trash"
}
通过以上步骤,您可以在 Linux 系统中实现回收站功能,并将其迁移到新的位置。这种方法不仅提高了误删文件的恢复能力,还能有效管理磁盘空间。