分析一下shell(转)
/sbin/sh??? 是靜態(tài)鏈接的
/usr/bin/sh?是動(dòng)態(tài)鏈接的
/bin/sh? ???/bin目錄是到/usr/bin的鏈接,所以/bin/sh和/usr/bin/sh是一樣的。
先看看屬性(11.31 IA版本為例):
# ll /sbin/sh
-r-xr-xr-x?? 1 bin??????? bin??????? 1469936 Oct 27? 2009 /sbin/sh??
# ls -l /usr/bin/sh??
-r-xr-xr-x?? 2 bin??????? bin???????? 681952 Oct 27? 2009 /usr/bin/sh
# ldd /sbin/sh
/sbin/sh:
ldd: “/sbin/sh” is not a shared executable.
# ldd /usr/bin/sh??
/usr/bin/sh:
??????? libc.so.1 =>??? /usr/lib/hpux32/libc.so.1
??????? libdl.so.1 =>?? /usr/lib/hpux32/libdl.so.1
從ldd的結(jié)果我們可以看到/usr/bin/sh需要?jiǎng)討B(tài)鏈接兩個(gè)庫,而/sbin/sh不需要?jiǎng)討B(tài)鏈接庫。
動(dòng)態(tài)鏈接的bin執(zhí)行的時(shí)候使用共享的libraries.他們的文件更小,
而且當(dāng)libraries更新的時(shí)候,他們自動(dòng)使用更新的libaries
靜態(tài)鏈接bin包含了所有的代碼,不需要使用共享的libraries. 他們的文件大小比動(dòng)態(tài)鏈接的bin文件要大.
如果系統(tǒng) “broken”并且libraries被刪除了,損壞了,或者/usr目錄沒被mounted,/sbin/sh仍然可以執(zhí)行。??
所以推薦大家使用/sbin/sh 作為缺省的root shell
總結(jié)
以上是生活随笔為你收集整理的分析一下shell(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小度灵机大模型正在内测中:【超级助理】内
- 下一篇: 信用卡刷一笔就上征信吗