Linux 中的不同 Shell
SHELL是一个提供用户和操作系统之间接口的程序。当用户登录操作系统时,会为用户启动一个 shell。内核控制所有基本的计算机操作,并提供对硬件访问的限制,协调所有执行的实用程序,并管理进程之间的资源。仅使用内核的用户可以访问操作系统提供的实用程序。
外壳类型:
- C壳——
Denoted as csh
Bill Joy 在加州大学伯克利分校创建了它。它结合了别名和命令历史等功能。它包括有用的编程功能,如内置算术和类似 C 的表达式语法。
在 C 壳中:
Command full-path name is /bin/csh, Non-root user default prompt is hostname %, Root user default prompt is hostname #.
- 伯恩壳——
Denoted as sh
它由 AT&T 贝尔实验室的史蒂夫·伯恩 (Steve Bourne) 编写。它是原始的 UNIX shell。它更快,更受欢迎。它缺乏交互式使用的功能,例如调用以前的命令的能力。它还缺乏内置的算术和逻辑表达式处理。它是 Solaris 操作系统的默认 shell。
对于 Bourne shell:
Command full-path name is /bin/sh and /sbin/sh, Non-root user default prompt is $, Root user default prompt is #.
- 科恩壳牌
It is denoted as ksh
它是由 AT&T 贝尔实验室的 David Korn 编写的,它是 Bourne shell 的超集。因此它支持 Bourne shell 中的所有内容。它具有交互功能。它包括内置算术和类似 C 的数组、函数和字符串操作工具等功能。它比 C shell 更快。它与为 C shell 编写的脚本兼容。
对于 Korn shell:
Command full-path name is /bin/ksh, Non-root user default prompt is $, Root user default prompt is #.
- GNU Bourne-Again Shell –
Denoted as bash
它与 Bourne shell 兼容。它包括来自 Korn 和 Bourne shell 的功能。
对于 GNU Bourne-Again shell:
Command full-path name is /bin/bash, Default prompt for a non-root user is bash-g.gg$ (g.ggindicates the shell version number like bash-3.50$), Root user default prompt is bash-g.gg#.