Linux中shell基础、重定向、管道符、环境变量
1、什么是shell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)。它接收用户输入的命令并把它送入内核去执行。起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。
Shell在Linux系统上具有极其重要的地位
2、命令解释过程
Shell可以执行:内部命令、应用程序、shell脚本
3、Shell的种类
常见的各种版本的shell:
Bash(Bourne Again Shell) | bash是大多数Linux系统的默认Shell。bash与bsh完全向后兼容,并且在bsh的基础上增加和增强了很多特性。bash也包含了很多C Shell和Korn Shell中的有点。bash有很多灵活和强大的变成接口,同时又有很友好的用户界面。 |
Ksh(Korn Shell) | Korn Shell(ksh)由Dave Korn所写。它是UNIX系统上的标准Shell。在Linux环境下有一个专门为Linux系统写的Korn Shell的扩展版本,即Public Domain Korn(pdksh) |
tcsh(csh 的扩展) | tcsh是C Shell的扩展。tcsh与csh完全向后兼容,但它包含了更多的使用户感觉方便的新特性。其最大的提高是在命令行编辑和历史浏览方面。 |
4、Linux的元字符
在Shell中有一些具有特殊意义的字符,称为Shell 元字符(shell metacharacters)。
若不以特殊方式(使用转义字符)指明,Shell 并不会把它们当作普通文字符使用。
字符 | 含义 | 字符 | 含义 |
' | 强引用 | *、?、! | 通配符 |
" | 弱引用 | <、>、>> | 重定向 |
\ | 转义字符 | - | 选项标志 |
$ | 变量引用 | # | 注释符 |
; | 命令分隔符 | 空格、换行符 | 命令分隔符 |
5、Bash的基本功能
历史命令(history)
命 令:history 命令可以用来显示曾执行过的命令,也可以根据显示的治疗来重新执行需要的命令
语 法:history(选项)(参数)
选 项:n 显示n个最近的记录
参 数:-a 添加记录
-r 读取记录,但不会添加内容记录
-w 覆盖原有的history 文件
-c 清除记录
-d<编号>[n] 删除指定n条记录
-n<文件> 读取指定文件
-r<文件> 读取文件但不记录
-w<文件> 覆盖原有文件
使用上下箭头---调用以前的历史命令
使用 "!n" 的方式---重复执行第n条历史命令
使用 "!!" 的方式---重复执行上一条命令
使用 "!字符串" 的方式---重复执行最后一条以该字符串开头的命令
使用 "!$" 的方式---重复执行上一条命令的最后一个参数
历史命令存放在当前用户家目录下的 .bash_history 隐藏文件中。