溫馨提示×

Linux回收站如何遷移

小樊
43
2025-03-31 11:57:24
欄目: 智能運維

在 Linux 系統中,回收站功能并非內置,但可以通過一些方法實現類似功能,并且可以遷移到新的位置。以下是一些常見的方法:

使用 trash 腳本實現回收站功能

  1. 編寫 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
    
  2. 賦予腳本可執行權限

    chmod +x ~/bin/trash.sh
    
  3. 替換系統默認的 rm 命令

    • 編輯 ~/.bashrc~/.zshrc 文件,添加以下內容:
    alias rm='~/bin/trash.sh'
    
  4. 更新終端配置

    source ~/.bashrc
    

遷移回收站目錄

  1. 備份現有回收站目錄

    • 在遷移之前,建議備份現有的回收站目錄,以防萬一。
    cp -r ~/.local/share/Trash ~/.local/share/Trash_backup
    
  2. 創建新的回收站目錄

    • 在新的位置創建一個新的回收站目錄,例如 /new/path/.trash。
    mkdir -p /new/path/.trash
    
  3. 修改 trash 腳本中的回收站路徑

    • 編輯 trash 腳本,將 TRASH_DIR 變量的值修改為新的回收站路徑。
    TRASH_DIR="/new/path/.trash"
    
  4. 更新 crontab 自動化任務(如果需要):

    • 修改 crontab 中的任務,使其指向新的回收站目錄。
    (crontab -l ; echo "0 0 * * * ~/bin/clean_trash.sh") | crontab -
    

使用 trash-cli 命令行工具

  1. 安裝 trash-cli

    sudo apt-get install trash-cli -y
    
  2. 使用 trash-cli 遷移回收站

    • 使用 trash-put 命令將文件移動到新的回收站目錄。
    trash-put /path/to/deleted/files
    
  3. 配置 trash-cli 使用新的回收站目錄

    • 編輯 ~/.config/trash/config.json 文件,修改回收站路徑。
    {
        "repository": "/new/path/.trash"
    }
    

通過以上步驟,您可以在 Linux 系統中實現回收站功能,并將其遷移到新的位置。這種方法不僅提高了誤刪文件的恢復能力,還能有效管理磁盤空間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女