use*_*325 -1 linux shell history
在 Ubuntu 中,/bin/sh
是一个符号链接,指向/bin/dash
.
是否有一个 Unix 或类 Unix 操作系统,其中/bin/sh
有一个实际的 shell 而不是指向 shell 的符号链接?
在 Ubuntu 中,它并不总是指向dash
. 这发生在 Ubuntu 6.10 的发布中。可在此处找到解释更改原因的详尽文档。
从该文件:
切换默认 shell 的主要原因是效率。bash 是一个优秀的全功能 shell,适合交互式使用;事实上,它仍然是默认的登录 shell。但是,与dash相比,它的启动和操作相当大且缓慢。大量 shell 实例作为 Ubuntu 启动过程的一部分启动。Ubuntu 核心开发团队认为,与其单独更改它们中的每一个以在 /bin/dash 下显式运行,但这种更改需要大量的持续维护,并且如果不密切关注可能会倒退,Ubuntu 核心开发团队认为最好只是更改默认外壳。Ubuntu 6.10 中启动速度的改进通常被错误地归因于 Upstart,这是一个很好的平台,可用于 init 系统的未来开发,但在 Ubuntu 6 中。10 主要在 System V 兼容模式下运行,只有很小的行为变化。这些改进实际上主要是由于 /bin/sh 的更改。
sh
不可能一直是符号链接,因为符号链接仅在 4.2 BSD (1977) 中引入,而旧的Unix 第六版已
$ tar tvzf v6root.tar.gz | grep 5888
-rwxrwxr-x 0 3 3 5888 May 13 1975 ./bin/sh
$
Run Code Online (Sandbox Code Playgroud)
今天您可以看到没有/bin/sh
符号链接的 BSD。举些例子:
pdksh
:$ ls -il /bin/{,k,rk}sh 26004 -r-xr-xr-x 3 根 bin 469976 2016 年 2 月 26 日 /bin/ksh 26004 -r-xr-xr-x 3 根 bin 469976 2016 年 2 月 26 日 /bin/rksh 26004 -r-xr-xr-x 3 根 bin 469976 2016 年 2 月 26 日 /bin/sh $
% ls -il /bin/sh 561595 -r-xr-xr-x 1 根轮 143432 2017 年 1 月 7 日 /bin/sh %