覆盖了 osx 下 ls 命令怎么办?

2014-10-29 12:35:05 +08:00
 urmyfaith
不小心用别的文件把
/bin/ls 覆盖了,怎回复过来呢?

求各位的大神!
3448 次点击
所在节点    macOS
16 条回复
fatestigma
2014-10-29 12:39:39 +08:00
留邮箱,然后让别人给你发一个。你再覆盖回来就可以了。
如果你之前有做过备份,从备份中拷贝一个也可以。
013231
2014-10-29 12:49:09 +08:00
popbones
2014-10-29 14:32:13 +08:00
按理说直接从Recovery HD里面拷贝一个出来应该就可以了吧
popbones
2014-10-29 14:37:55 +08:00
先挂载Recovery HD

可以直接diskutil用命令。不会用命令的话需要先开启Disk Utility Debug菜单,命令好像是
defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
然后打开Disk Utility,在Debug菜单选择列出所有分区,然后挂载Recovery HD

之后在挂载Recover HD里面的com.apple.recovery.boot/BaseSystem.dmg

在进入/Volumes/OS X Base System/bin/拷贝一份出来即可吧
ptyfork
2014-10-29 14:42:27 +08:00
@popbones 嗯, 确实是一样的文件。

$ diskutil mount Recovery\ HD
$ open /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
$ md5 /Volumes/OS\ X\ Base\ System/bin/ls
MD5 (/Volumes/OS X Base System/bin/ls) = 33c72b9531677c467d2330c35e18fb5a
$ md5 /bin/ls
MD5 (/bin/ls) = 33c72b9531677c467d2330c35e18fb5a
urmyfaith
2014-10-29 16:07:18 +08:00
@fatestigma 谢谢。
urmyfaith
2014-10-29 16:07:38 +08:00
@013231 谢谢,不过链接好像打不开。
urmyfaith
2014-10-29 16:11:40 +08:00
@popbones @ptyfork 谢谢你们两个,非常感谢。一个提供了思路,一个提供了具体的代码。非常感谢。
bolasblack
2014-10-29 16:34:41 +08:00
其实……你用 homebrew 装一个 GNU coreutils 也行……
urmyfaith
2014-10-29 16:44:15 +08:00
贴上恢复的代码:


https://gist.github.com/urmyfaith/f81c98fb1700f8237e28

再次谢谢楼上各位的热心回答。
chemzqm
2014-10-29 16:49:39 +08:00
为了以防文件出什么问题,买个移动硬盘用 time machine 还是很方便的
rcmerci
2014-10-29 18:49:24 +08:00
自己写一个呗
urmyfaith
2014-10-29 21:16:33 +08:00
@chemzqm 可以考虑。
popbones
2014-10-29 23:09:26 +08:00
@bolasblack 这个说的是,几年前,我为了一个什么命令特地装的GNU Coreutil,因为Darwin待的BSD版的一个命令没有GNU版的方便,不过现在怎么也想不起来当时是为了哪个命令的哪个参数了。
jakwings
2014-12-04 16:10:35 +08:00
@popbones BSD 版的 mv 和 cp 很反人类,非要注意最后的斜杠有没有加的。
popbones
2014-12-04 18:11:31 +08:00
@jakwings 我后来想起来了,我当时好像是因为Mac的sed不支持不区分大小写匹配,特意装得GNU sed

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/142338

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX