原创 为什么同时有/sbin/sh和/bin/sh

2006-10-20 09:48 3756 7 9 分类: 软件与OS

为什么同时有/sbin/sh和/bin/sh


Both /sbin/sh and /usr/bin/sh shells are Bourne shells.
The difference is that /sbin/sh is statically linked and /usr/bin/sh is
dynamically linked.  There is also /bin/sh, however /bin is just a symbolic
link to /usr/bin.


# ls -l /sbin/sh
-r-xr-xr-x   2 bin      root      251712 Jul 16  1997 /sbin/sh


# file /sbin/sh
/sbin/sh:       ELF 32-bit MSB executable SPARC Version 1, statically linked, stripped


# ldd /sbin/sh
ldd: /sbin/sh: file is not a dynamic executable or shared object



# ls -l /usr/bin/sh
-r-xr-xr-x   3 bin      root       88620 Jul 16  1997 /usr/bin/sh


# file /usr/bin/sh
/usr/bin/sh:    ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped


# ldd /usr/bin/sh
       libc.so.1 =>;     /usr/lib/libc.so.1
       libdl.so.1 =>;    /usr/lib/libdl.so.1


Dynamically linked binaries use shared libraries during their execution.  This
makes them smaller in size and when libraries get updated, the binaries will
automatically use the updated libraries.


Statically linked binaries contain all the code within them.  They do not
use shared libraries at all.  This makes them larger in size.  The useful thing
about statically linked binaries is that they can run all by themselves as
they do not depend on shared libraries.  If the system is "broken" and libraries
were removed, damaged, or /usr is not mounted, /sbin/sh can still be executed.


This is why it is recommended to use /sbin/sh as the default root shell.


大体意思就是/sbin/sh 是静态链接的, /bin/sh是动态链接的。 静态链接的sh虽然比动态链接的size大,但它有个好处就是它的运行不依赖共享库。也就是说如果系统崩溃导致库文件丢失或损坏,它仍然能执行。
最后一句: 这就是我们推荐用/sbin/sh作为root的默认shell的原因。

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户479067 2006-10-20 12:49

您是哪位大侠,可以交个朋友吗???

用户1053025 2006-10-20 11:13

呵呵,产能真高啊
相关推荐阅读
用户479067 2008-03-31 10:03
资源网站
http://softdata.studa.com           //下载 http://ibook8.com/http://www.dzzl.cn/   电子资料城www.ithao123.c...
用户479067 2008-02-28 17:53
地的分类
1. 信号“地”;信号“地”又称参考“地”,就是零电位的参考点,也是构成电路信号回路的公共段,图形符号“⊥”。1) 直流地:直流电路“地”,零电位参考点。2) 交流地:交流电的零线。应与地线区别开。3...
用户479067 2008-02-28 17:52
0欧姆电阻的作用
0欧姆电阻的作用大概有以下几个功能:①做为跳线使用。这样既美观,安装也方便。②在数字和模拟等混合电路中,往往要求两个地分开,并且单点连接。我们可以用一个0欧的电阻来连接这两个地,而不是直接连在一起。这...
用户479067 2008-02-28 17:48
上拉电阻
上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加...
用户479067 2008-02-28 17:46
电平转换方案
 1. 常用的电平转换方案(1) 晶体管+上拉电阻法    就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。(2) OC/OD 器件+...
用户479067 2008-02-28 17:40
字节对齐
字节对齐一、概念    对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条