终端
2023年6月10日 2023年11月17日
便签
shell概念
接口
shell,和core相区分,是操作系统的外层。通过Shell程序,可以使用系统服务或其他程序提供的功能。
根据操作系统类别和操作类型,shell可以分为图形shell(图形用户界面)和命令行shell(命令行界面)。
- CLI
Command-Line Interface
命令行界面
通过文本命令和计算机交互 - GUI
Graphical User Interface
图形用户界面
通过鼠标操作
早期的操作系统并没有图形用户接口,我们通常说的shell,指的是命令行shell。
终端程序
Terminal
Wrapper Program
在终端输入文本命令
终端程序 | 说明 |
---|---|
iTerm | macOS |
Windows Terminal | Windows |
Gnome Terminal | 使用Gnome作为桌面的Linux自带的终端程序 |
Hyper | |
Warp | 目前macOS;自动补全,鼠标交互,内置工作流,AI功能 |
Alacrity |
命令解释器
Shell
程序
终端中运行的程序。接受命令,然后解释并执行。
Shell启动时自动读取配置文件。
Shell | 说明 |
---|---|
sh | Bourne Shell |
UNIX上的标准shell | |
bash | Bourne-Again Shell |
GNU开发;Linux默认 | |
不完全兼容sh shell,对一些命令和参数进行了扩展 | |
配置文件 ~/.bash_profile | |
zsh | 19年之前macOS默认Bash;之后使用zsh |
配置文件 ~/zshrc | |
第三方框架oh-my-zsh提供其他功能 | |
phish |
脚本语言
需要解释器,每次运行时都需要解释。
- |
---|
JavaScript |
PHP |
Lua |
Python |
C# |
Shell脚本
开发语言
Shell Script
由一连串Shell命令组成,可以指定解释脚本的Shell程序。
命令提示符
Prompt
命令解释器提供并在终端显示,如当前路径和git信息。
类别 | |
---|---|
第三方提示 | Powerline Starship Power Level 10K Spaceship |
第三方框架 | oh-my-zsh |
提供各种promots,configuration options,aliases,plugins。支持自定义prompt,调整Shell行为 |
查看Shell信息
命令解释器
- 当前使用的Shell
1echo $SHELL 2echo $0
- 已安装Shell
1cat /etc/shells
Shell操作
- 切换Shell程序
重新打开终端生效
1chsh -s /bin/bash
不修改SHELL环境变量
1zsh
- 手动读取配置文件
zsh
1source ~/.zshrc
- 指定Shell脚本的命令解释器
1#!/bin/bash