shell简介

来源:互联网 发布:即时通讯软件怎么开发 编辑:程序博客网 时间:2024/06/05 06:17

  Shell其实是一个有特殊功能的程序,主要是提供用户与内核交互操作的一个接口。它的位置介于用户界面和内核之间,工作流程是接收用户输入的命令并且进行解释(转换为计算机可以理解的机械码),然后将命令送入内核去执行。我们一般通过ssh远程登录系统并且打开shell,也有一些是直接在图形界面上直接打开终端的方式打开shell。后者主要用于ubuntu系统中。


    这里主要介绍目前较为流行或者历史上存在的一些shell的种类,目前流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。


通过以下命令可以查看系统中安装了哪些shell程序,如图:

wKiom1W3RdPyjjfsAABVqFXQUvc382.jpg


目前流行的

目前流行的shell有ash、bash、ksh、csh、zsh等,使用不同的shell的原因在于它们各自都有自己的特点,下面作一个简单的介绍:

# sh

sh其实是一个快捷方式。

# bash

这个是目前大多数Linux系统默认使用的shell,全名是BourneAgain Shell,一共有40个命令。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。如一般shell脚本的第一行会如下:

#!/bin/bash

bash还有一个特点,可以通过help命令来查看帮助。

# ksh

ksh有42条内部命令,与bash相比有一定的限制性。但是ksh主要用于unix例如HP-Uinx

# /bin/nologin

这个一般是指用户不能登录。

# dash

dash是为跑脚本而生的,具有比bash更快的效率,但是交互性能较差。现在主要用在Debian和Ubuntu上。其内部命令以及参数等与bash有一些差别,如果使用bash命令写的一些脚本可能会出错。

# tcsh & csh

把tcsh和csh放一起介绍是因为目前这两种sh其实是同一种,tcsh是csh的增强版,并且完全兼容csh。顾名思义csh,其实是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多。

# pdksh

pdksh是Oracle自身的一种shell,主要用在Oracle数据库管理上。一般是DBA才会使用这种shell。它与ksh不能共存,如果系统中安装了ksh,那么安装pdksh时会报错。

# zsh

最后介绍一目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

以后再为大家介绍为要使用shell以及shell脚本的优势以及限制。


原创粉丝点击