对于一个大型的复杂的系统,各个模块之间紧密关联,界面上的一个操作,可能涉及到很多底层逻辑的连携反应。
在一个共享文件系统中,一个简单的小操作,可能就涉及到数据库多张表的改动,而且往往改动的表并不是你以为的表。
比如界面上删除了一个文件,等同于去文件表中将这条记录删除吗?并不是,实际上系统会对用户文件关系表进行改动,删掉当前用户和目标文件的关联关系记录。如果一个新手,自以为是地直接去文件表中将这条记录删除,那么会导致系统的所有用户都看不到这个文件。还有更加复杂的权限相关的问题,在这里就不展开说了。
界面操作本质上是通过接口执行代码逻辑,触发一系列操作;类似的还有执行脚本,一个脚本中包含了很多命令,这些命令有条不紊地排列下来,很多复杂的操作都可以写入脚本中,简化执行流程。
但如果新手们又自以为是地进行操作,在升级系统时,一时疏忽没有找到老版本的卸载脚本,索性一股脑全部删除,rm -rf
命令用得贼溜,代价就是安装新版本时遇到各种奇奇怪怪的报错。倘若卸载旧版本只需要一条rm -rf
命令,那还要写那么长的脚本干嘛?脚本中必然定义了很多其他的操作,包括但不限于:移除旧的环境变量、定时任务,清理掉旧的日志文件,恢复各种系统默认配置等。这些操作都是要根据严格的顺序执行的,如果手动执行,顺序搞得不对,都有可能出现问题,更不用说一条rm -rf
命令的偷懒行为了。
所以,除非你对系统有非常完全的了解,不建议在有界面操作或脚本的情况下,依然选择简单粗暴的行为,因为这么做的代价必然是花费大量宝贵的时间处理微不足道的问题,最终以哭笑不得的心态收尾。