首页 > 系统 > Linux > 正文

linux的 rm改写,防止误删,删除找回

2024-06-28 15:59:37
字体:
来源:转载
供稿:网友
最近写了个类型Windows回收站的功能,说白就是把rm 改为mv。以防止误删除。会自动给删除文件加上时间戳,会自动每天创建文件目录,将当天删除文件放进去如果需要真正删除:请用remove(跟原来的rm一样使用,只是改写了别名)新建执行文件rm.sh,复制下面代码,然后把rm.sh放到/bin目录下#!/bin/bash#原操作 alias rm='rm -i'data=`date +%Y-%m-%d-%H-%M-%S`data1=`date +%Y-%m-%d`file=($*)filepath=/tmp/tarsh/$data1mkdir -p $filepathnum=`echo echo "$*" | awk -F"/" '{PRint NF-1}'`#num=`echo "$*" | awk -F"/" '{print $(NF)}'`if [[ $num > 0 ]];then#if [ ! "$num" ];then#echo "无法删除,请到文件目录内操作"echo "Unable to delete, please go to the file directory Operations"#echo "无法删除,目录删除不能带有 / 符号"echo "Unable to delete, directory delete cannot contain ' / ' sign"#breakelsefor n in ${file[*]};domv -f $n $filepath/$n.$data 2>&1doneecho "$* have been removed"fi修改别名(永久适用任何用户的方法)打开:vim /etc/bashrc把这两行加在文件的最后两行alias remove='rm.back -i'alias rm='rm.sh'进入/bin cp rm rm.backsource /etc/bashrc说明:remove的用法和原来的一样正常使用rm有几个缺陷:1,无法跨目录删除2,无法参数删除。3,删除目录时候不能带有 / ,(可以删除,但是会报错)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表