Shell 是什么
在学习编程和操作系统时,你一定会听到“Shell”这个词。它是每个程序员都绕不开的基础工具之一。那么,Shell 到底是什么?
Shell,中文常译为“壳”,本质上是操作系统的用户界面。它负责接收用户的命令,并把这些命令传递给操作系统内核去执行。你可以把 Shell 想象成操作系统和用户之间的“翻译官”或“中介”,用户通过 Shell 与计算机进行“对话”。
Shell 既可以是命令行界面(CLI),也可以是图形界面(GUI)。但通常我们说的 Shell,都是指命令行 Shell,比如 Linux 下的 bash、zsh,Windows 下的 cmd、PowerShell 等。
Shell 的历史可以追溯到 20 世纪 60 年代的 Unix 操作系统。最早的 Shell 是 sh(Bourne Shell),由 Stephen Bourne 在 1977 年开发。随着 Unix 的发展,出现了许多不同的 Shell,比如:
- sh(Bourne Shell):最早的标准 Shell
- bash(Bourne Again Shell):Linux 下最常用的 Shell,功能丰富,兼容 sh
- zsh:功能更强,扩展性好,现代开发者常用
- fish:语法更友好,自动补全强大,但是并不完全符合 POSIX 标准
每种 Shell 都有自己的语法和特性,但它们的核心作用都是一样的:让用户通过命令与操作系统交互。
在 Windows 系统下,最早的命令行工具是 cmd.exe(命令提示符),后来微软又推出了更强大(?)的 PowerShell。虽然它们和 Unix/Linux 下的 Shell 在实现和语法上有很大不同,但本质上都是 Shell。
为什么要学习 Shell?
有些同学可能会问:“既然现在都有这么方便的图形界面(点点点)了,为什么还要学这种‘黑框框’一样的命令行呢?”
- 效率极高:如果你要在一个文件夹里创建 100 个文件,用鼠标点 100 次右键新建可能要花好几分钟,但在 Shell 里,只需要一行命令:
touch file{1..100}.txt。 - 自动化:你可以把一连串的命令写成一个脚本文件,让电脑自动帮你处理复杂的任务。
- 管理服务器:以后如果你要买自己的云服务器(比如阿里云、腾讯云),或者在实验室跑深度学习模型,这些远程服务器通常是没有图形界面的,你只能通过 Shell 来操作。
- 极客范儿:你不觉得在黑框框里敲代码的样子看起来很酷吗?(逃
如何打开 Shell?
- Windows: 推荐使用 PowerShell 7。按下
Win + R键,输入pwsh(如果安装了 PS7) 或powershell即可打开。当然,如果你安装了 Git,使用 Git Bash 也是个极好的选择。 - macOS: 苹果电脑自带 终端 (Terminal)。你可以在“应用程序 -> 实用工具”里找到它,或者直接用 Spotlight 搜索
Terminal。 - Linux: 不同发行版路径不同,但通常快捷键
Ctrl + Alt + T就能唤出那个熟悉的黑框框。
常用命令初体验
在学习 C/C++ 时,你通常只需要掌握几个最基础的命令来管理你的代码文件。
1. 我在哪? —— pwd
pwd (Print Working Directory) 会告诉你当前所在的文件夹路径。
pwd
# 输出可能是 /Users/yourname/Documents2. 这儿有什么? —— ls
ls (List) 会列出当前目录下的所有文件和文件夹。
ls
# 如果想看详细信息(比如文件大小、修改时间),可以用 ls -l3. 我要去哪? —— cd
cd (Change Directory) 让你在不同的文件夹之间切换。
cd Desktop # 进入桌面
cd .. # 返回上一级目录
cd ~ # 回到用户主目录4. 搞个新文件夹 —— mkdir
mkdir (Make Directory) 用来创建新文件夹。
mkdir my_cpp_project5. 建个新文件 —— touch
在 Linux/macOS 下(以及 Git Bash),touch 可以创建一个空文件。
touch hello.cpp6. 看看文件里写了啥 —— cat
cat 可以直接在终端里把文件内容打印出来。
cat hello.cpp必须要学会的“神技”
如果你还在一个字母一个字母地敲文件名,那你就亏大发了!
- Tab 补全:这是 Shell 的灵魂。当你输入文件名的前几个字母后,按下
Tab键,Shell 会自动帮你补全剩下的部分。如果有多个匹配项,按两下Tab会列出所有可能。 - 方向键历史:按下
↑(上箭头)可以快速找回你刚才输入过的命令,再也不用重复输入了。 - 清屏:如果屏幕太乱了,输入
clear(Windows 下是cls) 就能还你一个干净的界面。
现在,你可以试着打开你的终端,输入 pwd 看看你在哪,然后用 mkdir 给你的 C++ 学习之路建一个专属的文件夹吧!
Last updated on