终端与Linux基础
2. 终端与Linux基础
2.1 什么是终端
平常使用电脑,我们主要通过图形界面 GUI进行操作:
点击 双击 拖拽 菜单 窗口 按钮另一种方式是通过命令:
cdprojectlsmkdirtest这种方式通常称为:
Terminal
终端
命令行
CLI(Command-Line Interface)
更准确一点的概念
严格来说:
终端(Terminal) ↓ 提供输入和显示命令结果的界面 Shell ↓ 真正读取和解释命令的程序常见 Shell 包括:
Bash
Zsh
PowerShell
例如 Ubuntu 中常见 Bash,macOS 近年来默认使用 Zsh。
入门阶段不需要深入区分,但知道它们不是完全同一个东西即可。
2.2 为什么软件开发经常使用终端
GUI 当然可以创建目录、移动文件和启动程序,但终端具有几个开发场景中的优势。
1. 操作更容易精确描述
例如:
mkdir-p~/Projects/zero2tech比:
“先打开资源管理器,然后点这个,再点那个……”
更容易复现。
2. 很多开发工具本身就是命令行工具
以后可能会不断遇到:
gitpython pipsshdocker3. 远程服务器通常主要依赖命令行
服务器可能没有桌面环境,因此很多时候:
本地电脑终端 ↓ SSH 远程服务器终端就是主要工作方式。
4. 报错更容易复制和分析
命令和完整错误信息通常都是文本,可以直接复制出来进行搜索、记录和排查。
2.3 当前工作目录
终端中最重要的概念之一是:
Current Working Directory,当前工作目录。
终端中的很多命令都会默认对“当前目录”执行。
所以刚开始学习终端时,应不断问:
我现在在哪里?
2.4 Linux 常用命令
2.4.1pwd:查看当前目录
pwdpwd可以理解为:
Print Working Directory例如输出:
/home/alice/projects表示当前位于这个目录。
2.4.2ls:查看目录内容
ls表示列出当前目录中的文件和子目录。
常见扩展:
ls-l以更详细形式显示。
ls-a显示包括隐藏文件在内的内容。
ls-la组合使用。
学习初期最重要的记忆:
pwd → 我在哪里? ls → 这里有什么?2.4.3cd:切换目录
cd目录例如:
cdprojects进入当前目录中的projects。
cd..进入上一级目录。
cd~回到家目录。
cd/进入根目录。
使用绝对路径:
cd/var/www/html使用相对路径:
cd./images2.4.4mkdir:创建目录
mkdirtest创建:
test/如果要一次创建多层目录:
mkdir-pprojects/demo/src其中-p会在需要时创建缺失的父目录。
2.4.5touch:创建空文件
touchhello.txt如果文件不存在,通常会创建一个空文件。
严格来说,如果文件已经存在,touch主要会更新它的时间戳。
所以:
“
touch= 创建文件”
只是入门阶段非常实用的简化理解。
2.4.6cat:查看文本文件
cathello.txt会把文件内容直接输出到终端。
适合查看较短的文本文件。
如果文件特别长,以后可以使用:
lessfilename进行分页浏览。
2.4.7rm:删除文件
rmhello.txt删除hello.txt。
需要特别注意:
Linux 终端中的
rm通常不会把文件送进类似 Windows 回收站的地方。
因此删除前建议:
pwdls确认当前路径和目标文件。
2.4.8rmdir:删除空目录
rmdirtest只能删除空目录。
如果目录里还有文件,它通常会拒绝删除。
后续还会遇到:
rm-rdirectory递归删除整个目录。
这是风险更高的命令,初学阶段必须谨慎使用。
2.4.9clear:清屏
clear清空终端当前显示区域。
它不会删除文件,也不会撤销命令,只是清理显示内容。
2.5 Vim 基础
Vim 是终端环境中非常常见的文本编辑器。
输入:
vimhello.txt即可用 Vim 打开文件。
Vim 与普通编辑器最大的不同之一:
它有不同的操作模式。
2.5.1 最低限度需要掌握的操作
进入编辑模式:
i退出编辑模式:
Esc保存并退出:
:wq不保存、强制退出:
:q!一个完整过程
vim hello.txt ↓ 按 i ↓ 输入内容 ↓ 按 Esc ↓ 输入 :wq ↓ Enter然后:
cathello.txt检查内容是否保存成功。
Vim 四件套
i Esc :wq :q!目前不需要系统学习 Vim,只要确保不会“进去以后出不来”。
2.6 Linux 路径符号
终端中高频出现:
| 符号 | 含义 |
|—|—|
|~| 家目录 |
|/| 根目录 |
|.| 当前目录 |
|..| 上一级目录 |
例如:
cd~cd..cd/cd.2.7 什么叫“Linux 直觉”
所谓 Linux 直觉,并不是背大量命令,而是逐渐形成以下思维:
整个系统是一棵目录树 ↓ 我始终位于其中某一个目录 ↓ 文件存在于具体路径中 ↓ 命令会读取、创建、修改或删除这些文件 ↓ 程序本身也运行在这套文件系统中服务器没有图形界面时,这套直觉尤其重要。
2.8 Windows、WSL 与 Linux
Windows 用户可以使用:
PowerShell
Git Bash
WSL(Windows Subsystem for Linux)
如果后续需要学习 Linux、服务器、Python 开发环境等,WSL 通常是非常适合的方案。
WSL 是什么
可以先粗略理解为:
在 Windows 中提供一个真正的 Linux 用户空间环境。
例如安装 Ubuntu WSL 后,你会看到:
user@computer:~$在这里执行:
pwdlscdmkdirtouchcatrm基本就是 Linux 的操作方式。
WSL 中访问 Windows 文件
Windows 的:
C:\Users\Alice在 WSL 中通常对应:
/mnt/c/Users/Alice所以:
cd/mnt/c/Users/Alice可以进入 Windows C 盘对应位置。
推荐的一个习惯
如果项目主要在 Linux / WSL 环境中开发,通常建议把项目直接放到 WSL 文件系统,例如:
~/projects/而不是长期把所有 Linux 项目都放在/mnt/c/...下。
这样在权限、文件系统行为和部分开发工具性能上通常更自然。
2.9 命令速查表
| 命令 | 作用 |
|—|—|
|pwd| 显示当前工作目录 |
|ls| 列出目录内容 |
|cd path| 切换目录 |
|cd ..| 上一级目录 |
|cd ~| 回到家目录 |
|mkdir name| 创建目录 |
|touch file| 创建空文件 / 更新时间戳 |
|cat file| 输出文本文件内容 |
|rm file| 删除文件 |
|rmdir dir| 删除空目录 |
|clear| 清屏 |
|vim file| 使用 Vim 编辑文件 |