- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章、Shell基础
一、Shell概述
1、什么是Shell
shell是一个命令解释器
用户通过shell与系统内核交互
shell既是命令解释程序,又是程序设计语言
Shell的分类
$ shell不属于内核的一部分,因此可以在系统中存在多种shell程序
$ 常用的shell类型
Bourne shell sh
C shell csh
Korn shell ksh
Bourne Again shell bash
$ 在不同的Shell间切换:
# /bin/sh
# /bin/csh
# /bin/ksh (不输入bin 直接输入Shell 的简化名也可以。)
# exit 退出
默认是在bash里。
Shell下命令的解析过程
1、shell将命令拆分成单个的令牌
2、shell首先判断第一个令牌是内部命令还是
外部命令
ashell将直接执行
b、若是外部命令,shell在PATH变量指定的目录
列表中查找该命令程序
3
4、执行完毕后,返回命令提示符
二、bash的基本特性
1、命令的补全 “tab”键补全
2、命令和历史纪录
$ bash保留了一定数目的已经输入过的命令。这个数目取决于一个叫作HISTSIZE的变量。
历史文件的文件名被一个叫HISTFILE的变量指定。
$ history——显示和编辑历史命令。
常用选项:
-r——读取指定的历史列表文件内容并且把他们追加到当前的历史列表中。
-w——把当前的命令历史纪录写入文件中,并覆盖文件原来的内容。
-a——把当前的命令历史纪录追加到文件中。
-c——清空历史纪录。、
history 后加数字:
例1:# history 10 (显示历史命令记录里的最后10条记录,并显示序列号)。
3、编辑命令行
命令行的快捷键
键 值 说 明 Ctrl+k 删除从光标到行尾的部分 Ctrl+u 删除从光标到行首的部分 Ctrl+w 删除从光标到当前单词开始的部分 Ctrl+a 将光标移到行首 Ctrl+e 将光标移到行尾 Ctrl+y 插入最近删除的单词 !$ 重复前一个命令最后的参数(虽然不是一个快捷键,但却是一个适用的功能) 例如:#mkdir -P /a/b/c/d
#cd !$ (就相当于cd /a/b/c/d)
命令的别名 (alias)
创建一个别名的格式:alias 自己想象的较简单的名字=‘要改的源名词命令’
删除改过的格式: unalias 改的名字
(用alias命令改的别名,重启系统之后就不存在了)
bash中的特殊字符
(1)、通配符
常用的通配符有( * ? 和在方括号[ ]中的字符 )
$ ‘*’代表任何字符串,但是文件名前的圆点‘.’和路径名中的‘/’必须显示匹配,例如:‘*’不能代表‘.file’,而‘.*’才可以匹配‘.file’。
$ ‘?’代表任何单个字符。
$ ‘[ ]’代表指定的一个字符范围。
通配符具体含义
模式串 意 义 * 当前目录下所有文件的名称 *text* 当前目录下所有文件名中包含有text的文件名称 [ab-dm]* 当前目录下所有以a、b、c、d、m开头的文件名称 [ab-dm]? 当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的名称 /usr/bin/?? 目录/usr/bin 下所有名称为两个字符的文件的名称 (2)、引号
在shell里,引号分为(单引号、双引号、反引号)。
$ 单引号( ‘ )
由单引号括起来的字符,都作为普通字符出现。
$ 双引号( “ )
由双引号括起来的字符除“$”,“\”“’”和“””这几个字符仍是保持特殊字符的意义外,其余字符作为普通字符。
$ 反引号( ` ),此键在键盘的左上角。
由反引号括起来的字符串被shell解析为命令。
(3)、反斜线 ( \ )
在Linux中是转义符,把紧跟在“\”后面的一个字符当作普通字符处理。
(4)、输入与输出重定向
文件描述符
每个正在执行的命令都会访问一个或多个文件,每个文件都由一个小的非负整数标识,称为“文件描述符”
文件描述符是文件描述符表的索引
文件描述符由内核维护,内核用它访问打开的文件和输入与输出流
输入与输出
标准输入:使用文件描述符0。它是命令的输出,默认是键盘,也可以是文件或是其它命令的输出。
标准输出:
文档评论(0)