mac下替换rm防止误删除文件

缘起

    前段时间的一个普通的加班晚上,帮测试写了个不复杂的脚本,但是写完之后,我来了个rm -f [写好的脚本的前几个字母],然后一把tab,回车,哦呵呵呵,一切化为乌有。。。。。

    

    其实写的脚本也不复杂,再写一遍也是分分钟,但是,作为一个程序猿,怎么能忍受数据无缘无故的丢失。。。。

    于是google了一番,下载了个Disk Drill,扫描了下磁盘,居然什么都没找到。。。。


    最后,我居然使用Android Studio的Local History找回了这个文件。原理也很简单:由于我是在AS中编辑的文件,虽然后边rm删除了,但是又本地历史可用(这点给AS点赞)。

    但是在AS里直接找这个文件的本地历史是不行的,因为文件已经不存在了,点不了历史修改,因为它不是项目里的文件。在死马当成活马医的touch了一个相同路径的空文件后,奇迹出现了,AS居然可以找到这个文件的历史修改了,本地历史真的是可以救人一命(当然AS或者说idea可以做的更好)~~


折腾

    经历了这段有点曲折的找回文件的经历,想着找一个可以替换原来rm命令的工具,可以在一时手误时留条后路(参考gitlab误删仓库的惨痛经历 )。


    找到了一篇文章,讲的用trash替换rm,在rm命令是可以把文件删除到废纸篓里,这样就很好了,既不会立即删除,也不会像其他命令一样频繁的跟你确认是否删除。


    安装方法:

    
brew install trash

之后就可以像rm命令一样的使用啦,如果手误了,可以在回收站里找到删除的文件


    问题:

发现一些问题,比如使用sudo rm命令时总会出现些小问题,这时候直接使用/bin/rm这个原生删除就好啦,总体上这些小问题不会影响使用


有兴趣的同学可以参考下连接地址 

http://apple.stackexchange.com/questions/50844/how-to-move-files-to-trash-from-command-line

作者博客:http://hasseg.org/blog/post/406/trash-files-from-the-os-x-command-line/

源码地址:https://github.com/ali-rantakari/trash


总结

    总结起来就是,linux系列系统的哲学就是命令行里很方便,可是呢,有时候一不小心就是方便一时爽,删库找不回的节奏,因此对于重度命令行患者来说,留一条后路还是很有必要滴~~~


参考文档

http://blog.csdn.net/xpylq/article/details/54896185

https://github.com/ali-rantakari/trash


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。