TODO:Shell
Shell 是包装计算机的一个壳,提供人员与电脑之间交互的接口,是一个命令解释器,用来解决人与操作系统之间的交互问题,可以分为以下两个大类:
- 命令行:解析输入命令,主要有 bash sh csh ksh,zsh 等,每种都有各自特点
- bash:bash shell 最早的 Unix Shell,应用广泛;
- zsh:被誉为 shell 中的极品,兼容 bash,有强大的补全功能、高可配性等其他功能;
- 图形化:KDE GNOME CDE XFCE,解析点击等交互命令
Shell 还是一个功能强大的编程语言,在 Shell 中可以直接调用 Linux 命令。Shell 主要有两种语法:
- 一类是 Linux 的 Bourne Shell,包括:sh ksh Bash(标准 Shell) psh zsh(最好用的)等
- 另一类是 Unix 的 C Shell,包括:csh tcsh 等
shell 切换
# 切换bash
chsh -s /bin/bash
# 切换zsh
chsh -s /bin/zsh
Shell 脚本执行方法
方式一:赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
方式二:通过 Bash 调用执行脚本:bash hello.sh
TODO:Shell 脚本编写
#!/bin/bash
#The first program
echo -e "hello world"
多命令执行
- 顺序执行
;:<命令1>;<命令2> - 逻辑与
&&:<命令1>&&<命令2> - 逻辑或
||:<命令1>||<命令2>
输出重定向
标准输入输出 标准输入 键盘 0 /dev/stdin 标准输出 显示器 1 /dev/stdout 标准错误输出 显示器 2 /dev/stderr
输出重定向就是把默认输出到屏幕的信息输出到其它位置,一般为输出到屏幕
命令 > 文件:把命令的正确输出以覆盖的方式输出到文件命令 >> 文件:把命令的正确输出以追加的方式输出到文件错误命令 2>文件:把命令的错误输出以覆盖的方式输出到文件错误命令 2>>文件:把命令的错误输出以追加的方式输出到文件命令 > 文件 2>&1命令 &> 文件:以覆盖的方式把命令的正确和错误输出都保存到同一个文件命令 >> 文件 2>&1命令 &>> 文件:以追加的方式把命令的正确和错误输出都保存到同一个文件命令>>文件 2>>文件2:把命令的正确和错误输出保存到不同文件中命令 &> /dev/null:把命令的输出扔掉,不显示到屏幕中