linux 私人垃圾箱的实现。

linux下的rm命令是个危险的命令,它不会把文件放入垃圾箱,而是直接删除。有时候不小心会造成无法挽回的后果。私人垃圾箱是个解决此类问题的好办法。它通过alias机制指向一个脚本,脚本里做的事情就是把文件mv到私人垃圾箱。

以ubuntu12.04举例,

ubuntu自带了一个垃圾箱,但是它针对的是窗口界面操作,在终端里用不到。

一,创建私人垃圾箱

假设我的用户名是john。

mkdir /home/john/trash

二,给rm命令创建别名

vim ~/.bashrc

alias rm="sh /home/john/saferm.sh"

source ~/.bashrc

三,编写saferm.sh脚本,

可以从https://github.com/lagerspetz/linux-stuff处下载scripts/saferm.sh,也可以自己写。

github上这个脚本,不光支持rm的操作,还支持带-rf等各类参数的rm操作。当然,rm后面带多个删除对象也是支持的。

我们把saferm.sh放到/home/john/下,和上面对应。

修改saferm.sh,把里面对应垃圾箱路径的宏改成/home/john/trash。我下载的saferm.sh版本是1.16,修改的宏为trash_desktops和trash_fallback。

四,enjoy。

 

备注:1、如何解决日益增加的垃圾,有2个办法。一是设置定时任务清理,二是手动清理,但是不能直接敲rm命令,因为它被alias了不是吗?你可以写个脚本进行删除。在脚本里的rm是不受alias影响的。我采用的方法是复制~/.bashrc一份到~/.bashrc_no_safe_rm。在bashrc_no_safe_rm里改为alias rm="rm"。当我需要清理垃圾箱的时候,source ~/.bashrc_no_safe_rm,清理完后,source ~/.bashrc。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值