在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

Shell新手教程_Shell新手教程

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

Shell新手教程_Shell新手教程_02

基本上shell分两大类:

一:图形界面shell

(Graphical User Interface shell 即 GUI shell)

例如:应用最为广泛的Windows Explorer(微软的Windows系列操作系统),还有也包括广为人知的Linux shell,其中Linux shell包括X Window Manager(BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 Xfce。

二:命令行式shell

(Command Line Interface shell ,即CLI shell)

例如:

sh(Bourne Shell)/csh/tcsh/bash/ksh/zsh/fish等(Unix及类unix)

COMMAND.COM(CP/M系统;MS-DOS、PC-DOS、DR-DOS、FreeDOS等DOS;Windows 9x)

cmd.exe/命令提示符(OS/2、Windows NT、React OS)

Windows PowerShell(支持.NET Framework技术的Windows NT)

Shell新手教程_Shell新手教程_03

传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。

Shell 除了能解释用户输入的命令,将它传递给内核,还可以:

调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;

在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;

Shell 本身也可以被其他程序调用。

由此可见,Shell 是将内核、程序和用户连接了起来。

Shell 本身支持的命令并不多,但是它可以调用其他的程序,每个程序就是一个命令,这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作,如文本或字符串检索、文件的查找或创建、大规模软件的自动部署、更改系统设置、监控服务器性能、发送报警邮件、抓取网页内容、压缩文件等。

————————————————

版权声明:本文为榕擎实业的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。