您的位置:首页 > 运维架构 > Shell

shell使用基础

2017-11-08 16:22 183 查看
什么是shell?

Shell是命令解析器,将用户的输入的指令转化为机器可以运行的程序。

Shell-如同其名字一样,它就像是一个壳,而这个壳介于用户和操作系统(Kernel) 中间,负责将用户的命令解释为操作系统可以接受的低级语言,同时将操作系统的响应信息 以用户了解的方式来显示,这样可以避免用户执行不当的命令而对系统产生损害。图描述的 是 Shell 这种角色。

每个用户在登录 Linux 后,系统会出现不同的提示符号,如#、$或~等,之后就可以输 入需要的命令。如果命令正确,系统就可按照命令的要求来执行,直到用户注销系统为止。 在登录到注销期间,用户输入的每个命令都会经过解释并执行,而这个负责的机制就是 Shell。

⑴ 命令的类型

一般用户的命令可分为两大类:程序和 Shell 内置命令。如果该命令为程序类型,那 么 Shell 会找出该程序,然后将控制权交给内核,并由内核负责执行该程序;而在内核将 程序执行完毕后,再将控制权交给 Shell。但如果是 Shell 内置命令,则由 Shell 直接响 应,因此速度较快。

要判断一个命令属于 Shell 的内置命令还是程序,可以用 find 命令来判断:如果 find 命令没有任何响应,则表示该命令为 Shell 内置命令;如果显示查找的结果,则该命令为 程序。

其实 Shell 的概念并不只存在与 Linux 系统,在其他的操作系统上也有,只不过名称 不同,如 DOS 中的 command.com 和 Microsoft Windows 的 GUI(Graphical User Interface)。

但是 Linux 操作系统对于 Shell 极具灵活性的使用,是其他操作系统望尘莫及的。在 Linux 中可以使用的 Shell 很多,并且可以随意更换不同的 Shell。

⑵ Shell 的种类

Linux 支持的 Shell 都记录在/etc/shells 文件中,我们可以使用 cat 命令来查看支持 的 Shell。

[wd@localhost ~]$ cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

虽然每种 Unix/Linux 系统可以兼容的 Shell 有很多,但是使用较广的只有三种: Bourne Shell(sh)、C Shell(csh)以及 Korn Shell(ksh)。

利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:

#!/bin/sh
#comments
Your commands go here


首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程 序。

编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个Bash脚本文件。

执行脚本的时候,要先将脚本文件的属性改为可执行的:

chmod +x filename.sh

执行脚本的方法是:

./filename.sh

shell 默认变量

#:传入脚步的命令行参数个数*:所有命令行的参数值,在各个参数值之间留有空格

0:命令本身(shell文件名)1:第一个命令行参数

$2:第二个命令行参数

部分内容转自吴迪零基础学Qt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c