网络宝典
第二套高阶模板 · 更大气的阅读体验

命令行撤销修改操作:手滑也不怕

发布时间:2025-12-11 22:10:41 阅读:133 次

写代码、改配置、删文件,命令行用多了,总有手一抖的时候。比如刚把一个配置文件改完,保存退出,突然发现改错了地方,想撤回?别慌,命令行也有“后悔药”。

文本编辑器里的撤销

如果你还在编辑文件,比如用了 nanovim,那直接在编辑器里撤销就行。
nano 按 Ctrl+Z 可以挂起,其实也能恢复;vim 里输入 u 就能一步撤销。

:u

但要是已经保存退出,这招就不灵了。

用 git 撤销修改

最常见的情况是改了代码项目里的文件。只要这个项目用 git 管理,撤销就很简单。

想丢掉某个文件的修改,回到上一次提交的状态:

git checkout -- filename.txt

如果用的是较新的 Git 版本,建议写成:

git restore filename.txt

想一次性把所有修改都清空,可以用:

git restore .

这样当前目录下所有改动都会被撤销。

误删文件怎么办

不小心用 rm 删了文件?要是没进回收站(Linux 命令行默认不走回收站),那就得靠备份或者版本控制。

如果文件在 git 仓库里,找回很容易:

git checkout -- deleted-file.txt

或者:

git restore deleted-file.txt

如果根本没用 git,那只能看系统有没有自动备份,或者用数据恢复工具,但成功率不高。所以重要文件,最好早点纳入版本管理。

用 cp 和 mv 备份习惯救场

有些老手改配置前会先备份:

cp nginx.conf nginx.conf.bak

改坏了?一句话还原:

mv nginx.conf.bak nginx.conf

这种土办法,关键时刻特别管用。

shell 历史记录不是撤销

有人以为按上下箭头找回命令就是“撤销”,其实那只是重新执行,搞错一步可能雪上加霜。真正的撤销是让系统状态回到之前的样子,不是再跑一遍命令。

小技巧:养成检查习惯

改文件前先 ls 看看,改完用 catdiff 对比一下:

diff config.old config.new

或者看看 git 状态:

git status

这些动作多练几遍,慢慢就成了本能,少走很多回头路。

命令行不怕犯错,怕的是没有退路。掌握这几个撤销方法,干活才敢放开手脚。