Shell是什么
内核 <-> Shell(命令解析器) <-> 终端
用户在终端输入命令
Shell充当翻译官 将用户输入命令翻译解释为内核可以理解的指令
实现细节
Shell在寻找命令的时候是按照$PATH环境变量寻找的
找到了对应命令就执行 找不到就会报错
执行 echo $PATH 可以查看环境变量的值
结论
如果终端上显示未找到命令 可能是命令敲错 或者命令未配置到环境变量中
Shell在Linux系统中的定位
Shell在英文单词中是壳的意思
Shell包住了系统内核
Linux系统结构 由外到内依次是
用户 -> 应用层 -> Shell层 -> 内核层 -> 硬件
Shell层接收 Shell命令 如 "ls"
Shell层 向内核层发起 系统调用
内核层 向硬件发起 驱动指令
常用的命令解析器
/bin/sh
/bin/bash(用的更多)
sh和bash都是命令解析器 都被称作Shell
通过 echo $SHELL 可以查看系统目前使用的是什么Shell
通过 cat /etc/shells 查看系统中目前支持哪些Shell
快捷键
TAB 自动补全 (其中sh不支持)
history 显示输入过的所有命令
ctrl+a 光标移动到头部
ctrl+e 光标移动到尾部
ctrl+u 删除光标前所有内容
ctrl+k 删除光标后所有内容