shell简介

1、shell的工作原理

其实当一个用户以命令行方式登录Linux系统之后,即就进入了shell应用程序。例如:以dog用户使用telnet登录Linux系统之后,就会进入shell的控制。从此时起shell就随时恭候,等待你的差遣(即等你输入命令)并为你保质保量的提供服务(执行输入的命令)。如果你是以图形界面登录,当开启一个终端窗口后也将进入shell应用程序的控制。跟开启的dos窗口有些类似。

shell的功能是将用户输入的命令翻译成Linux内核能够理解的语言,这样Linux内核才能真正地操作计算机的硬件。简而言之,shell就是人与计算机沟通的桥梁。

可以将shell看成用户与Kernel之间的一个接口。shell主要是一个命令解释器,它接受并解释用户输入的命令,然后将它们传给Kernel。最后由Kernel来执行这些命令。

2、使用type识别bash的内置命令

Linux操作系统的命令分为两大类,一类是内部命令即内置在bash中的命令;另一类是外部命令(即该命令不是内置在bash中的)外部命令是以可执行文件的方式存储在Linux的文件系统中的。有时可能需要知道一个命令是内部还是外部命令,如所使用的Linux系统的PATH变量设置的问题,在执行外部命令时可能就需要给出完整的路径。

那么怎样区分哪些命令是外部命令,哪些命令是内部命令呢?即可以使用type命令。

[[email protected] ~]$ man type

使用以上语句命令可以可以查看命令的类型。

type命令的语法格式如下:

type [选项] 命令名

-t:显示文件的类型,其文件类型如下:

file:为外部命令

alias:为别名

builtin:为bash的内置命令

-a:列出所有包含指定命令名的命令,也包括别名(alias)

-P:显示完整的文件名(外部命令),或者内部命令

以下是用type命令来显示pwd命令的类型。

[[email protected] ~]$ type pwd
pwd is a shell builtin

加上选项-a之后如:

[[email protected] ~]$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd

加上选项-t之后如:

[[email protected] ~]$ type -t pwd
builtin

加上选项-P之后如:

[[email protected] ~]$ type -P pwd
/bin/pwd

3、使用通配符操作文件

Linux操作系统提供了如下的通配符:

*:将匹配0个(即空白)或多个字符

?:将匹配任何一个字符而且只能是一个字符

[a-z]:将匹配字符a~z范围内的所有字符

[^a-z]:将匹配所有字符但是a~z范围内的字符除外

[xyz]:将匹配方括号中的任意一个字符

[^xyz]:将匹配不包括方括号中的字符的所有字符

例如我们创建多个文件后,可以使用ls与以上的通配符结合进行查找文件。

4、利用Tab键补齐命令行

5、命令行中~符号的使用

(1)如果~符号后面没有用户名,则该符号代表当前用户的家目录;

(2)如果~符号后面跟一个用户名,则该符号代表这个用户的家目录。

6、history命令与操作曾经使用过的命令

输入history命令,可以显示之前使用过的命令,并且最左边显示命令编号,因而可以使用命令号重新执行所对应的命令。即输入“!“(惊叹号)符号,后面紧跟编号即可。

bash中提供的一些快捷键的使用如下:

(1)利用键盘的上、下箭头键可以在以前使用过的命令之间移动

(2)按Ctrl+R键在命令的历史记录中搜寻一个命令。当按Ctrl+R键之后,会出现如下的提示信息,此时即可输入要搜寻的内容。

(reverse-i-search)`‘:

(3)可以使用如下的组合键提取上一个命令最后面的参数,即

顺序地按Esc+.键

同时按Alt+.键

7、bash变量简介及大括号{}的用法

shell变量就是内存中一个命了名的临时存储区。变量中所存储的信息有以下两种:

(1)按用户的习惯定制shell所需的信息

(2)使一些进程正常工作所需的信息

在Linux系统中有一个名为PATH的预定义变量,在这个变量中存放着执行一个命令时要搜寻的路径,即如果一个命令存储在PATH所列出的任何一个路径中,用户就可以输入命令名来运行这个命令,其中每一个路径用:隔开。

[[email protected] ~]$ echo $PATH

以上的命令就可以列出PATH变量的值

使用大括号{}可以一次建立多个文件,例如:

[[email protected] mumdog]$ touch {dog,wolf}

即建立了两个文件dog和wolf

还可以创建多个文件的类型,例如:

[[email protected] mumdog]$ touch baby.{dog,wolf}

即创建了baby.dog文件和baby.wolf文件

8、讲一个命令的输出作为另一个命令的参数

[[email protected] ~]$ echo "This computer system's name is 'hostname'"
This is computer system's name is dog.super.com

9、使用Linux命令进行数学运算

[[email protected] ~]$ n1=99;n2=53
[[email protected] ~]$ echo $[$n1+$n2]
[[email protected] ~]$ echo $[$n1-$n2]
[[email protected] ~]$ echo $[$n1*$n2]
[[email protected] ~]$ echo $[$n1/$n2]
[[email protected] ~]$ echo $[$n1%$n2]

10、命令中反斜线(\)的用法

在Linux命令中有些字符已经赋予了特殊的含义,如$符号表示提取一个变量的值,如果要恢复一个特殊字符的原来含义,要在这个特殊字符之前冠以反斜线(\),即\之后的特殊字符逃脱其特殊含义而恢复原来的字面意思。

例如:

[[email protected] ~]$ echo "A baby dog's price is $6839.00"
A baby dog's price is 839.00

因为在Linux中系统将$6看成了一个shell变量。改为如下:

[[email protected] ~]$ echo "A baby dog's price is \$6839.00"
A baby dog's price is $6839.00

即可正确显示。

在命令行中,反斜线(\)还有另外一种用法。如果将反斜线(\)放在命令行的最后,就表示它是一个续行符号,即命令要在下一行继续。

反斜线(\)最后一种用法是,即放在通配符前恢复其原来的含义。

11、Linux命令中引号的用法

(1)单引号(‘):禁止所有的命令行扩展功能

(2)双引号(""):禁止所有的命令行扩展功能但以下特殊符号除外

  • 美元符号($)
  • 倒引号(`)
  • 反斜线(\)
  • 惊叹号(!)

shell简介,布布扣,bubuko.com

时间: 2024-10-24 09:56:51

shell简介的相关文章

shell简介 linux由什么语言编写

1.shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支.它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其

[shell]Shell简介

Shell简介 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键.可以说,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度. Shell有两种执行命令的方式: 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条.

shell之路【第一篇】shell简介与入门

shell简介 1.Shell 诞生于 Unix,Unix的第一个脚本语言,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度.2.Shell需要依赖其他程序才能完成大部分的工作,这或许是它的缺陷,但它不容置疑的长处是:简洁的脚本语言标记方式,而且比C语言编写的程序执行更快.更有效率. 3.Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程

Mac上的终端bash命令 Bourne-Again Shell简介

mac上的终端使用的是Bourne-Again Shell命令,简称bash Bourne-Again Shell简介 一 bash是GNU组织开发和推广的一个项目,是对Bourne shell的扩展 Bourne shell是 UNIX 最初使用的 Shell,作者Steven Bourne bash是许多Linux平台的内定Shell,传统UNIX上还有许多Shell,包括tcsh.csh.ash.bsh.ksh Shell Script大致都类同,一个Shell Script通常可以在很多

MongoDB安装及shell简介

MongoDB安装 MongoDB具有跨平台的优良特性,提供了对主流的操作系统支持,我们可以根据自己使用的操作系统,选择下载对应的安装包. 图 1. MongoDB支持各个版本的操作系统 MongoDB在各个操作系统上的安装都比较简单,我们只需要下载安装包,解压到某个目录下,然后指定存储目录并执行mongod,其就可以监听客户端的链接请求了:下面简单的介绍一下在Ubuntu下的安装过程: 将下载的安装包拷贝到特定的目录下,并进行解压 图 2.拷贝MongoDB并解压缩 执行解压MongoDB目录

bash shell简介及变量

一.简介 Bash(GNU Bourne-Again Shell):是shell的一种: 是一个命令语言解释器(command-language interpreter):可以兼容大多数其他shell的语言:其历史及详细介绍请点击:(https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29#Brace_expansion) 二.bash变量 2.1变量命名法则 (1)不能使用程序中的关键字:if, elif, fi, then, for, ... (

Linux Shell简介

Shell是一种有特殊功能的程序,可以把它理解为是用户与内核进行交互才做的一个接口.我们知道,内核是Linux的心脏,内核在开机的时候就被调入并留在内存中.而其他的应用程序,只在需要使用的时候才被调入内存中. Shell就是一种应用程序,它是在用户登录系统的时候,被调入内存执行的.它连接了用户与内核,用户输入的命令,需要Shell传送到内核进行执行才生效,并将结果返回给用户.Shell内封装了很多能够与内核通信的命令,用户就是使用这些命令来管理Linux的了.具体的关系如下所示:  www.ah

Shell简介:什么是Shell,Shell命令的两种执行方式

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支.它虽然不是Unix/Linux系统内核的一部分,它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序

shell 简介

shell既是一种命令语言,也是一种程序设计语言.作为命令语言,它交互式地解析和执行用户输入的命令:作为程序设计语言,他定义了各种变量和参数,并提供了许多的高级语言才具有的控制结构,例如循环和分支. shell有两种执行命令的方式: 交互式:解析执行用户的命令,用户输入一条命令,shell就解析执行一条命令. 批处理:用户事先写好一个shell脚本(script),其中有很多命令,让shell一次性把这些命令执行完,而不必要一条一条地敲命令.