在CentOS系統中,回收站功能并非由系統默認提供,但可以通過一些方法手動實現。以下是一些創建和使用CentOS回收站的步驟,以及優化其性能的建議。
首先,在根目錄下創建一個用于存放刪除文件的目錄:
mkdir -p /root/.trash
.bashrc
文件接下來,編輯 root 用戶的環境變量文件 .bashrc
:
vi /root/.bashrc
在文件的末尾添加以下內容:
# 定義回收站相關命令
alias rmtrash='mv -i /root/.trash/@ ./'
alias rtrash='ls /root/.trash/'
alias rl='ls /root/.trash/'
alias urundelfile='undelfile()'
undelfile() {
mv -i /root/.trash/@ ./
}
trash() {
mv @ /root/.trash/
}
cleartrash() {
read -p "確定要清空回收站?(y/n)"
if [ "$REPLY" == "y" ]; then
/bin/rm -rf /root/.trash/*
fi
}
保存并退出編輯器。重新加載環境變量以使更改生效:
source /root/.bashrc
trash-cli
工具trash-cli
是一個命令行工具,可以讓你像在圖形化桌面環境中一樣使用回收站。
trash-cli
如果尚未安裝,請執行以下命令:
sudo yum install trash-cli
trash-cli
管理回收站trash-empty
trash-list
你可以使用 inotify
和 rsync
等工具來監控文件刪除操作,并將刪除的文件移動到一個特定的目錄中。
mkdir -p /.local/share/Trash/files
mkdir -p /.local/share/Trash/info
trash.sh
#!/bin/bash
TRASH_DIR="/root/.local/share/Trash/files"
INFO_DIR="/root/.local/share/Trash/info"
# 創建回收站目錄(如果不存在)
mkdir -p "$TRASH_DIR" "$INFO_DIR"
# 監控刪除操作
inotifywait -m -r --format '%w%f' --event delete '.' |
while read FILE; do
# 獲取文件的相對路徑
RELATIVE_PATH="$(realpath --relative-to="$INFO_DIR" "$FILE")"
# 創建回收站中的目錄結構
mkdir -p "$TRASH_DIR/$RELATIVE_PATH"
# 移動文件到回收站
mv "$FILE" "$TRASH_DIR/$RELATIVE_PATH"
# 創建一個.info文件
echo "$RELATIVE_PATH" > "$INFO_DIR/${FILE##*/}.info"
done
賦予腳本執行權限:
chmod +x trash.sh
運行腳本:
./trash.sh /path/to/directory
gvfs-trash
(適用于GNOME桌面環境)如果你使用的是GNOME桌面環境,可以使用 gvfs-trash
來管理回收站。
gvfs-trash
sudo yum install gvfs-trash
gvfs-trash
管理回收站gvfs-trash /path/to/file
gvfs-empty-trash
gvfs-list-recycle-bin
nautilus-scripts
(適用于Nautilus文件管理器)如果你使用的是Nautilus文件管理器,可以安裝并配置 nautilus-scripts
來添加自定義的回收站功能。
nautilus-scripts
sudo yum install nautilus-scripts
trash.sh
#!/bin/bash
for FILE in "$@"
do
mv "$FILE" "/root/.local/share/Trash/files/"
done
賦予腳本執行權限:
chmod +x trash.sh
將腳本添加到Nautilus腳本菜單:
trash.sh
腳本。通過以上方法,你可以在CentOS系統中實現類似圖形化桌面環境的回收站功能。選擇適合你需求的方法進行配置即可。