shell初览
Unix:控制系统资源,分配给用户。提供文件系统:文件+信息
Unix:包含:内核,基本程序:编译,编辑,命令语言
全双工:键盘——系统——回显到终端(屏幕)
回车键:输入的结束(刷新缓冲区?),控制字符(非字面意义)
crrl+d:程序结束
shell:命令解释器。系统对用户的主界面
命令(字符串)——shell解释(转义,通配展开)——参数(字符串)——被调用指令程序
命令的组成:命令 选项 参数(通配符转义——文件名)
文件系统命令
文本内容相关
1.显示文本信息 (编辑器) cat, tail
2.统计 wc
3.比较 cmp diff
4.简单处理 拼接 cat; 排序 sort
文件属性修改
1.路径修改 rm(to nil), mv(可同时换名)
2.副本 cp
目录
1.列出目录下文件名(选项指定排序关键字)
2.pwd
3.cd 切换(绝对/相对)
空 主目录
.当前目录
..父目录
路径名与文件名同质,互换
shell
存在于用户与内核之间
代理?
1.通配符展开(转义)
2.输入输出重定向(&管道)
3.环境配置(变量,预执行命令)
1.通配符
用echo检查
*
?
[]
只匹配已存在的文件
可用于路径名
'不做解释'
2.IO重定向
here<in
here>out
in/out:文件名
不指定文件名,则命令对标准输入操作
3.管道 |
取代临时变量
IO终端——IO管道,将标准IO重定向到管道
管道线上程序同时运行,程序间可以相互交互。内核处理调度与同步。
4.进程
shell命令行
;分隔(不立即执行)
&立即读取下个命令
进程:程序实例
进程标识符:数字。管道线显示最后一个进程
kill ID,kill 0
ps,ps -ag
PID:进程ID,tty创建进程的终端
进程与文件有相同的层次化结构
数据——属性分离?
运行命令的进程:shell直接子进程
shell环境
.profile 登录后执行
shell变量来控制shell特性
变量指定——$变量使用
HOME
PATH:分割
私用变量小写
export 对所有命令可见的变量