硬盘里那个神秘的 .bak 文件,到底是什么东西?
硬盘里那个神秘的 .bak 文件,到底是什么东西?

电脑里莫名出现一个文件,扩展名是 .bak。
双击,打不开。右键,不知道用什么软件。直接删,又有点慌,万一是什么重要的东西呢。
我猜不少人遇到过这个场景。反正我遇到过,而且不止一次。
第一次见到 .bak 是好几年前,那会儿我在整理一个项目文件夹,发现里面除了正常的文件,旁边还跟着一堆同名的 .bak 文件,一比一地对应着,就像每个文件都多了个影子。我当时的第一反应是,这什么玩意?病毒?
然后我就开始搜,搜着搜着,才发现这东西其实挺有意思的。
说起来,.bak 这个后缀,其实是 backup 的缩写。
对,就是备份。
你可以把它理解成某个软件在你不知情的情况下,悄悄帮你存了一份存档。就像游戏里的自动存档,你没有主动按保存,但游戏自己偷偷记了一下。.bak 文件就是这个逻辑,某个程序在运行的时候,为了保险起见,把你当前文件的状态复制了一份,扔在旁边,叫做 xxx.bak。
所以它不是病毒,也不是系统垃圾,它是一个保险绳。
但问题来了,打不开怎么办。
这块需要注意一下,.bak 文件本身没有一个固定的格式。它不像 .jpg 就是图片、.mp3 就是音频,.bak 只是一个约定俗成的命名习惯,里面的内容可以是任何东西,取决于是哪个软件创建的。所以「打开 .bak 文件」这件事,没有一个万能答案,你得先搞清楚这个文件是哪里来的。
我自己摸索下来,大概可以分这么几种情况。
你想想看,如果 .bak 文件跟一个 Word 文档放在同一个文件夹里,而且名字几乎一样,就差一个后缀,那基本可以断定这是 Word 自动生成的备份文件。这种情况是最好处理的,直接把 .bak 后缀改成 .docx,再用 Word 打开就行了。
我第一次这么操作的时候有点紧张,感觉在「改文件名」这种事上有点心虚,万一改坏了怎么办。后来发现完全不用担心,改后缀只是告诉系统用什么软件来读这个文件,文件本身的内容一个字节都没动。
顺着这个思路,如果你用的是 AutoCAD、Photoshop、或者一些数据库软件,它们也经常会生成 .bak 文件。AutoCAD 的备份文件后缀改成 .dwg 就能打开,SQL Server 的数据库备份文件改成 .bak 再通过数据库管理工具还原,Photoshop 有时候会生成 .psb.bak 这种格式,改回 .psb 就行。
这个逻辑很统一,看文件放在哪、名字叫什么,推断它原本是什么格式,改回去就完了。
不过有时候就不那么容易判断了。
我有一次遇到一个 .bak 文件,完全看不出来是哪个软件创建的,名字是一串日期加数字,像 backup_20231015_001.bak 这种。这种情况我一般会做一件事,就是先用文本编辑器打开它看看。
用记事本,或者 VS Code、Notepad++ 这类工具,强行打开 .bak 文件,看前几行是什么。如果是一堆乱码,说明这是二进制文件;如果能看到一些可读的文字、XML标签、或者 SQL 语句,那就能大概判断它是什么东西了。很多数据库备份文件、配置文件备份,用文本编辑器一打开就清楚了。
这招听着很土,但真的好使。
说到这个,我一直觉得「先看文件头」这个思路,是处理各种奇怪文件格式的万能钥匙。文件头,就是一个文件最开头的几个字节,几乎所有常见格式都有自己的文件头标识。ZIP 文件开头是 PK,PDF 开头是 %PDF,JPEG 开头是 FFD8FF。你用十六进制编辑器或者文本编辑器打开一个文件,头几行能看到这些特征的话,不管后缀是什么,你都能判断它的真实格式。
这就有点像你在一个仓库里找东西,不看标签,直接打开箱子看里面装的是什么。
回到 .bak 这块,如果你确认这个文件没用,删掉是完全没问题的,它就是个备份,删了顶多是少了一道保险。如果你不确定,就先压缩存起来,不占什么空间,万一哪天用上了再解压。
还有一种情况,很多朋友可能不知道,.bak 文件有时候是救命的。
电脑崩溃、软件闪退、断电,这些意外发生之后,原来的文件可能损坏了,但旁边那个 .bak 文件是崩溃之前的一个快照。我见过有人因为找到了 .bak 文件,把花了好几天工作的 CAD 图纸给救回来了。那种感觉,我想想就替他高兴。
所以下次看到 .bak,别慌,也别随手删。
先想一想,这个文件是谁生成的,原来的文件是什么格式,改个后缀试试能不能打开。九成九的情况都能这么解决。
说到底,.bak 文件这个设计,体现了软件工程里一个挺朴素的思想,就是「不信任当下的稳定性」。程序在运行,随时可能出问题,所以在每一个关键节点存一个快照,哪天真出事了,还有个退路。
这跟人生里那些看起来多余的「备份」其实是一个道理,多存一份联系方式、多留一条出路、多攒一点余量。不是因为悲观,而是因为清醒。
好了,就聊这些。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧~
谢谢你看我的文章,我们,下次再见。