在 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 系统中实现回收站功能,并将其迁移到新的位置。这种方法不仅提高了误删文件的恢复能力,还能有效管理磁盘空间。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: linux如何获取当前系统日期