将 rm 命令重定义为移动到回收站

    xiaoxiao2021-12-14  18

    在linux中不小心用rm命令删掉了重要文件简直太蛋疼了,以下是将rm命令重定义为移动到回收站的方法:

    参考:http://www.xitongzhijia.NET/xtjc/20150306/40342.htm

    在用户文件夹username下新建脚本remove.sh

    #!/bin/bash TRASH="/home/username/.local/share/Trash" TRASH_FILES="$TRASH/files" TRASH_INFO="$TRASH/info" for i in $*; do #忽略参数 TEMP=$i TEST=${TEMP:0:1} if [ $TEST == "-" ];then continue fi #创建trashinfo文件 FileName=`basename $i` echo "[Trash Info]" > "$TRASH_INFO/$FileName.trashinfo" DPATH=`realpath $i` echo "Path=$DPATH" >> "$TRASH_INFO/$FileName.trashinfo" DDATE=`date +"%G-%m-%dT%T"` echo "DeletionDate=$DDATE" >> "$TRASH_INFO/$FileName.trashinfo" #将文件或文件夹移动到回收站 mv $i $TRASH_FILES/$fileName done

    ubuntu16.04中,回收站的路径为 /home/username/.local/share/Trash/files,并且在/home/username/.local/share/Trash/info下存储被删文件的信息

    然后在 /home/username/.bashrc 中增加两条命令 alias rm="bash /home/free/remove.sh" alias sudo="sudo " 第一句是让我们自建的remove.sh代替rm命令,第二句是让这个替换关系在sudo时依然有效

    最后source ~/.bashrc就可以使之生效了(此脚本可以自动忽略rm的各种参数),删除和恢复都轻而易举

    转载请注明原文地址: https://ju.6miu.com/read-968496.html

    最新回复(0)