Linux 命令概述与环境准备
为什么必须学 Linux 命令
作为计算机专业学生,Linux 是必修课。原因有三:
- 服务器世界的事实标准:全球 90% 以上的云服务器运行 Linux
- 开发效率的倍增器:命令行操作比图形界面快 10 倍以上
- 理解系统的钥匙:网络、进程、文件系统,命令行让你看到本质
Linux 命令的学习哲学
不要背命令,要背场景。当你需要"找出日志里访问最多的 IP"时,你自然会记住 awk '{print $1}' | sort | uniq -c | sort -rn | head。命令是工具,场景才是记忆锚点。
分层递进:
- 生存层:能在终端里活下来(ls, cd, cat, rm)
- 文件层:理解权限、目录结构、软硬链接
- 系统层:监控进程、磁盘、内存
- 网络层:诊断连接、抓包、路由
- 开发层:编译、调试、版本控制
- 自动化层:Shell 脚本、管道组合
环境准备方案
方案对比
| 方案 | 推荐度 | 适合谁 | 优缺点 |
|---|---|---|---|
| WSL2 | ⭐⭐⭐ 首选 | 用 Windows 的学生 | 与 Windows 文件互通、启动快、资源占用低。缺点:没有完整 systemd,部分内核级实验受限 |
| VMware/VirtualBox + Ubuntu LTS | ⭐⭐⭐ 最纯粹 | 电脑配置较好(8G+ 内存) | 完全隔离,可以随便折腾而不怕搞坏系统。缺点:占用磁盘/内存,与 Windows 传文件稍麻烦 |
| 云服务器 | ⭐⭐ 辅助 | 想练习公网 IP、远程 SSH | 24 小时在线,有独立公网 IP。缺点:需要花钱(学生价约 10 元/月),不适合日常编程 |
大一建议:WSL2 + Ubuntu 22.04/24.04 作为日常开发环境,VirtualBox 装一个纯净 Ubuntu 专门做网络实验(方便快照恢复)。
WSL2 安装(Windows 10/11)
# 以管理员身份打开 PowerShell,执行:
wsl --install
# 安装完成后重启,设置用户名密码
# 更新软件源
sudo apt update && sudo apt upgrade -y
虚拟机安装(VirtualBox)
- 下载 Ubuntu 22.04 LTS ISO(ubuntu.com)
- VirtualBox 新建虚拟机,分配 2G 内存、20G 磁盘
- 启动后安装系统,选择"最小安装"
- 安装增强功能(共享剪贴板、拖放文件)
# 安装后更新
sudo apt update && sudo apt upgrade -y
# 安装常用工具
sudo apt install -y vim git curl wget net-tools
终端基础操作
打开终端
- WSL2:开始菜单 → Ubuntu
- Ubuntu 虚拟机:Ctrl + Alt + T
- macOS:Command + 空格 → 输入 Terminal
终端提示符解读
user@hostname:~$
# user = 当前用户名
# hostname = 主机名
# ~ = 当前目录(~ 表示家目录 /home/user)
# $ = 普通用户权限(# 表示 root 权限)
第一个命令
# 查看当前日期时间
date
# 输出:Mon Jan 15 08:30:00 CST 2024
# 查看当前用户
whoami
# 输出:user
# 查看当前目录
pwd
# 输出:/home/user
文件系统结构
Linux 一切皆文件,目录结构遵循 FHS(Filesystem Hierarchy Standard):
/ 根目录
├── /bin 基本命令(ls, cat, mv)
├── /sbin 系统管理命令(fdisk, ifconfig)
├── /etc 配置文件
├── /home 普通用户家目录
│ └── /home/user 你的个人文件
├── /root root 用户家目录
├── /var 日志、缓存、数据库
├── /tmp 临时文件(重启清空)
├── /usr 用户程序
│ ├── /usr/bin 应用程序
│ └── /usr/local 手动安装的软件
├── /opt 可选软件包
└── /proc 虚拟文件系统(进程信息)
本篇小结
- Linux 是服务器标准、开发效率工具、系统理解钥匙
- 学习哲学:不要背命令,要背场景;六层递进模型
- 环境首选 WSL2,次选 VirtualBox + Ubuntu LTS
- 终端提示符:
user@hostname:~$ - FHS 核心目录:
/bin(命令)、/etc(配置)、/home(用户)、/var(日志)
动手实践
- 安装 WSL2 或 VirtualBox + Ubuntu
- 打开终端,执行以下命令并观察输出:
date whoami pwd ls / - 画出你理解的 Linux 目录结构图(手绘或电子笔记)
- 进入
/bin目录,用ls看看有哪些你认识的命令 - 思考:为什么 Linux 把配置文件放在
/etc,而不是像 Windows 那样分散在各处?这种集中式管理有什么好处?