shell 基础
shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序。用户可以使用 shell 来启动、挂起、停止甚至是编写一些程序。
shell 还是一个功能相当强大的编程语言。易编写、易调试、灵活性较强。shell 是解释执行的脚本语言。在 shell 中可以直接调用 Linux 系统命令。
Bash
Bash 与 sh 兼容,现在用的 Linux 就是使用 Bash 作为用户的基本 Shell。
你可以在终端输入 echo $SHELL 来看系统使用的是那类 shell。shell 分为两大类,一类是 Bourne shell,也叫 B shell, Bash 就属于这一类;另一类是 C shell,这一类主要被 Unix 系统所采用。
脚本执行方式
echo 命令
格式:echo [选项] [输出内容]
这个命令可以将输入的内容输出。比如:echo "hello shell"。回车后就会输出 hello shell 字符串。
它的选项可以是 -e,表示支持反斜杠控制的字符转换。
| 控制字符 | 描述 |
|---|---|
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符,也就是 Tab 键 |
\v | 垂直制表符 |
\0nnn | 按照八进制 ASCII 码表输出字符,nnn 是三位八进制数 |
\0xhh | 按照十六进制 ASCII 表输出字符,hh 是两位十六进制数 |
颜色输出
echo 命令支持颜色输出。
格式:echo -e "\e[1;颜色值 输出文字 \e[0m"
| 颜色值 | 颜色 |
|---|---|
30m | 黑色 |
31m | 红色 |
32m | 绿色 |
33m | 黄色 |
34m | 蓝色 |
35m | 洋红 |
36m | 青色 |
37m | 白色 |
比如:echo -e "\e[1;31m 你好 \e[0m"
标准脚本
写一个脚本文件时,你应该在文件的最上方写上这一会语句:#!/bin/bash 表示这是一个标准的脚本文件。# 是 shell 当中的注释字段,但这一句话并不是注释。
脚本执行
两种执行方式。
- 赋予执行权限,直接执行。
文件目录(相对、绝对路径都可以) - 通过 Bash 调用脚本。
bash xxx.sh
Bash 的基本功能
alias 命令
该命令可以查看系统当中已经生效的别名。别名就是给原本的名字起一个简短的名字,让操作更简便。
设定别名:alias 别名= “原命令” 设定命令别名。通过这种方式设置的别名是临时的。当系统重启后会失效。
别名永久生效
vi ~/.bashrc —— 写入环境变量配置文件。如果是配置用户下的环境变量,则应是: vi /home/user/.hashrc 。 写入完毕后,调用 source 配置文件名 就会把这个文件调用一遍,让它直接生效。
通过命令 unalias 别名 来删除别名。
命令生效顺序
- 第一顺序执行用绝对路径或相对路径的命令;
- 第二顺位执行别名;
- 第三顺位执行 Bash 的内部命令;
- 第四顺位执行按照
$PATH环境变量定义的目录查找顺序找到的第一个命令;