命令rm -rf/| 从删库到跑路
2017 年2 月,GitLab 的一位系统管理员在给线上数据库做负载均衡工作时,遭受了DDoS 攻击。在阻止了攻击之后,运维人员发现了数据库不同步的问题,便开始修复,在修复过程中,错误地在生产环境上执行了数据库目录删除命令:
sudo rm -rf
导致300GB 数据被删成4.5G,GitLab 被迫下线。
看到这个时候,在心里寻思着:万一哪天我不小心使用了这个命令,那我不就毕不了业了吗。以后还是尽量不用这个!!!!
在用做理论计算的过程中,有一个操作需要经常执行:保留VASP输入文件(INCAR,POSCAR,POTCAR,vasp.pbs,KPOINTS),删除其余文件,如下面的例子:
删除前
删除后
如果每次都手动一个个去删除文件(或者复制需要保留的文件),非常的浪费时间还可能犯错。这时候就必须要通过小脚本解放双手和节约时间。
脚本1
参考:https://github.com/Mabinogiysk/VASP-script/blob/master/clean?utmsource=qq&utmmedium=social&utm_oi=616200225573048320
最开始不理解或者自己写时犯错地方,都通过Google解决了(除了 “$@“在这里是什么用途),这里做个小结:
1.`ls -1`
2.[[ $i =~ $$ ]]
3.continue 2
另外写了一个例子帮助理解:输出不i和j匹配的字符
输出结果:
continue 2 改为 continue后的输出结果
脚本2
在学习的过程中,请教了理论计算群中的大师兄们,他们提供了更简洁的脚本
1.shopt
shopt 命令可以设置 shell 的可选参数.
2.extglob选项
如果开启 extglob 选项, shell 将启用扩展模式匹配
领取专属 10元无门槛券
私享最新 技术干货