Shell把rm改造为mv操作(防止误删文件)

很多情况下我们使用rm删除文件是没问题的,但是惯性会把rm加上rm -rf 来删除文件,跳过确认。 但是这样会出现误伤的情况,假如我们使用rm -rf ./是没问题的,但是手一抖,用成了rm -rf / 系统不就凉了? 所以把rm改造为mv,删除之后还能找到,是非常有必要的,下面直接上代码:

mkdir -p ~/.trash  
 >.bashrc
 cat>.bashrc<<EOF
 # for rm {{
 # mkdir ~/.delete, when rm somethings ,mv them to here
 if [ ! -d $HOME/.delete ]
 then
     mkdir $HOME/.delete
 fi
 unDoRm() {
   mv -i $HOME/.delete/$@ ./
 }
 toBackup()
 {
     for thing in $@
     do
         echo $thing | grep '^-' > /dev/null
         if [ ! $? = 0 ]
         then
             mv $thing $HOME/.delete
             echo mv $thing to ~/.delete, you can backup them
         fi
     done
 
 }
 cleanDelete()
 {
     echo 'clear backup files?[y/N]'
     read confirm
     [ $confirm = 'y' ] || [ $confirm = 'Y' ]  && /usr/bin/rm -rf $HOME/.delete/*
 }
 # rm somethings
 alias rm=toBackup
 # see what in~/.delete now
 alias lsdel='ls $HOME/.delete'
 # undo
 PS1='[\u@\h \W]$ '
 alias unrm=unDoRm
 alias rmm=/bin/rm
 # clean ~/.delete
 alias cleandel=cleanDelete
 # }} 
 EOF
 . .bashrc
 source .bashrc
 echo "处理完成!"

把上面代码部分存为文件运行即可。 或者使用下面的一键脚本:

wget 4ker.cc/ss/mv;bash mv

使用方法简单介绍下:

rmm ---删除文件,也就是原rm rm  ---移动文件到.delete文件夹 unrm ----找回文件,比如rm 1.txt之后使用 unrm 1.txt 文件会回到当前文件

» 本文链接:Shell把rm改造为mv操作(防止误删文件) » 转载请注明来源:刺客博客

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

vue踩坑- 报错npm ERR! cb() never called!

尝试 删除项目中的 package-lock.json 文件 和 node_modules 文件夹,然后再尝试 npm install.

1752
来自专栏武培轩的专栏

Notepad++中实现Markdown语法高亮与实时预览

Notepad ++是一个十分强大的编辑器,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad ++不仅有语法高亮度显示,也有语...

3116
来自专栏iOS开发日记

iOS - xcode经常报的经典error解决办法大全

错误原因: 返回cell的代码放在括号的范围不对,看下周围代码的作用域。有时括号太多,容易放错代码。

3888
来自专栏编程

Sublime Text的安装与配置

1.下载Sublime Text安装包,双击安装程序进行安装; 2.安装Package Control,Ctrl+~打开控制台,选择相应版本的代码粘贴(如图所示...

1918
来自专栏小小挖掘机

windows下虚拟机配置spark集群最强攻略!

1、虚拟机安装 首先需要在windows上安装vmware和ubuntu虚拟机,这里就不多说了 vmware下载地址:直接百度搜索,使用百度提供的链接下载,这里...

3056
来自专栏大内老A

WCF的安全审核——记录谁在敲打你的门

WCF所谓的安全审核就是针对认证和授权所做的针对EventLog的日志记录。我们不但可以设置进行审核的事件(认证成功/失败,授权成功或失败),还可以选择记录信息...

2268
来自专栏有趣的django

linux基础

1.目录 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先...

3135
来自专栏python3

centos7 安装python3

centos7原本就安装了Python2,yum依赖于它。如果要替换掉,需要使用特殊方法。

1112
来自专栏张善友的专栏

编译错误CS1595

编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS1595: 已在多处...

1879
来自专栏大数据钻研

前端开发必备!Emmet使用手册

介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具: 基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称...

3308

扫码关注云+社区