Linux回收站如何迁移

820
2025/3/31 12:32:21
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 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 系统中实现回收站功能,并将其迁移到新的位置。这种方法不仅提高了误删文件的恢复能力,还能有效管理磁盘空间。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux如何获取当前系统日期