第7章 命令行基础
不用鼠标也能操作电脑,前端开发的必备技能
作者:zyyc-0336 | 日期:2026-06-12
📚 学习路径建议
1. 先学 7.1.1-7.1.2(终端是什么、目录操作),学会在电脑里"走来走去"
2. 再学 7.1.3(文件操作),学会创建、删除文件
3. 然后学 7.1.4(npm 基础),掌握前端必备的包管理工具
⚠️ 常见错误提示
命令行严格区分大小写:cd MyFolder不是cd myfolder
Windows 和 Mac/Linux 的路径分隔符不同:Windows 用\,Mac/Linux 用/
路径有空格时,要用引号包起来:cd "My Folder"
npm install之前必须先npm init(初始化项目)
7.1.1 什么是终端
终端(Terminal)就是一个用文字输入命令来操作电脑的工具。平时你用鼠标双击打开文件夹,终端就是用打字来完成同样的事情。
终端也叫"命令行"、"控制台"、"Shell"。不同系统自带的终端不同:
| 系统 | 内置终端 | 推荐终端 |
|---|---|---|
| Windows | PowerShell、CMD | Windows Terminal(微软商店免费下载) |
| macOS | Terminal.app | Terminal.app 或 iTerm2 |
| Linux | 各种 Shell | 自带终端就行 |
在 VS Code 中打开终端
VS Code 内置了终端,按 Ctrl + `(键盘左上角反引号键)就能打开。
终端的基本结构
C:\Users\你的用户名\Desktop> ← 光标在这里等你输入命令
> 前面是当前所在目录,后面等你输入命令。
💡 终端就像一个"万能遥控器"——输入命令,电脑就执行。不会用鼠标没关系,会打字就行。
7.1.2 目录操作
目录操作就是在终端里"走来走去"——进文件夹、出文件夹、看看里面有什么。
pwd —— 我在哪?
pwd
# 输出:/c/Users/你的用户名/Desktop
# 显示当前所在的目录路径
ls —— 这里有什么?
ls # 列出当前目录下的文件和文件夹
ls -a # 列出所有文件(包括隐藏文件)
ls -l # 列出详细信息(大小、日期、权限)
ls -la # 组合使用:所有文件 + 详细信息
cd —— 进入某个目录
cd Documents # 进入 Documents 文件夹
cd "My Folder" # 文件夹名有空格要用引号
cd .. # 返回上一级目录
cd ../.. # 返回上两级目录
cd ~ # 回到用户主目录
cd / # 回到根目录(慎用)
cd # 不带参数也回到主目录
mkdir —— 创建文件夹
mkdir my-project # 创建一个文件夹
mkdir -p src/components # 一次性创建多级文件夹
rmdir —— 删除空文件夹
rmdir my-folder # 删除空文件夹
rm -rf my-folder # 删除文件夹及里面所有内容(慎用!不可恢复)
📂 综合场景:创建博客项目的文件夹结构
# 第一步:去到桌面
cd ~/Desktop
# 第二步:创建项目文件夹
mkdir blog-project
# 第三步:进入项目
cd blog-project
# 第四步:创建子文件夹
mkdir -p src/css
mkdir -p src/js
mkdir -p src/images
# 第五步:看看成果
ls -la
# 总共会有 src 文件夹,里面包含 css、js、images 三个子文件夹
| 命令 | 作用 | 记忆口诀 |
|---|---|---|
pwd | 显示当前路径 | Print Working Directory |
ls | 列出文件 | List |
cd | 切换目录 | Change Directory |
mkdir | 创建目录 | Make Directory |
rm | 删除文件/目录 | Remove |
⚠️ 新手易错:rm -rf是不可恢复的删除,不要在根目录或主目录执行!一个手滑rm -rf /会删掉整个系统。
7.1.3 文件操作
touch —— 创建空文件
touch index.html # 创建一个空的 index.html 文件
touch style.css script.js # 一次创建多个文件
cat —— 查看文件内容
cat index.html # 在终端里显示文件内容
echo —— 写入内容到文件
echo "Hello World" > hello.txt # 创建文件并写入(覆盖)
echo "新内容" >> hello.txt # 追加内容到文件末尾
cp —— 复制文件
cp index.html backup.html # 复制文件
cp -r src/ src-backup/ # 复制整个文件夹(-r 表示递归)
mv —— 移动/重命名文件
mv old-name.html new-name.html # 重命名
mv file.txt documents/file.txt # 移动文件到另一个文件夹
rm —— 删除文件
rm hello.txt # 删除文件
rm -r folder-name # 删除文件夹及内容
📂 综合场景:搭建博客项目的基础文件
# 创建项目结构
mkdir blog-project && cd blog-project
# 创建基础文件
touch index.html
touch style.css
touch script.js
# 创建文件夹
mkdir images
# 查看项目结构
ls -la
# index.html style.css script.js images/
# 复制一份备份
cp index.html index-backup.html
# 重命名
mv script.js app.js
# 最终查看
ls
# app.js index-backup.html index.html style.css images/
| 命令 | 作用 | 示例 |
|---|---|---|
touch | 创建空文件 | touch app.js |
cat | 查看文件内容 | cat index.html |
echo | 写入内容 | echo "Hi" > a.txt |
cp | 复制 | cp a.txt b.txt |
mv | 移动/重命名 | mv a.txt b.txt |
rm | 删除 | rm a.txt |
⚠️ 新手易错:>会覆盖文件原有内容,>>是追加。如果用echo "新内容" > index.html,原来的 HTML 代码会被覆盖掉!
7.1.4 npm 包管理器基础
npm(Node Package Manager)就是 JavaScript 的"应用商店"。别人写好的代码(叫"包"或"库"),用 npm 一键安装到你的项目里。
npm 随 Node.js 一起安装。先去 nodejs.org 下载安装 Node.js(推荐 LTS 版本)。
检查是否安装成功
node -v # 查看 Node.js 版本
npm -v # 查看 npm 版本
npm init —— 初始化项目
每个 npm 项目都有一个 package.json 文件,记录项目信息和依赖。npm init 就是创建这个文件。
npm init # 交互式创建,需要回答一堆问题
npm init -y # 跳过问题,全部用默认值(推荐)
npm init -y 会生成一个 package.json 文件:
{
"name": "blog-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
npm install —— 安装包
# 安装一个包(会出现在 node_modules 文件夹里)
npm install lodash
# 安装多个包
npm install lodash axios dayjs
# 安装并记录到 package.json 的 dependencies(生产依赖)
npm install axios --save # 新版 npm 默认就是 --save
# 安装为开发依赖(只在开发时需要,比如代码格式化工具)
npm install prettier --save-dev
# 简写:
npm install prettier -D
# 全局安装(整个电脑都能用)
npm install -g http-server
# 安装 package.json 里记录的所有依赖
npm install
npm uninstall —— 卸载包
npm uninstall lodash # 卸载 lodash
npm run —— 运行脚本
在 package.json 的 scripts 里可以定义命令:
{
"scripts": {
"dev": "http-server",
"build": "echo 构建完成"
}
}
npm run dev # 运行 dev 脚本
npm run build # 运行 build 脚本
npm start # 特殊:可以直接用,等同于 npm run start
📂 综合场景:初始化博客项目并安装依赖
# 第一步:创建项目文件夹
mkdir my-blog && cd my-blog
# 第二步:初始化 npm 项目
npm init -y
# 第三步:安装需要的包
npm install dayjs axios
# 第四步:查看成果
ls
# node_modules package.json package-lock.json
# 查看 package.json,dependencies 里会有 dayjs 和 axios
cat package.json
npm 常用命令速查表
| 命令 | 作用 |
|---|---|
npm init -y | 初始化项目(创建 package.json) |
npm install <包名> | 安装包 |
npm install | 安装 package.json 里的所有依赖 |
npm install <包名> -D | 安装为开发依赖 |
npm uninstall <包名> | 卸载包 |
npm run <脚本名> | 运行自定义脚本 |
npm update | 更新所有包 |
npm list | 查看已安装的包 |
7.1.4.1 npx 与语义化版本
npx 是 npm 自带的工具,用来直接运行包里的命令,而不需要先全局安装这个包。
npx 的核心用法
# 不用 npx 的话,要先全局安装再运行
npm install -g create-react-app # 先装
create-react-app my-app # 再用
# 用 npx,一行搞定(自动下载、运行、用完不占空间)
npx create-react-app my-app
| 对比 | npm install -g + 运行 | npx |
|---|---|---|
| 是否需要安装 | 需要全局安装 | 不需要,临时下载运行 |
| 版本管理 | 装的版本可能过时 | 每次运行最新版(或指定版本) |
| 磁盘占用 | 一直占空间 | 运行完可以清理 |
# npx 常见用法
npx create-react-app my-app # 创建 React 项目
npx create-vite my-vue-app # 创建 Vue 项目
npx http-server # 启动本地服务器(不需要全局装)
npx eslint src/ # 运行代码检查
语义化版本(Semantic Versioning)
npm 包的版本号遵循 MAJOR.MINOR.PATCH 的格式,例如 2.14.3:
| 版本位 | 含义 | 什么时候改 | 示例 |
|---|---|---|---|
| MAJOR(主版本) | 有不兼容的改动 | 旧代码可能不能用 | 1.x.x → 2.0.0 |
| MINOR(次版本) | 新增功能,向下兼容 | 加了新东西但旧代码还能用 | 1.0.x → 1.1.0 |
| PATCH(补丁版本) | 修复 bug,向下兼容 | 修了个小问题 | 1.0.0 → 1.0.1 |
package.json 中的版本前缀
| 前缀 | 含义 | 示例 | 实际安装范围 |
|---|---|---|---|
^ | 允许次版本和补丁更新 | ^1.2.3 | >=1.2.3 且 <2.0.0 |
~ | 只允许补丁更新 | ~1.2.3 | >=1.2.3 且 <1.3.0 |
| 无前缀 | 锁定精确版本 | 1.2.3 | 只装 1.2.3 |
{
"dependencies": {
"axios": "^1.6.0", // 允许 1.6.x、1.7.x ... 但不能到 2.0.0
"lodash": "~4.17.21", // 只允许 4.17.x 的补丁更新
"critical-lib": "2.0.1" // 锁定这个精确版本
}
}
💡 记忆口诀:^小变化都接受(主版本不变),~只接受修 bug(次版本不变),无前缀钉死版本。
⚠️ 新手易错:^是 npm 的默认前缀。npm install axios会自动写成"axios": "^x.x.x"。如果你需要精确控制版本,手动去掉^。
⚠️ 新手易错:node_modules 文件夹可能有几百 MB,不要手动改里面的东西,它是 npm 自动生成的。
⚠️ 新手易错:package.json和package-lock.json一定要提交到 Git,但node_modules不要提交(后面会用.gitignore排除)。
⚠️ 新手易错:npm install在没有package.json的目录下会报错。先npm init -y。
本章复盘——命令行核心要点
| 要点 | 说明 |
|---|---|
| pwd | 显示当前所在目录 |
| ls | 列出目录内容 |
| cd | 切换目录,.. 回上级,~ 回主目录 |
| mkdir | 创建文件夹,-p 创建多级 |
| touch | 创建空文件 |
| cp / mv / rm | 复制、移动/重命名、删除 |
| npm init -y | 初始化项目(创建 package.json) |
| npm install | 安装包,-D 是开发依赖 |
| npm run | 运行自定义脚本 |
下一章预告(第7章):我们将学习Git 入门与协作——版本控制的基本概念、Git 常用操作、分支管理和 GitHub 协作流程。
本文档由 zyyc-0336 编写,最后更新:2026-06-14