Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
1.常用类别:Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。
2.echo: echo -e #-e为特殊字符特殊处理
(table键)
(换行) x(十六进制)
echo -e "e[1;32m hello world e[0m"
3.脚本的执行:vim hello.sh
#!/bin/bash
echo -e "e[1;32m hello boy e[0m"
chmod 755 hello.sh #赋予执行权限
./hello.sh #当前目录下的hello.sh文件
或者: bash hello.sh
4.别名:alias
vi ~/root/.bashrc #写入环境变量配置文件
source .bashrc #永久生效
unalias 别名 #删除别名
5.快捷键:ctrl+c 强制终止当前命令
ctrl+l 清屏
ctrl+a 光标移到命令行首
ctrl+e 光标移到命令行尾
ctrl+u 光标所在位置删除到行首
ctrl+z 把命令放入后台
ctrl+r 在历史命令中搜索
history
!n #n指代执行的哪个命令
!! #前一条命令
!字串
6.输出重定向: 命令 > 文件 #覆盖
命令 >> 文件 #追加
命令>>文件 #错误输出
命令 >> 文件 2>&1 #正确错误都输出同一文件
命令 &>>文件 #同上
命令>>文件1 2>>文件2 #正确追加到文件1,错误追加到文件2
7.统计命令: wc
ctrl + d
wc 文件名 #统计文件
分别为:行数 单词数 字节数 文件名
wc << XXX #XXX作为标记,到此为止
8.多命令顺序执行:
; #只是连接多个命令
&& #前一个命令正确执行,后一个才会执行
|| #命令一不正确执行,后一个才执行
命令 && echo yes || echo no #判断命令是否正确执行
9.管道符: 命令1 | 命令2 #命令2能操作命令1
ls -l /etc | more
10.通配符: ? #任意一个字符
* #任意多个字符
[0-9] [^0-9]
aa=123 #变量赋值
echo $aa #变量值
'' echo '$aa' #字符串$aa
"" echo "$aa" #变量值
`` aa=`ls`或 aa=$(ls) #赋命令执行结果
#转义符