shell基础
1.shell概述
shell是什么
- shell是一个命令行解析器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是编写一些程序。
- shell还是一个功能相当强大的变成语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令。
查看当前使用的shell类型
1 | $ echo $SHELL |
Linux支持的shell
1 | $ cat /etc/shells |
2.脚本执行方式
echo输出命令
1 | $ echo [选项] [输出内容] |
echo颜色输出
1 | $ echo -e "\e[1;31mhello world\e[0m" |
\e 代表调用颜色
[1; 开启颜色
\e[0m 关闭颜色
脚本执行
赋予执行权限,直接运行
1 | $ chmod 755 hello.sh |
3.Bash的基本功能
命令别名与快捷键
查看系统中所有的命令别名
1 | $ alias |
设定命令别名
1 | $ 设定命令别名 |
写入环境变量配置文件别名永久生效
1 | $ vi ~/.bashrc |
删除别名
1 | $ unalias别名 |
命令生效顺序:
- 第一顺位执行用绝对路径或相对路径执行的命令
- 第二顺位执行别名
- 第三顺位执行Bash的内部命令
- 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
常用快捷键:
Ctrl+c 强制终止当前命令
Ctrl+l 清屏
Ctrl+a 光标移动到命令行首
Ctrl+e光标移动到命令行尾
Ctrl+u 从光标所在位置删除到行首
Ctrl+z 把命令放入后台
Ctrl+r 在历史命令中搜索
历史命令
1 | $ history [选项] [历史命令保存文件] |
历史命令的调用:
- 使用上、下箭头调用以前的历史命令
- 使用”!n”重复执行第n条历史命令
- 使用”!!”重复执行上一条命令
- 使用”!字符串”重复执行最后一条以该字符串开头的命令
输出重定向
1.标准输出重定向:
以覆盖的方式,把命令的正确输出输出到指定文件或设备中1
$ [命令] > [文件]
以追加的方式,把命令的正确输出输出到指定的文件或设备当中1
$ [命令] >> [文件]
2.标准错误输出重定向:
以覆盖的方式,把命令的错误输出输出到指定文件和设备中1
$ [错误命令] 2> [文件]
以追加的方式,把命令的错误输出输出到指定的文件或设备当中1
$ [错误命令] 2>> [文件]
3.正确输出和错误输出同时保存
以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中1
$ [命令] > [文件] 2>&1
以追加的方式,把正确输出和错误输出都保存到同一个文件当中1
$ [命令] >> [文件] 2>&1
以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中1
$ [命令] &> [文件]
以追加方式,把正确输出和错误输出都保存到同一个文件当中1
$ [命令] &>> [文件]
把正确的输出追加到文件1中,把错误的输出追加到文件2中1
$ [命令] >> [文件1] 2 >> [文件2]
多命令顺序执行
多个命令顺序执行,命令之间没有任何逻辑1
$ [命令1] : [命令2]
逻辑与,当命令1正确执行,则命令2才会执行,当命令1执行不正确,则命令2不会执行1
$ [命令1] && [命令2]
逻辑或,当命令1执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行1
$ [命令1] || [命令2]
管道符:
命令1的正确输出作为命令2的操作对象1
$ [命令1] | [命令2]