原文地址:https://www.cnblogs.com/ryuo-ou/p/19686766 同步说明:该文已完整同步到站内博客,便于统一检索和阅读。
讲座目标:帮助零基础同学理解 Linux 的核心概念,掌握环境搭建方法,了解Linux的文件结构并熟练使用高频命令行工具,为后续的编程开发和服务器运维打下坚实基础。
第一部分:初识 Linux (What & Why)
1. 什么是 Linux?
Linux 严格来说是指 Linux 内核 (Kernel),它是由 Linus Torvalds 在 1991 年发布的开源操作系统内核。我们日常所说的 "Linux" 通常指 Linux 发行版 (Distribution),即:
Linux 发行版 = Linux 内核 + GNU 工具 + 桌面环境 + 应用程序
常见的发行版:
- Ubuntu:最流行的桌面版,社区支持极其丰富,适合新手。
- CentOS/Rocky Linux:企业级服务器首选,稳定但软件更新较慢(常用于生产环境)。
- Debian:由于其内核非常稳定,是很多其他发行版(如 Ubuntu)的基础。
- Kali Linux:专为网络安全和渗透测试设计。
- Arch Linux:轻量级,高度可定制,适合喜欢折腾的高级用户。
2. 为什么我们要学习 Linux?
对于开发者和计算机专业学生来说,Linux 几乎是绕不过去的技能:
- 服务器领域的绝对霸主:全球 90% 以上的服务器(包括淘宝、谷歌、微信后台)运行在 Linux 上。
- 开发环境更友好:C/C++、Python、Go、Docker 等技术的原生开发体验在 Linux 下远优于 Windows。
- 完全掌控系统:没有强制更新,没有莫名其妙的广告,你可以修改系统的任何部分。
- 命令行的高效:在处理批量文件、远程管理服务器时,CLI (Command Line Interface) 的效率是 GUI (图形界面) 无法比拟的。
第二部分:搭建你的 Linux
我们将介绍两种最主流的安装方式,推荐 Windows 用户优先尝试 WSL。
方案一:WSL 2 (Windows Subsystem for Linux) —— 强烈推荐
WSL 是微软推出的“黑科技”,允许你在 Windows 上原生运行 Linux 二进制文件,无需虚拟机,开销极低,与 Windows 文件互通。
安装步骤 (Windows 10 2004+ 或 Windows 11):
-
一键安装:
以管理员身份打开 PowerShell 或终端,输入:wsl --install该命令会自动开启必要功能,并默认下载安装 Ubuntu 发行版。
-
重启电脑:安装完成后重启,系统会自动弹出一个黑框框(终端)。
-
初始化设置:
- 输入你想要的用户名 (username) —— 注意:不需要和 Windows 用户名一致,且不能包含大写字母。
- 输入密码 —— 注意:输入密码时屏幕不会显示任何字符(这是正常的安全机制),输完回车即可。
-
开始使用:在 Windows 终端中点击下拉箭头选择 "Ubuntu",或者直接在 PowerShell 输入
wsl即可进入。
WSL 的优势:
- 极快的文件 I/O 速度(在 Linux 文件系统中)。
- 可以直接在 Linux 终端中运行 Windows 程序(如
notepad.exe)。 - 可以在 VS Code 中安装 "WSL" 插件,直接编辑 Linux 里的代码。
方案二:VMware Workstation Pro / Player —— 传统虚拟机
如果你需要一个完全隔离的环境,或者需要图形化桌面 (GUI) 来体验完整的 Linux 桌面系统,虚拟机是更好的选择。
准备工作:
- 下载 VMware Workstation Pro (收费/试用) 或 Player (个人免费)。
- 下载 Ubuntu ISO 镜像:访问 Ubuntu 官网 下载 LTS (长期支持) 版本。
安装步骤:
- 打开 VMware -> "创建新的虚拟机"。
- 选择 "典型 (推荐)" -> 选择“安装程序光盘映像文件 (iso)”,浏览选择你刚下载的 Ubuntu iso 文件。
- 设置虚拟机名称和位置。
- 指定磁盘容量:建议至少 20GB,选择“将虚拟磁盘拆分成多个文件”。
- 自定义硬件:建议分配 4GB 以上内存,处理器核心数根据你电脑配置分配(例如 2核)。
- 点击完成,启动虚拟机。
- 跟随 Ubuntu 的图形化安装向导:
- 选择语言(推荐 English 以避免路径中文乱码,或中文)。
- 选择 "Normal installation" (正常安装)。
- 设置用户名和密码。
- 等待安装完成并重启。
第三部分:Linux 文件系统结构 (一棵倒立的树)
与 Windows 的 C盘、D盘不同,Linux 没有盘符的概念,所有文件和目录都挂载在一个统一的根目录(/)下,呈现出像一棵树一样的层级结构。在 Linux 的核心哲学中:“一切皆文件”(常规文件、目录、硬件设备、进程等都被统一抽象成了文件形式)。
核心目录速览:
/(根目录):整个文件系统的起点,所有其他目录和文件都在它的下面。/home(家目录):普通用户的“私人领地”。例如用户alice的默认目录是/home/alice(简写波浪号~)。/root:超级管理员(root系统上帝)的家目录,普通用户无权访问。/bin和/usr/bin(Binaries):存放所有用户都能使用的基础命令组件(比如接下来要讲的ls,cat,mkdir执行文件都在这里)。/etc(Etcetera):系统和软件的配置文件大本营。在 Linux 下修改系统或软件设置,通常就是来这里修改文本文件。/var(Variable):存放经常发生变化的文件,比如系统日志 (/var/log)、数据库文件。出 Bug 时查日志第一时间来这。/tmp(Temporary):系统临时文件夹,任何人都可以读写,重启后可能会被系统自动清空。/dev(Devices):存放特殊的硬件设备文件(键盘、硬盘、终端等)。/opt(Optional):通常用于安装第三方的大型独立软件(类似于 Windows 的Program Files)。
第四部分:Linux 命令行极速入门
打开你的终端 (Terminal),让我们开始操作。
提示:在 Linux 终端中,Tab 键 是神器,可以自动补全命令和文件名。
1. 盲操,文件与目录管理
pwd(Print Working Directory): 我在哪里pwd # 输出当前路径,例如 /home/userls(List): 这里有什么?ls # 列出当前目录下文件 ls -l # 详细列表模式(显示权限、大小、时间) ls -a # 显示隐藏文件(以 . 开头的文件) ls -lh # 以人类可读的大小显示 (e.g., 1K, 234M)cd(Change Directory): 我要去哪里?cd /etc # 进入 /etc 目录 cd .. # 返回上一级目录 cd ~ # 回到用户家目录 (/home/username) cd - # 回到上一次所在的目录mkdir(Make Directory): 创建文件夹mkdir myfolder mkdir -p a/b/c # 递归创建多级目录touch: 创建新文件touch file.txt # 创建一个空文件,或更新文件时间戳cp(Copy): 复制粘贴cp file1.txt file2.txt # 复制文件 cp -r dir1 dir2 # 递归复制目录(必须加 -r)mv(Move): 移动文件mv file.txt newname.txt # 重命名 mv file.txt /tmp/ # 移动文件rm(Remove): 删除rm file.txt # 删除文件 rm -r folder # 删除文件夹 rm -rf / # 【高危】删除根目录所有内容(千万别试!)
2. 查看与搜索
cat: 查看全部(适合小文件)cat /etc/os-releaseless: 分页查看(适合大文件)- 按
Space翻页,按q退出。
- 按
head/tail: 看头看尾head -n 5 file.txt # 看前5行 tail -n 10 file.txt # 看后10行 tail -f server.log # 【常用】实时监控日志更新grep: 文本搜索神器grep "error" server.log # 在文件中查找包含 "error" 的行 ps aux | grep python # 查找正在运行的 python 进程
3. 权限管理 (chmod & sudo)
Linux 用 r (read), w (write), x (execute) 来控制权限。
-
ls -l看到的-rw-r--r--是什么意思?- 第一位
-代表文件,d代表目录。 - 后三位
rw-:所有者 有读写权限。 - 中三位
r--:所属组 只有读权限。 - 后三位
r--:其他人 只有读权限。
- 第一位
-
chmod(Change Mode): 修改权限chmod +x script.sh # 给文件添加可执行权限 chmod 777 file.txt # 所有人拥有所有权限(慎用) -
sudo(SuperUser Do): 以管理员身份执行- 普通用户权限受限,修改系统配置(如安装软件)时需要
sudo。
sudo apt update - 普通用户权限受限,修改系统配置(如安装软件)时需要
4. 系统管理
ps(Process Status): 查看进程ps aux # 查看所有进程top/htop: 任务管理器- 实时显示 CPU、内存占用。
htop界面更友好(需安装)。
- 实时显示 CPU、内存占用。
kill: 结束进程kill 1234 # 结束 PID 为 1234 的进程 kill -9 1234 # 强制结束&/nohup: 后台运行进程python script.py & # 将任务放到后台运行 nohup python script.py & # 后台保持运行(即使关闭终端也不受影响)df -h: 查看磁盘空间。free -h: 查看内存使用情况。
5. 包管理器 (以 Ubuntu 的 apt 为例)
sudo apt update: 刷新软件列表(去服务器看看有哪些新软件,安装前必做)。sudo apt upgrade: 更新已安装的软件。sudo apt install <软件名>: 安装软件。sudo apt install git vim htopsudo apt remove <软件名>: 卸载软件。
第五部分:文本编辑器(Vim vs Nano)
在终端里没有 Word,我们需要用命令行编辑器。
Nano (新手推荐)
简单直观,屏幕下方有快捷键提示。
nano file.txt: 打开文件。Ctrl + O: 保存。Ctrl + X: 退出。
Vim (神之编辑器)
学习曲线陡峭,但效率极高。它有三种模式:
- 普通模式 (Normal): 默认模式,按键是命令(如
dd删除一行,yy复制)。 - 插入模式 (Insert): 按
i进入,可以正常打字。 - 命令模式 (Command): 按
:进入,执行保存退出等命令。
Vim 基础指南(如何退出 Vim):
- 按
Esc确保回到普通模式。 - 输入
:wq并回车(保存并退出)。 - 或者
:q!并回车(不保存强制退出)。 - 推荐学习网站: openvim 。
结语
如何进阶?
- 多用:尝试把日常开发工作转移到 Linux (WSL) 上,我们作为大一大二的学生,多用powershell和cmd就行。
- 多查:遇到问题善用 Google (必应之类也行)和
man <命令>(查看手册)。 - 多玩:尝试搭建一个属于自己的 Web 服务器或博客。
- 另外:LinuxGameShell 。
- git:可视化学习git 。
Happy Hacking!