基础介绍
命令行(Command Line)是一种通过输入文本命令来与计算机交互的界面,也称为命令行界面(CLI - Command Line Interface)。它是一种交互方法,而不是具体的程序。相比图形用户界面(GUI),命令行提供了更直接和强大的方式来控制计算机。熟练掌握后会大大提高工作效率,特别是在服务器管理、软件开发等领域非常有用。
命令行、终端、shell有什么区别?
命令行(Command Line)
- 这是一个概念性的术语,指的是通过输入文本命令来与计算机交互的方式
- 它是一种用户界面类型,与图形用户界面(GUI)相对
- 命令行是一种交互方法,而不是具体的程序
终端(Terminal)
- 是一个程序,提供了命令行界面的窗口
- 负责处理输入和输出的显示
- 可以理解为是命令行的"容器"或"窗口"
- 现代终端都是终端模拟器,模拟早期的硬件终端
- 例如:
- Mac 上的 Terminal.app
- iTerm2
- Windows 上的 Command Prompt
- Linux 上的 GNOME Terminal
Shell
- 是一个命令解释器,是实际处理命令的程序
- 负责解释用户输入的命令并执行相应的操作
- 它是终端中实际运行的程序
- 常见的 Shell:
- Bash(Mac/Linux 默认)
- Zsh(较新 Mac 系统默认)
- PowerShell(Windows)
- Fish
- sh
举个例子来说明它们的关系:
- 终端就像一个办公室
- 命令行是你在办公室里工作的方式
- Shell 则是实际帮你完成工作的助手
实际使用时:
- 你打开终端程序(如 Terminal.app)
- 终端启动一个 Shell(如 Bash 或 Zsh)
- 你通过命令行方式(输入文本命令)
- Shell 解释并执行这些命令
- 终端显示执行结果
命令行的使用流程参考
以一个前端开发项目的完整流程为例,展示命令行的使用过程:
场景:创建一个新的React项目,进行开发,并将代码提交到Git仓库
# 1. 创建项目目录
mkdir my-react-project # 创建新项目文件夹
cd my-react-project # 进入项目文件夹
# 2. 初始化新的React项目
npx create-react-app . # 在当前目录创建React项目
# 等待项目创建完成...
# 3. 查看项目结构
ls -l # 列出所有创建的文件和文件夹
# 会看到 src/, public/, package.json 等文件和目录
# 4. 安装项目依赖
npm install # 安装package.json中列出的所有依赖
npm install axios # 安装额外需要的包,如axios用于HTTP请求
# 5. 启动开发服务器
npm start # 启动开发服务器
# 现在可以在浏览器中访问 http://localhost:3000
# 6. 初始化Git仓库
git init # 初始化新的Git仓库
# 7. 配置Git
git config user.name "你的名字" # 设置Git用户名
git config user.email "你的邮箱" # 设置Git邮箱
# 8. 创建.gitignore文件
echo "node_modules/" >> .gitignore # 添加node_modules到忽略列表
echo ".env" >> .gitignore # 添加.env文件到忽略列表
# 9. 添加文件到Git
git add . # 添加所有文件到暂存区
git status # 查看当前Git状态,确认添加的文件
# 10. 创建第一次提交
git commit -m "初始化项目" # 创建首次提交
# 11. 连接远程仓库(假设已在GitHub创建了仓库)
git remote add origin https://github.com/用户名/my-react-project.git
git push -u origin main # 推送到远程仓库
# 12. 进行开发修改
vim src/App.js # 使用vim编辑器修改App.js文件
# 或使用其他编辑器进行修改
# 13. 查看修改
git diff # 查看做了哪些修改
# 14. 提交新的修改
git add src/App.js # 添加修改的文件
git commit -m "更新App组件" # 提交修改
git push # 推送到远程仓库
# 15. 构建生产版本
npm run build # 构建生产版本
ls build/ # 查看构建后的文件
# 16. 查看项目状态
npm run test # 运行测试
npm audit # 检查依赖包的安全问题
命令行的使用场景和示例
使用建议:
- 开始时可以保存这些常用命令作为参考
- 多使用
--help
或man
命令查看详细说明 - 重要操作前先在测试环境验证
- 涉及删除或修改时要特别小心
- 可以创建别名(alias)来简化常用命令
记住:命令行最大的优势是自动化和批处理能力,当你需要重复执行某些操作时,命令行往往是最高效的选择。
场景 | 示例 |
---|---|
Git 版本控制 | |
文件管理 | |
系统管理 | |
远程操作 | |
软件安装 | |
文件查找 | |
权限管理 | |
进程管理 | |
网络诊断 | |
日志查看 | |
压缩/解压 | |
数据库操作 | |
使用建议: