《玩具总动员2》之死里逃生
现在的手机其实就是一台计算机,只不过不需要鼠标,手指头代替鼠标,也不需要键盘,屏幕本身可以当键盘。
当年,个人计算机刚走向民间的时候,没鼠标,只有键盘,想干什么,需要从键盘输入指令。那时最流行的操作系统是DOS,想去到自己存小说的目录,需要敲 cd,想看目录下有什么东西,需要敲 dir
如今个人用户不再需要记这些指令,鼠标操作一切,如果不是像我这样天天码字的人,其实用不着键盘。
但鼠标走的是图形界面,而键盘指令走的是文字界面,比较之下,鼠标消耗的算力要大得多,何况敲指令能做很多鼠标做不了的事,比如一套指令组合执行,或是远程操控。所以计算机圈子的人,尤其做编程的,或是后台维护的,会继续用键盘指令,不过这种大型商业系统,通常都用 Unix 或是 Linix。
用这两种 某某nix 的人,必定知道这行命令:
rm -r -f *
rm 是 remove 的缩写,就是删除。-r 表示连下属的子目录一起删除,-f 表示“别再问我是不是肯定,直接执行”。
因为这种霸道,这行命令后面一定要明确指定目标,敲回车键执行之前,必须再三检查目标目录是不是对板。
这是讲道理,但碳基跟硅基的一大区别就是会犯错误。
1998年,《玩具总动员2》制作接近尾声。现代动画大量依赖计算机制作,所以皮克斯公司有无数资料保存在服务器里。
服务器用的是 Unix 操作系统,那天一位画师完成手头任务之后,准备清理一个临时目录下的陈旧文件,于是他就用了 rm。
按计划,他应该敲的是:
rm -r -f /var/temp/*
不知道是不是因为紧张工作之后,脑子有点供电不足,他敲的是
rm -r -f /*
在 Unix,/ 代表根目录,就是硬盘里一切目录的老祖宗。这行指令翻译成人话就是:“把整个硬盘里一切文件都删掉,不要再问我,立即执行。”
计算机执行删除文件的速度是光速,他一敲回车,服务器里的文件就开始人间蒸发。
当时,皮克斯公司的技术副总监奥伦·雅各布正在查看服务器,看到“伍迪”目录下文件数量只有40个,这明显比正常数字低,他觉得有点不对,思考了几秒钟,他摁一下刷新键,发现现在只剩下4个文件。
雅各布是做技术的,知道大事不好,这时候靠发新指令是没法停止删除动作的,他立即打电话给服务器机房管理员,让他立即给服务器拔电源。
可惜,已经太晚。重新开机之后(拔电源时那个删除指令就终止了),他们清点残局,总共只剩下10%的文件。耗费两年制作好的电影画面,以及这段时间收集加工的素材,90%变成了一片净土。
当然,这样的大型服务器是必定有备份服务器的。这个服务器隔一定时间把主服务器的内容拷贝过来,然后写入磁带。
等他们调出磁带一看,傻眼了。磁带内容是空的。而且,故障一个月之前就已经发生,服务器不停往日志里记录错误,很快撑死了硬盘,等他们去查看日志的时候,日志内容也是空的:硬盘满,没法写东西了。所以想调查备份服务器为什么崩溃都没线索。
本来这就是死刑执行结束,只能一切重新来过。
但雅各布忽然想起来,前不久,技术总监(正的那个)苏斯曼生孩子,但苏斯曼很敬业,没有休产假,而是在家办公。为了方便她工作,公司给她配备了大硬盘手提电脑,每星期一次把新素材和新镜头片段发送到她那台电脑里。
雅各布带着助手开车去到苏斯曼家,把她那台电脑用毛毯包裹起来,小心翼翼地端到车里,上下用枕头垫好,再用安全带固定好,带回工作室,终于恢复了所有资料。
