将 rm 命令改造成 mv 到指定的目录

命令介绍

当你需要清除当前目录下的所有文件和目录时,很简单 rm -rf ./*,这没什么。但是如果不小心打成这样 rm -rf /*,兄弟请节哀吧!

rm 删除文件同时删除 inode 信息,这使得使用 rm 删除的文件十分难恢复。总之 rm 是太危险了,特别是带有-rf 参数时一定要慎之又慎,但老虎也有打盹的时候,所以为什么不给 rm 一剂后悔药呢?

技巧教程

1
2
3
4
5
alias rm=trash
trash()
{
mv $@ /tmp/trash
}

注意:将上面的代码加入到~/.bashrc 文件,然后执行 source ~./bashrc 导入该文件,之后运行 rm 即可将文件移动到指定目录中。记得在/tmp 创建目录!

技巧扩展

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
alias rm=trash
alias rml='ls /tmp/trash/'
alias urm=untrash
alias crm=cleantrash
trash()
{
mv $@ /tmp/trash/
}
untrash()
{
mv /tmp/trash/$@ ./
}
cleartrash()
{
read -p "clean sure?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf /tmp/trash/*
}

注意:在原有基础上增加查看、恢复、清空功能,rml 可直接查看回收站的文件,urm 加文件名称可将文件恢复到当前目录中,crm 可清空回收站的所有文件,并需要输入 y 确认。

执行效果

扩展技巧执行效果:

本文链接:https://my.lmcjl.com/post/19554.html

展开阅读全文

4 评论

留下您的评论.