一 Shell 概述
1.1 什么是 Shell
范例:
也就是说141这个八进制,在ASCII码中代表小写的“a”,其他的以此类推。
echo 命令还可以进行一些比较有意思的东西,比如:
这条命令会把abcd按照红色输出。解释下这个命令e[1是标准格式,代表颜色输出开始,e[Om代表颜色输出结束,31m定义字体颜色是红色。
范例:取消系统的注释音
2.2 Shell 脚本的执行
Shell脚本写好了,那么这个脚本该如何运行呢/p>
在Linux中脚本的执行主要有这样两种种方法:赋予执行权限,直接运行
这种方法是最常用的shell脚本运行方法,也最为直接简单。就是赋予执行权限之后,直接运行。
当然运行时可以使用绝对路径(推荐使用绝对路径),也可以使用相对路径运行。命令如下:
通过Bash 调用执行脚本
这种方法也非常简单,命令如下:
三 Bash 的基本功能
3.1 历史命令
1)历史命令的查看
我们使用history命令查看的历史命令和/.bash_history文件中保存的历史命令是不同的。那是因为当前登录操作的命令并没有直接写入/.bash_history文件,而是保存在缓存当中的。需要等当前用户注销之后,缓存中的命令才会写入~/.bash_history 文件。如果我们需要把内存中的命令直接写入~l.bash_history文件,而不等用户注销时再写入,就需要使用“-w”选项了。命令如下:
这时再去查询~/.bash_history文件,历史命令就和history命令查询的一致了。
如果需要清空历史命令,只需要执行:
历史命令是存放在 硬盘Disk 中的。
2)历史命令的调用
如果想要使用原先的历史命令有这样几种方法:
- 使用上、下箭头调用以前的历史命令
- 使用“!n”重复执行第n条历史命令
- 使用“!!”重复执行上一条命令
- 使用“!字串”重复执行最后一条以该字串开头的命令
- 使用“!$”重复上一条命令的最后一个参数
3.2 命令与文件的补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Tab”键就会自动进行补全
- 快速输入
- 帮助排错
3.3 命令别名
既然我们说别名的优先级比命令高,那么命令执行时具体的顺序是什么呢令执行时的顺序是这样的:
1、第一顺位执行用绝对路径或相对路径执行的命令。
2、第二顺位执行别名。
3、第三顺位执行Bash的内部命令。
4、第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的弟一个命令。为了让这个别名永久生效,可以把别名写入环境变量配置文件“~/.bashrc”,命令如下:
3.4 Bash常用快捷键
快捷键 | 作用 |
---|---|
ctrl+A | 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。 |
ctrl+E | 把光标移动到命令行结尾。 |
ctri+C | 强制终止当前的命令。 |
ctrl+L | 清屏,相当于clear命令。 |
ctrl+U | 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便 |
ctrl+K | 删除或剪切光标之后的内容。 |
ctrl+Y | 粘贴ctrl+U或ctrl+K剪切的内容。 |
ctrl+R | 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。 |
ctrl+D | 退出当前终端。 |
ctrl+Z | 暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管理章节详细介绍。 |
ctrl+S | 暂停屏幕输出。 |
ctrl+Q | 恢复屏幕输出。 |
3.5 输入输出重定向
1)Bash的标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
2)Bash的输出重定向
类型 | 符 | 作用 |
---|---|---|
标准输出重定向 | 命令 > 文件 | 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。 |
命令 >> 文件 | 以追加的方式,把命令的正确输出输出到指定的文件或设备当中。 | |
标准错误输出重定向 | 错误命令 2> 文件 | 以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中。 |
错误命令 2>> 文件 | 以追加的方式,把命令的错误输出输出到指定的文件或设备当中。 | |
正确输出和错误输出同时保存 | 命令 > 文件 2>&1 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。 |
命令 >> 文件 2>&1 | 以追加的方式,把正确输出和错误输出都保存到同一个文件当中。 | |
命令 &> 文件 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。 | |
命令 &>> 文件 | 以追加的方式
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
小爱同学+8266的小爱语音台灯,基于Blinker库
上一篇
2022年8月1日
|