shell[计算机术语]--是操作系统最外面的一层。其指的是操作系统与外部最主要的接口。壳层(英语:Shell)在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中,提供访问内核所提供之服务的程序。不过这个词也拿来指应用软件,或是任何在特定组件外围的软件,例如浏览器或电子邮件软件是HTML排版引擎的shell。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。通常将壳层分为两类:命令行与图形界面。命令行壳层提供一个命令行界面(CLI);而图形壳层提供一个图形用户界面(GUI)。
计算机术语_shell[计算机术语] -计算机术语
shell在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
计算机操作系统在排序算法中,Shell是希尔排序的名称。
基本上shell分两大类:
一:图形界面shell(GraphicalUserInterfaceshell即GUIshell)
例如:应用最为广泛的WindowsExplorer(微软的windows系列制作系统),还有也包括广为人知的Linuxshell,其中linuxshell包括Xwindowmanger(BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、XFCE。
二:命令行式shell(CommandLineInterfaceshell,即CLIshell)
例如:
bash/sh/ksh/csh(Unix/linux系统)
(MS-DOS系统)
cmd.exe/命令提示字符(WindowsNT系统)
WindowsPowerShell(支援.NETFramework技术的WindowsNT系统)
传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shellscript(非交互)方式执行。shellscript是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shellscript是命令行命令简单的组合到一个文件里面。
Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourneshell(sh)和Cshell(csh)。
交互式shell和非交互式shell
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
shellshell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
shell的类型
在UNIX中主要有两大类shell
Bourneshell(包括sh,ksh,andbash)
Bourneshell(sh)
Kornshell(ksh)
BourneAgainshell(bash)
POSIXshell(sh)
Cshell(包括cshandtcsh)
Cshell(csh)
TENEX/TOPSCshell(tcsh)
BourneShell
首个重要的标准UnixShell是1970年底在V7Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者StephenBourne的名字命名。Bourneshell是一个交换式的命令解释器和命令编程语言。Bourneshell可以运行为loginshell或者loginshell的子shell(subshell)。只有login命令可以调用Bourneshell作为一个loginshell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。
CShell
BillJoy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了Cshell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
KornShell
shell有很长一段时间,只有两类shell供人们选择,Bourneshell用来编程,Cshell用来交互。为了改变这种状况,AT&T的bell实验室DavidKorn开发了Kornshell。ksh结合了所有的Cshell的交互式特性,并融入了Bourneshell的语法。因此,Kornshell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inlineediting)等功能。KornShell是一个交互式的命令解释器和命令编程语言.它符合POSIX――一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准――在源程序一级跨越多种平台。
BourneAgainShell(bash)
bash是GNU计划的一部分,用来替代Bourneshell。它用于基于GNU的系统如Linux.大多数的Linux(RedHat,Slackware,Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
POSIXShell
POSIXshell是Kornshell的一个变种.当前提供POSIXshell的最大卖主是Hewlett-Packard。在HP-UX11.0,POSIXshell就是/bin/sh,而bsh是/usr/old/bin/sh.
各主要操作系统下缺省的shell:
AIX下是KornShell.
Solaris缺省的是Bourneshell.
FreeBSD缺省的是Cshell
HP-UX缺省的是POSIXshell.
Linux是BourneAgainshell.
WindowsPowerShell是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术(IT)管理员能够全面地自动操作和控制系统管理任务,从而提高了管理员的生产力。WindowsPowerShell包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储或WindowsManagementInstrumentation(WMI)。WindowsPowerShell还专门针对IT管理,提供直观的脚本编写语言。
Shell也是一个VB函数,它的作用是运行程序,语法是Shell(命令字符串[,窗口类型])
计算机术语_shell[计算机术语] -常用命令
cat文件名输出文件内容到基本输出(屏幕or加>fileName到另一个文件)
cb格式化源代码
chmod//changemode,改变文件的权限
cpcopy
date当前的时间和日期
echo$abc在变量赋值之后,只需在变量前面加一个$去引用.
lint语法检查程序
lsdir
manhelp
moretype
du查看磁盘空间状况
ps查看当前进程状况
who你的用户名和终端类型
定义变量name=abc?(bash/pdksh)||setname=abc(tcsh)
mkdir创建目录
rmdir删除目录
cd进入目录
rm删除文件
more显示文件
echo显示指定文本
mv改文件名
pwd显示目录路径命令
计算机术语_shell[计算机术语] -相关用途
shell使用用户的缺省凭证和环境执行shell。
在UEFI环境下,EFI的Shell环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的DOS界面将会被SHELL环境所取代,所有的.exe文件将不会在以后支持SHELL的环境中出现,取而代之的文件后缀是.efi。在SHELL环境下,分为IA32和X64,32位的*.efi文件不能在X64的计算机中运行。
计算机术语_shell[计算机术语] -命令描述
shell命令重新初始化用户的登录会话。当给出该命令时,就会重新设置进程的控制终端的端口特征,并取消对端口的所有访问。然后shell命令为用户把进程凭证和环境重新设置为缺省值,并执行用户的初始程序。根据调用进程的登录用户标识建立所有的凭证和环境。
如果在可信路径上调用shell命令,并且/etc/security/user文件中用户的tpath属性没有always值,那么就不维护终端的可信环境。
注:shell命令不会重新设置用户的登录标识。
安全性
访问控制:该命令应该被setuid为root用户,以重新设置用户的进程凭证、授权执行(x)访问所有用户。该命令应该具有可信计算库属性。
文件访问:
方式文件
r/etc/passwd
r/etc/group
r/etc/security/audit/config
r/etc/security/environ
r/etc/security/limits
r/etc/security/user
审计事件:
事件信息
USER_Shellportname