/sbin/sh和usr/bin/sh(/bin/sh)的区别

本文详细解释了Bourneshell的不同版本,包括/sbin/sh和/usr/bin/sh的区别。前者为静态链接,后者为动态链接,并探讨了它们各自的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sbin/sh and /usr/bin/sh shells 都是 Bourne shells. /sbin/sh is statically linked /usr/bin/sh is dynamically linked. /bin/sh /bin目录是到/usr/bin的链接 先看看属性: # ls -l /sbin/sh -r-xr-xr-x 2 bin root 251712 Jul 16 1997 /sbin/sh # ls -l /usr/bin/sh -r-xr-xr-x 3 bin root 88620 Jul 16 1997 /usr/bin/sh # file /sbin/sh /sbin/sh: ELF 32-bit MSB executable SPARC Version 1, statically linked, stripped # file /usr/bin/sh /usr/bin/sh: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped # ldd /sbin/sh ldd: /sbin/sh: file is not a dynamic executable or shared object # ldd /usr/bin/sh libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 动态链接的bin执行的时候使用共享的libraries.他们的文件更小, 而且当libraries更新的时候,他们自动使用更新的libaries 静态链接bin包含了所有的代码,不需要使用共享的libraries. 他们的文件大小比动态链接的bin文件要大. 如果系统 "broken"并且libraries被删除了,损坏了,或者/usr目录没被mounted,/sbin/sh仍然可以执行。 所以推荐大家使用/sbin/sh 作为缺省的root shell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值