引言
本文面向 Linux 初学者,帮助读者从零开始认识 Linux 操作系统,并掌握 Ubuntu 的安装与基本使用方法。文章涵盖 Linux 概述、Ubuntu 安装、系统登录以及基础命令操作四大板块,循序渐进地引导读者完成从了解概念到动手实践的全过程。
通过本文的学习,读者将能够独立完成 Ubuntu 系统的安装与配置,熟悉系统登录和用户管理的基本操作,并掌握文件与目录管理、文本查看等常用命令的使用方法。建议读者具备计算机基本操作能力,例如文件管理、软件安装等日常使用经验,无需任何 Linux 或命令行基础。
第一章 Linux 概述
1.1 发展简史
- Unix 奠基 → Minix 铺垫 → Linux 诞生(Linus Torvalds,1991)
- 核心特点:开源免费、多用户多任务、稳定安全、跨平台
- 应用领域:服务器、云计算、嵌入式、超算、智能家居
- 主要分支:Debian 系、Red Hat 系、SUSE 系、国内发行版
1.2 UNIX → Linux 发展路线图
UNIX 发展出 System V 、 BSD 与GUN三大分支,GNU / MINIX 推动 Linux 诞生。

1.3 主要分支版本
活跃的 Linux 发行版有 300 多个,历史总数超过 1000 个。

1.4 Linux 特点

1.5 主要应用领域

第二章 安装 Ubuntu
2.1 为什么选择 Ubuntu
- 界面操作直观,图形化配置工具
- 官方软件源丰富,广泛的商业支持
- 长期支持版(LTS)
2.2 安装 Ubuntu 的三种方式

2.3 虚拟机安装方式:VMware / Docker / WSL
产品类型
- VMware Workstation、VirtualBox、Parallels Desktop:虚拟机监控程序(Hypervisor),在宿主机操作系统上模拟完整硬件,再安装客户机操作系统。
- Docker(容器):容器引擎,在宿主机内核上运行隔离进程,共享宿主机内核。
- Hyper-V / WSL:兼容层 / 轻量级虚拟机。WSL 1 是系统调用翻译层,WSL 2 在轻量级 VM 中运行完整 Linux 内核。
图形界面
- VMware:原生支持,可安装并运行完整 Ubuntu 桌面环境,体验接近物理机。
- Docker:有限支持,主要用于无界面服务端应用;运行 GUI 应用复杂,通常需配置 X Server 或 VNC。
- WSL:支持(WSL 2)。WSLg 支持运行 Linux GUI 应用,无需额外配置 X Server。
systemd 支持
- VMware:支持,作为独立操作系统原生支持 systemd。
- Docker:依赖镜像,通常作为容器入口点或服务管理,但非必须。
- WSL:支持(WSL 2)。WSL 2 从 2023 年起支持 systemd。
网络功能
- VMware:功能强大,可配置桥接、NAT、仅主机等多种网络模式,模拟复杂网络环境。
- Docker:相对简单,主要是端口映射,用于对外暴露服务,网络配置灵活性较低。
- WSL:基础可用。WSL 2 使用 NAT 网络,外部访问需配置端口转发。
内核模块
- VMware:支持,可在客户机内编译、加载自定义内核模块,自由度最高。
- Docker:不支持,与宿主机共享内核,无法自行修改或加载内核模块。
- WSL:受限支持,使用微软提供的定制内核,用户无法自定义内核模块。
性能
- VMware:较好,有少量性能损耗(CPU 约 10-15%),整体稳定。
- Docker:文件系统 I/O 性能好,接近原生,几乎无额外开销,启动时间为秒级。
- WSL:优秀,CPU 性能接近原生,Linux 文件系统 I/O 极快,但跨系统访问(如 `/mnt/c`)是瓶颈。
文件互访
- VMware:通过共享文件夹、拖拽等方式实现宿主机与虚拟机间文件交换。
- Docker:便捷,通过 `-v` 参数挂载宿主机目录到容器内,交互直接。
- WSL:无缝集成,可在 Windows 资源管理器中直接访问 `\\wsl$` 路径下的 Linux 文件,互通性极佳。
适合教学
- VMware:覆盖最广,能模拟完整物理机,支持操作系统原理、网络、内核开发等几乎所有计算机课程内容。
- Docker:中等,侧重 DevOps、云原生、微服务,适合软件部署与分发教学。
- WSL:中等,侧重 Linux 开发环境、命令行工具、脚本编写,适合编程语言、Web 开发等课程。
安装难度
- VMware:中等,需下载 ISO 镜像,进行分区、配置等操作。
- Docker:简单,有 Docker 环境后,一条 `docker pull` 命令即可完成。
- WSL:简单,在 Windows 功能中启用,通过应用商店或命令行工具完成。
2.4 Windows 环境安装步骤
1. 双击安装包 → Next → 接受许可 → 选择安装路径
2. 取消勾选产品更新 → Install → Finish
3. 下载 Ubuntu ISO → 新建虚拟机 → 典型安装
4. 分配 2 核 CPU / 4GB 内存 / 20GB 磁盘 → NAT 网络
5. 启动虚拟机 → 选择语言 → Install Ubuntu
6. 设置用户名密码 → 等待安装完成 → Restart Now
2.5 网络模式

补充:VMware 网络适配器示例

2.6 配置 VMware NAT 网络

2.7 网络模式:Bridge vs NAT
Bridge 桥接模式、NAT 网络地址转换

2.8 在 VMware 中安装 Ubuntu 虚拟机
主要步骤:
1. 打开 VMware Workstation Pro,点击“创建新的虚拟机”。

2. 选择“典型(推荐)”。

3. 选择安装程序光盘映像文件,指定 Ubuntu ISO,例如 `ubuntu-20.04.2.0-desktop-amd64.iso`。

4. 客户机操作系统选择 Linux,版本选择 Ubuntu。

5. 命名虚拟机,例如 `Ubuntu`,位置例如 `D:\Ubuntu`。

6. 指定磁盘容量,例如 20GB;可选择“将虚拟磁盘拆分成多个文件”。

7. 自定义硬件:内存 2048 MB,2 个 CPU 内核,网络适配器 NAT,CD/DVD 使用 ISO 映像文件。



8. 完成创建后启动虚拟机。

9. 安装界面:
- 键盘布局:Chinese
- 更新和其他软件:最小安装

- 安装类型:清除整个磁盘并安装 Ubuntu

- 地点:Shanghai
- 设置姓名、计算机名、用户名和密码
10. 等待安装完成,重启。

11. 出现提示:`Please remove the installation medium, then press ENTER`,按回车。
12. 进入登录界面,输入密码登录。

2.9 安装后配置
bash
# 更新软件源
sudo apt update && sudo apt upgrade -y
# 安装 VMware 增强工具
sudo apt install open-vm-tools open-vm-tools-desktop -y
# 安装 SSH 服务
sudo apt install openssh-server -y
# 查看 IP 地址
ip addr
2.10 远程连接 Ubuntu 虚拟机服务器
安装客户端软件,或使用 Windows Terminal。
连接配置示例:

注:上述配置基于 VMware 网络设置 , 通过NAT协议访问Ubuntu 服务器
2.11 在 WSL2 中安装 Ubuntu
- 启动速度快,节省资源
- 与 Windows 无缝集成
- 命令行界面(可通过 WSLg 运行图形界面)
- 参考 `安装 WSL.md` 文件
2.12 在 Docker 中安装 Ubuntu
省略。
第三章 Ubuntu 系统登录
3.1 登录与切换用户

图示说明:一台运行 Linux 的计算机,用户 Alice、Bob 通过 SSH 远程登录,用户 Charlie 直接在本地登录,各自独立使用,互不干扰。
| 命令 | 说明 |
| `login <user>` | 登录用户 |
| `su - <user>` | 切换用户并切换 HOME 目录 |
| `sudo <cmd>` | 以 root 权限执行命令 |
| `ssh <user>@<server_ip>` | 远程登录 |
| `logout` / `exit` | 登出系统 |
| `reboot` / `shutdown` | 重启和关机 |
3.2 切换用户
bash
su - root # 切换到用户 root 并进入 /root
su - john # 切换到用户 john 并进入 /home/john
su john # 切换到用户 john,保持当前工作目录不变
whoami # 查看当前登录用户
> 注:用户 root 拥有系统最高权限,可以执行任何操作。
3.3 以 root 权限执行命令
当前用户需在 sudo 组中。
bash
sudo apt update # 用 root 权限更新软件源
sudo vim /etc/hosts # 编辑系统配置文件
sudo !! # 用 sudo 重复上一条命令
# 查看当前用户是否有 sudo 权限
sudo -l
3.4 通过 SSH 协议远程连接 Ubuntu 服务器
bash
ssh user@192.168.72.100 # 默认端口 22
ssh -p 3000 user@192.168.72.100 # 指定端口 3000
# 首次连接会提示确认主机指纹,输入 yes
3.5 重启和关机命令
bash
sudo reboot # 立即重启
sudo shutdown now # 立即关机
sudo shutdown +5 # 5 分钟后关机
sudo shutdown -h 23:00 # 指定时间关机
sudo shutdown -c # 取消关机计划
sudo init 3 # 从图形界面切换到控制台界面
第四章 基础命令操作
4.1 常用字符
常用的字符help / man / info / <cmd> --help 查看命令帮助pwd · cd · ls · tree — 目录操作cat · more/less · head · tail · stat — 文件查看touch · mkdir · rm · cp · mv · ln — 文件管理
| `#` | 注释,在其后的任何字符都被认为注释而被忽略 |
| `\` | 转义,放在特殊字符前,可让其失去特殊含义,变成普通字符;也用来将长命令连接至下一行 |
| `'` `"` | 单引号和双引号,用于处理包含空格或特殊字符的字符串 |
| `` ` `` | 反引号,用于命令替换。执行其中的命令,并将输出结果替换到原位置 |
| `$` | 美元符号,用于获取变量的值 |
| `;` | 分号,命令分隔符,允许在同一行依次执行多条命令 |
| `|` | 管道号,将左侧命令的标准输出,作为右侧命令的标准输入 |
| `>` `<` `>>` | 重定向符,用于输入和输出的重新定向 |
| `~` | 波浪号,代表当前用户的主目录 |
| `TAB` | 制表符,命令补全 |
| 其他 | `()` `[]` `{}` `&` `%` 等等 |
4.2 查看命令的帮助文档
bash
help # 查看 shell 的内部命令
man <cmd> # 查看 <cmd> 命令的手册(Space/b:前/后翻页,q 退出)
<cmd> --help # 查看 <cmd> 命令的简要帮助(约定俗成)
info <cmd> # 查看 <cmd> 命令的详细手册(Space/b:前/后翻页,q 退出)
4.3 pwd:打印当前工作目录
Print Working Directory,显示当前所在目录的完整路径。
bash
pwd # 输出示例:/home/john/Documents
# 常与 cd 配合使用,确认当前位置
4.4 cd:切换当前工作目录
Change Directory。
bash
cd /etc # 进入 /etc 目录
cd ~ 或 cd # 进入当前用户 HOME
cd - # 返回上一个目录
cd .. # 返回上级目录
cd ../.. # 返回上上级目录
cd /home/user/Documents # 直接进入指定路径
4.5 ls:列出目录内容
List,列出指定目录下的文件和子目录。
bash
ls # 列出当前目录内容
ls -l # 详细格式(权限、大小、时间)
ls -a # 显示隐藏文件(. 开头)
ls -la # 详细格式 + 隐藏文件
ls -lh # 人性化显示文件大小
ls -lt # 按修改时间排序
ls *.txt # 通配符过滤
4.6 ls -la 输出示例
ls-la命令的输出详解
drwxr-xr-x 2 user user 4096 Jun 1 10:30 Documents
-rw-rw-r-- 1 user user 123 Jun 1 10:31 hello.txt
字段解释:
权限 链接次数 所有者 组 大小 修改时间 文件名
d 表示目录
- 表示普通文件
4.7 tree:以树形结构递归显示目录层级
bash
tree # 当前目录树形结构
tree -L 2 # 根目录向下 2 层
tree -d # 只显示目录
tree -p # 显示文件权限
tree -h # 显示文件大小
tree -I node_modules # 排除指定目录
> 注:不是 Ubuntu 自带命令,需要通过 `apt install tree` 安装。
4.8 cat:输出文件全部内容到终端
bash
cat file.txt # 显示文件全部内容
cat -n file.txt # 显示内容并编号行号
cat file1 file2 # 依次显示多个文件
cat > file.txt # 从键盘输入创建文件(Ctrl+D 结束)
cat file1 > file2 # 复制文件内容
4.9 more / less:分页查看文件内容
适合大文件。
bash
# more:只能向下翻页
more /var/log/syslog
# less:可上下翻页,功能更强(推荐)
less /var/log/syslog
`less` 常用操作:
- `↑` / `↓`:逐行翻动
- `Space` / `PgDn`:下一页
- `b` / `PgUp`:上一页
- `g` / `G`:跳到文件头 / 尾部
- `/关键词`:向下搜索
- `?关键词`:向上搜索
- `n` / `N`:下一个 / 上一个匹配
- `q`:退出
4.10 head:查看文件开头部分
默认前 10 行。
bash
head /etc/passwd # 默认前 10 行
head -n 5 file.txt # 显示前 5 行
head -20 file.txt # 显示前 20 行(-n 可省略)
head -5 file1 file2 # 显示多个文件
# head -2 /etc/passwd 输出示例:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
4.11 tail:查看文件末尾部分
默认后 10 行,可实时追踪。
bash
tail /var/log/syslog # 默认后 10 行
tail -n 50 file.txt # 显示后 50 行
tail -f app.log # 实时追踪(Ctrl+C 退出)
tail -fn 100 app.log # 从最后 100 行实时追踪
# 常用场景:实时查看日志文件
tail -f /var/log/nginx/access.log
4.12 stat:查看文件的详细元数据信息
bash
stat file.txt
# 文件名、大小、块数、Inode号、文件类型
# 权限、所有者、所属组
# 访问时间、内容修改时间、元数据修改时间、创建时间
# 示例输出:
# File: file.txt
# Size: 123 Blocks: 8 IO Block: 4096 regular file
# Device: 801h/2049d Inode: 1234567 Links: 1
# Access: (0644/-rw-r--r--) Uid: (1000/ john) Gid: (1000/ john)
# Access: 2026-06-01 10:30:00.000000000 +0800
# Modify: 2026-06-01 10:30:00.000000000 +0800
# Change: 2026-06-01 10:30:00.000000000 +0800
# Birth: 2026-06-01 09:00:00.000000000 +0800

格式化查看部分信息:
bash
stat -c '%i' file.txt # 查看 Inode 号
stat -c '%a' file.txt # 查看权限(数字)
stat -c '%s' file.txt # 查看文件大小
stat -c '%U' file.txt # 查看文件所有者
stat -c '%G' file.txt # 查看文件所属组
stat -c '%W' file.txt # 查看文件创建时间
4.13 touch:创建空文件或修改文件时间戳
bash
touch file.txt # 创建空文件
touch a.txt b.txt c.txt # 同时创建多个文件
touch -t 202606011200 file.txt # 修改时间戳到 2026 年 6 月 1 日 12:00
touch -a file.txt # 仅修改访问时间
touch -m file.txt # 仅修改修改时间
# 若文件已存在,touch 仅更新时间戳
4.14 mkdir:创建目录
Make Directory-创建目录。
bash
mkdir dir1 # 创建单个目录
mkdir dir1 dir2 dir3 # 同时创建多个
mkdir -p a/b/c # 递归创建多级目录
mkdir -m 700 secret # 创建并设置权限
# 实用技巧:
mkdir -p logs/{info,warning,error}
# 创建 logs/info logs/warning logs/error
4.15 rm:删除文件或目录
Remove-删除文件或目录(不可恢复)。
bash
rm file.txt # 删除文件
rm -r dir/ # 递归删除目录
rm -f file.txt # 强制删除(无提示)
rm -i file.txt # 删除前询问(推荐)
rm -rf dir/ # 危险!递归强制删除
4.16 cp:复制文件或目录
bash
cp source.txt dest.txt # 复制文件
cp -r dir1/ dir2/ # 复制目录
cp -a dir1/ dir2/ # 归档复制(保留属性)
cp -i source.txt dest.txt # 覆盖前询问
cp -v source.txt dest.txt # 显示复制过程
实用示例:
bash
cp /etc/nginx/nginx.conf . # 备份配置文件
4.17 mv:移动文件或重命名
bash
mv old.txt new.txt # 重命名文件
mv file.txt /tmp/ # 移动到指定目录
mv dir1/ /tmp/ # 移动整个目录
mv -i file.txt /tmp/ # 覆盖前询问
实用示例:
bash
mv report_v1.docx report_final.docx # 版本更名
mv *.txt /tmp/ # 批量移动
4.18 ln:创建链接文件
Link,创建硬链接和符号链接。
bash
# 硬链接(同一 inode,删除原文件仍可用)
ln source.txt hardlink.txt
# 符号链接(类似快捷方式,删除原文件失效)
ln -s source.txt symlink.txt
对比:
- 硬链接:不能跨文件系统,不能链接目录
- 符号链接:可跨文件系统,可链接目录
Linux 基础命令速查表
下表按目录操作、文件查看、文件管理和系统管理四类整理常用命令,方便读者快速查阅。
目录操作
| 命令 | 常用参数 | 简要说明 |
|---|---|---|
pwd | 无 | 显示当前工作目录的完整路径 |
cd | ~、-、..、../.. | 切换当前工作目录,支持返回上级目录和上一目录 |
ls | -l、-a、-la、-lh、-lt | 列出目录内容,支持详细格式、隐藏文件、人性化大小等 |
tree | -L 2、-d、-p、-h、-I | 以树形结构递归显示目录层级,可限制深度和排除目录 |
mkdir | -p、-m | 创建目录,支持递归创建多级目录和设置权限 |
文件查看
| 命令 | 常用参数 | 简要说明 |
|---|---|---|
cat | -n | 输出文件全部内容到终端,可编号行号 |
more | 无 | 分页查看文件内容,只能向下翻页 |
less | 无 | 分页查看文件内容,可上下翻页,支持搜索,功能更强 |
head | -n 5、-20 | 查看文件开头部分,默认前 10 行 |
tail | -n 50、-f、-fn 100 | 查看文件末尾部分,可实时追踪日志 |
stat | -c '%i'、-c '%a'、-c '%s'、-c '%U'、-c '%G'、-c '%W' | 查看文件的详细元数据信息,如 Inode、权限、大小、所有者、创建时间 |
文件管理
| 命令 | 常用参数 | 简要说明 |
|---|---|---|
touch | -t、-a、-m | 创建空文件或修改文件时间戳 |
mkdir | -p、-m | 创建目录,支持递归创建多级目录和设置权限 |
rm | -r、-f、-i、-rf | 删除文件或目录,注意不可恢复 |
cp | -r、-a、-i、-v | 复制文件或目录,支持归档复制和覆盖前询问 |
mv | -i | 移动文件或重命名,覆盖前可询问 |
ln | -s | 创建链接文件,支持硬链接和符号链接 |
系统管理
| 命令 | 常用参数 | 简要说明 |
|---|---|---|
su | - | 切换用户,su - 同时切换 HOME 目录 |
sudo | -l、!! | 以 root 权限执行命令,可查看 sudo 权限 |
ssh | -p 3000 | 远程连接服务器,默认端口 22 |
reboot | 无 | 立即重启系统 |
shutdown | now、+5、-h 23:00、-c | 关机或重启,支持定时、指定时间和取消计划 |
init | 3 | 切换系统运行级别,如从图形界面切换到控制台 |
总结
本文围绕 Linux 初学者从入门到上手的主线,依次介绍了 Linux 概述、Ubuntu 安装、系统登录和基础命令操作四个部分。下面回顾各章核心要点,并给出后续学习方向。
核心要点回顾
第一章 Linux 概述:Linux 由 Linus Torvalds 于 1991 年发起,具有开源免费、多用户多任务、稳定安全、跨平台等特点,广泛应用于服务器、云计算、嵌入式、超算和智能家居等领域。其发行版主要分为 Debian 系、Red Hat 系、SUSE 系以及国内发行版等。
第二章 安装 Ubuntu:Ubuntu 界面直观、软件源丰富,并提供长期支持版(LTS)。安装方式主要有三种:虚拟机(VMware)、容器(Docker)和 WSL2。其中 VMware 功能最完整,适合系统学习;Docker 和 WSL2 更轻量,适合快速搭建开发环境。安装完成后还需进行更新软件源、安装增强工具和 SSH 服务等配置。
第三章 Ubuntu 系统登录:系统支持本地登录和远程登录(SSH)。日常操作中常用 su 切换用户、sudo 以 root 权限执行命令,并通过 reboot、shutdown 管理系统的重启与关机。
第四章 基础命令操作:本章是日常使用频率最高的部分,包括目录操作(pwd、cd、ls、tree)、文件查看(cat、more/less、head、tail、stat)以及文件管理(touch、mkdir、rm、cp、mv、ln)。掌握这些命令是高效使用 Linux 的基础。
下一步学习建议
完成本文学习后,建议从以下方向继续深入:
- 用户与权限管理:学习
useradd、usermod、chmod、chown等命令,理解 Linux 多用户模型和文件权限体系。 - 文件权限与 ACL:深入理解 rwx 权限位、umask 以及访问控制列表(ACL),掌握更精细的权限控制。
- Shell 脚本编程:学习变量、条件判断、循环、函数等语法,将重复性操作自动化,提升工作效率。
- 文本处理工具:掌握
grep、sed、awk等工具,结合管道和重定向完成复杂的数据处理。 - 进程与系统管理:了解
ps、top、systemctl等命令,学会查看和管理系统进程与服务。
建议读者在虚拟机或 WSL2 中多加练习,把命令真正用起来,逐步建立起对 Linux 系统的整体认知。
2328



被折叠的 条评论
为什么被折叠?



