Shell 简介
什么是 Shell?
Shell 是用户与 Linux 内核之间的接口,它接收用户输入的命令,将其解释并传递给内核执行,然后将结果返回给用户。
Shell 的功能
1. 命令解释
Shell 读取并执行用户输入的命令:
2. 脚本编程
Shell 是一种脚本编程语言,可以编写自动化脚本:
3. 环境管理
Shell 管理环境变量和工作环境:
4. 输入输出重定向
Shell 可以重定向命令的输入和输出:
5. 作业控制
Shell 可以管理后台进程:
常见的 Shell
Bash(Bourne Again Shell)
最流行的 Shell,是大多数 Linux 发行版的默认 Shell。
特点
- GNU 项目的一部分
- 兼容 Bourne Shell (sh)
- 丰富的功能:命令补全、历史、别名
- 强大的脚本能力
Zsh(Z Shell)
功能更丰富的 Shell,macOS 的默认 Shell。
特点
- 强大的自动补全
- 主题和插件支持(Oh My Zsh)
- 拼写纠正
- 共享历史
Fish(Friendly Interactive Shell)
用户友好的现代 Shell。
特点
- 开箱即用的语法高亮
- 智能自动补全
- 基于 Web 的配置
- 不兼容 POSIX
其他 Shell
查看和切换 Shell
查看当前 Shell
查看可用 Shell
临时切换 Shell
更改默认 Shell
Bash 配置文件
Bash 使用多个配置文件,在不同场景下加载。
配置文件概览
登录 Shell vs 非登录 Shell
登录 Shell
- 用户登录系统时启动(TTY 登录、SSH 登录)
- 执行
/etc/profile和~/.bash_profile
非登录 Shell
- 打开终端模拟器时启动
- 执行
/etc/bash.bashrc和~/.bashrc
主要配置文件
/etc/profile(系统级,登录时)
~/.bash_profile(用户级,登录时)
~/.bashrc(用户级,每次启动)
~/.bash_logout(退出时)
加载配置文件
Shell 提示符
PS1 - 主提示符
特殊字符
彩色提示符
常用颜色代码
PS2 - 续行提示符
PS3 和 PS4
Bash 特性
命令历史
命令补全
别名
命令类型
Oh My Bash
Oh My Bash 是 Bash 的配置框架,提供主题和插件。
安装
配置
编辑 ~/.bashrc:
小结
本章介绍了 Shell 的基本概念:
- Shell 的作用:命令解释、脚本编程、环境管理
- 常见 Shell:Bash、Zsh、Fish
- 配置文件:
.bashrc、.bash_profile等 - 提示符定制:PS1 及颜色设置
- Bash 特性:历史、补全、别名
Shell 是 Linux 的核心工具,深入理解 Shell 将极大提高你的工作效率。接下来我们将学习输入输出重定向。
上一章:文件查找
下一章:输入输出重定向