centos

CentOS 回收站如何防止误删

小樊
90
2025-02-09 00:38:22
栏目: 智能运维

在CentOS系统中,可以通过以下几种方法来设置回收站以防止误删:

方法一:禁用 rm 指令并创建回收站

  1. 禁用 rm 指令

    • 打开终端,编辑 ~/.bashrc 文件:
      vim ~/.bashrc
      
    • rm 命令重命名为 rm -i 或自定义一个更安全的形式。
    • 保存并退出编辑器,然后测试 rm 命令是否被禁用:
      rm testfile
      
  2. 创建回收站

    • 创建回收站目录:
      mkdir -p ~/.LJ_Bin
      
    • 编辑 ~/.bashrc 文件,添加以下内容:
      alias sc=LJ_Bin
      alias sl='ls ~/.LJ_Bin'
      clearall(){
        read -p "Clear LJ_Bin? [y/n]"
        confirm[$confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.LJ_Bin/*
      }
      
    • 保存并退出编辑器,然后测试回收站功能:
      sc testfile  # 删除文件
      sl          # 查看回收站
      clearall     # 清空回收站
      
    • 恢复文件可以使用 mv 命令将文件移回原目录。

方法二:使用 trash-cli 工具

  1. 安装 trash-cli

    sudo yum install -y trash-cli
    
  2. 配置 trash-cli

    • 编辑 /etc/profile~/.bashrc 文件,添加以下内容:
      alias rm='/usr/bin/trash'
      
    • 保存并退出编辑器,然后重新加载配置:
      source /etc/profile
      
  3. 使用 trash-cli

    • 删除文件时,使用 rm 命令即可,文件会被移动到回收站。
    • 查看回收站:
      trash
      
    • 清空回收站:
      trash -c
      

方法三:自定义回收站脚本

  1. 创建回收站目录

    mkdir -p ~/.Trash
    
  2. 创建 remove.sh 脚本

    vi ~/.remove.sh
    

    添加以下内容:

    #!/bin/bash
    TRASH_DIR="$HOME/.Trash"
    for item in "$@"; do
      TIMESTAMP=$(date +%s)
      FILENAME=$(basename "$item")
      mv "$item" "$TRASH_DIR/$FILENAME.$TIMESTAMP"
    done
    
  3. 设置脚本权限

    chmod +x ~/.remove.sh
    
  4. 配置别名

    • 编辑 ~/.bashrc 文件,添加以下内容:
      alias rm='/home/username/.remove.sh'
      
    • 保存并退出编辑器,然后重新加载配置:
      source ~/.bashrc
      
  5. 使用别名

    • 删除文件时,使用 rm 命令即可,文件会被移动到回收站。

通过以上方法,可以在CentOS系统中设置回收站,从而有效防止误删重要文件。选择适合的方法进行配置即可。

0
看了该问题的人还看了