小记一次我是怎样把虚拟机玩坏的

  • A+
所属分类:系统文档

小叙

我知道
rm -rf / 是不可取的,因为我测试过
但我却遇到了一次类似的经历
整个虚拟机直接挂了
小记一次我是怎样把虚拟机玩坏的

怎么挂的?就是你敲所有的命令都变成 not found

经历

我当时脚本在 dirA (假设)
dirA 中有个一个 aa.tar.gz 的压缩包和一个 run.sh 脚本

当我运行 run.sh 时,会去解压 aa.tar.gz 这个文件,但它解压出来在下级目录 aa
我的脚本用到这个解压出来的目录里面的内容,可脚本一开始引用的是当前目录,所有就造成文件、目录找不到
(这个原因主要在我,我在重新打包的 aa.tar.gz 时没考虑这个问题)

但想到一个弥补办法,那就是在解压 aa.tar.gz 这个文件后,把里面的目录移除出来……然后悲催的事情就发生了
我的命令:

mv "aa/*" .

结果一运行脚本,就报错 aa/* 目录或文件找不到

我很纳闷,怎会这样?百思不得其解……
当我在敲其他命令,比如 lspwd 等都报错了

此时我才发现问题大了………………

当时开着虚拟机,还开着生产环境……当时脑袋一下就翁了
感觉确认我现在操作的是生产环境还是虚拟机,很庆幸,我操作的是虚拟机

回过神来,我把命令改成

mv aa/* .

测试效果是OK的,达到预期

我再次把代码改成

mv "aa/"* .

同样测试通过……


结语

顿悟
原来,* 在引号里面会被当成字符串处理

我的环境 --- CentOS7.9

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: