Shell
人机交互的中介
常见shell
字符界面
terminal
- 黑窗口
图形界面
windows窗口
- 图形窗口
声控界面
小爱同学
- 只通过声音交流
真人界面
傻妞
- 拟人交互界面
主要作用
- 利用定义好的指令间接的指挥计算机干活
Bash基本功能
alisa
- 给命令起别名功能
history
- 查看历史命令
|
- 管道符
通配符
- ?* [] [-] [^]
grep
- 搜索文本功能
命令 > 文件
- 输出重定向
多条命令
命令1 :命令2
- 顺序执行
命令1 && 命令2
- 前命令正确执行后执行后命令
命令1 || 命令2
- 前一命令错误执行,才执行后一个命令
exit
- 退出shell
快捷键
ctrl+a
- 光标移到开头
ctrl+e
- 光标移到结尾
ctrl+u
- 向前剪切删除
ctrl+k
- 向后剪切删除
ctrl+c
- 终止当前命令
ctrl+z
- 当前进程后退运行
一门编程语言
数据
字符串
- 一串字符
数组
文件
变量
自定义变量
- 局部变量
- 定义 x=123
- 调用 $x
- 叠加 x=”$a”456
- 查询 set -u
- 删除 unset x
环境变量
系统环境变量
PATH
- 命令路径
PS1
- 定义命令提示符
LANG
- 系统语言
- 纯字符界面支持中文:插件zhcon
- 远程连接工具支持中文
自定义环境变量
全局变量
定义 export x=123
查看
查看所有
- set
查看环境变量
- env
调用 $x
删除 unset
预定义变量
位置参数变量
- $n $* $@ 向脚本程序传递参数
$?
- 最后一条命令的返回状态
$$
- 当前进程的进程号(PID)
$!
- 最后一个进程的进程号(PID)
函数
内置函数
- 可忽略
自定义函数
- 很少用
内置命令
echo
- 回声,输出内容到屏幕
read
- 接收键盘输入功能
- -p 提示信息
-t 等待时间
-n 指定字符数
-s 隐藏输入
declare
- 声明变量类型
文本处理工具
正则表达式
cut
- 提取列数据
sed
- 提取行数据
awk
- 文本分析
sort
- 排序工具
流程控制
条件语句
if语句
- if then
双分支
- if then else
多分支
- if elif else
- case
循环语句
- for
- while
- until
break
continuse
参考资料
http://linuxcommand.org/index.php
Shell
http://www.keker.top/2018/09/24/Linux/shell/