在 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 系統中實現回收站功能,并將其遷移到新的位置。這種方法不僅提高了誤刪文件的恢復能力,還能有效管理磁盤空間。