如何更换/修复乱搞/ bin / sh和/ bin /破折号

我已经损坏了我的/ bin / sh并且不知道如何替换它。 我不小心复制了它。 我怎样才能解决这个问题?

我正在运行Ubuntu Server 11.10,没有X.

更新:我尝试了由Eliah友情提供的修复,但我想我也复制了/ bin / dash!

更新:输出cd /bin; file sh dash bash; md5sum sh dash bash cd /bin; file sh dash bash; md5sum sh dash bash

 sh: symbolic link to `dash' dash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5d23ca7cbab4993f295d1089b4860eb32d406fab, stripped bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xf199a4a89ac968c2e0e99f2410600b9d7e995187, stripped c229085928dc19e8d9bd29fe88268504 sh c229085928dc19e8d9bd29fe88268504 dash 089ed56cd74e63f461bef0fdfc2d159a bash 

在所有远程最新版本的Ubuntu中, /bin/sh只是/bin/dash的符号链接。 因此,如果重要的话,请确保当前调用/bin/sh任何内容都备份,然后删除它并创建一个新链接。

要删除当前/bin/sh并将/bin/sh恢复到它应该是什么,请运行以下命令:

 cd /bin sudo rm sh sudo ln -s dash sh 

假设你还有bash,请使用bash作为sh。

 sudo ln -s bash /bin/sh 

然后重新安装破折号

 sudo apt-get install --reinstall dash