跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Shell / Bash

Linux 零基础入门:操作系统核心概念与实战指南

Linux 操作系统作为开源基石,广泛应用于服务器与云计算。涵盖从系统架构、常见发行版选择到终端基础操作的全流程指南。内容包括文件系统结构、权限管理、软件包安装、Vim 编辑器使用、进程与网络管理,以及 Shell 脚本入门。通过实战命令示例,帮助初学者快速建立 Linux 运维思维,掌握环境搭建与故障排查方法,为开发工作打下坚实基础。

苹果系统发布于 2026/3/16更新于 2026/4/263 浏览
Linux 零基础入门:操作系统核心概念与实战指南

在这里插入图片描述

'Talk is cheap. Show me the code.' —— Linus Torvalds

Linux 不仅是一个操作系统,更是一种自由、开放与协作的精神。无论你是程序员、运维工程师、数据科学家,还是普通用户,掌握 Linux 都将为你打开通往技术世界的大门。

什么是 Linux?

Linux 是一个免费开源的类 Unix 操作系统内核(Kernel),由芬兰程序员 Linus Torvalds 在 1991 年首次发布。它本身只是一个内核,但通常我们所说的'Linux 系统'实际上是指基于 Linux 内核 + GNU 工具 + 各种软件构成的完整操作系统,例如 Ubuntu、CentOS、Debian、Fedora 等。这类系统也常被称为 GNU/Linux。

Linux 的核心特点

  • 开源免费:源代码公开,任何人都可以查看、修改和分发。
  • 多用户多任务:支持多个用户同时登录并运行多个程序。
  • 稳定性强:服务器常年运行不宕机,是互联网基础设施的基石。
  • 安全性高:权限管理严格,病毒和恶意软件极少。
  • 高度可定制:从桌面环境到内核参数,几乎一切皆可配置。
  • 跨平台支持:可在 x86、ARM、RISC-V 等多种架构上运行。

💡 你知道吗?全球超过 90% 的云计算基础设施(包括 AWS、Google Cloud、阿里云)都运行在 Linux 上。Android 手机底层也是基于 Linux 内核!

Linux 与 Windows/macOS 有什么区别?

特性WindowsmacOSLinux
开源❌ 闭源❌ 闭源(部分开源)✅ 完全开源
成本💰 商业授权💰 购买 Mac 设备🆓 免费
定制性低中等极高
命令行体验PowerShell / CMD(较弱)Terminal(基于 BSD)Bash/Zsh(强大)
软件生态丰富(尤其游戏/办公)优秀(创意类软件)开发/服务器领域无敌
安全性易受病毒攻击较安全极其安全

📌 提示:Linux 并不是'取代'Windows 或 macOS,而是提供一种更可控、更高效、更适合开发者的操作环境。

常见的 Linux 发行版(Distributions)

Linux 内核本身不能直接使用,需要搭配用户空间工具(如 Shell、文件系统、图形界面等)。这些组合体称为发行版(Distribution)。以下是几个主流发行版:

1. Ubuntu

  • 基于 Debian,适合新手。
  • 每 6 个月发布新版本,每 2 年发布 LTS(长期支持)版本。
  • 官网:https://ubuntu.com

2. CentOS / Rocky Linux

  • 原 CentOS 是 Red Hat Enterprise Linux(RHEL)的免费克隆版。
  • 2021 年后 CentOS 停止传统支持,社区转向 Rocky Linux 或 AlmaLinux。
  • 官网:https://rockylinux.org

3. Debian

  • 稳定、可靠,是许多发行版的'祖先'。
  • 更新较慢,但极其稳定。
  • 官网:https://www.debian.org

4. Arch Linux

  • 滚动更新,极简主义,适合高级用户。
  • '自己动手组装'的哲学。
  • 官网:https://archlinux.org

5. Fedora

  • 由 Red Hat 赞助,前沿技术试验田。
  • GNOME 桌面默认,更新快。
  • 官网:https://getfedora.org

🔗 推荐阅读:DistroWatch - 实时统计各发行版人气 (https://distrowatch.com)

如何开始使用 Linux?

你不需要立刻放弃 Windows 或 macOS!有几种方式可以轻松入门:

方式一:使用虚拟机(推荐新手)

  • 安装 VirtualBox 或 VMware Workstation Player(免费)。
  • 下载 Ubuntu ISO 镜像,在虚拟机中安装。
  • 优点:安全、隔离、可随时删除。

方式二:WSL(Windows Subsystem for Linux)

  • 在 Windows 10/11 中直接运行 Linux 终端!
  • 支持 Ubuntu、Debian、Kali 等。
  • 官方文档:https://learn.microsoft.com/en-us/windows/wsl/install

安装命令(以管理员身份运行 PowerShell):

wsl --install -d Ubuntu 

方式三:双系统启动

  • 分区硬盘,同时安装 Windows 和 Linux。
  • 需要一定动手能力,但性能最佳。

方式四:云服务器

  • 注册阿里云、腾讯云、AWS 等,创建一台 Linux 云主机(如 Ubuntu 22.04)。
  • 通过 SSH 远程连接学习。
  • 成本低至每月几元人民币。

✅ 建议:初学者从 Ubuntu + WSL 或虚拟机开始,避免'踩坑'。

初识 Linux 终端(Terminal)

Linux 的灵魂在于命令行。虽然现代发行版都有图形界面,但真正的效率来自终端。

打开终端

  • Ubuntu:Ctrl + Alt + T
  • macOS:Terminal 应用
  • WSL:在开始菜单搜索'Ubuntu'

第一个命令:echo "Hello, Linux!"

$ echo "Hello, Linux!"
Hello, Linux!

$ 表示普通用户提示符,# 表示 root(超级用户)提示符。

基础命令速览

以下是最常用的基础命令,建议逐个尝试:

1. pwd — 查看当前目录

$ pwd
/home/yourname 

2. ls — 列出文件和目录

$ ls Documents Downloads Music Pictures 
$ ls -l # 详细列表 
$ ls -a # 显示隐藏文件(以 . 开头)

3. cd — 切换目录

$ cd /home 
$ cd .. # 返回上一级 
$ cd ~ # 回到家目录(等价于 cd) 
$ cd - # 切换到上一个目录

4. mkdir — 创建目录

$ mkdir my_folder 

5. touch — 创建空文件

$ touch hello.txt 

6. cat — 查看文件内容

$ echo "Linux is awesome!"> note.txt 
$ cat note.txt 
Linux is awesome!

7. cp / mv / rm — 复制、移动、删除

$ cp file1.txt file2.txt # 复制 
$ mv file1.txt new_name.txt # 移动或重命名 
$ rm old_file.txt # 删除文件 
$ rm -r old_folder # 递归删除目录(⚠️ 谨慎!)

⚠️ 警告:rm 命令不可恢复!没有回收站概念。

文件系统结构

Linux 的文件系统是树状结构,根目录为 /。所有设备、分区、网络资源都挂载在 / 下。

常见目录说明:

目录用途
/根目录
/bin基础命令(如 ls, cp)
/sbin系统管理命令(如 ifconfig, reboot)
/etc配置文件(如 network, ssh)
/home用户家目录(如 /home/alice)
/rootroot 用户的家目录
/tmp临时文件(重启后清空)
/var可变数据(日志、邮件、数据库)
/usr用户程序和只读数据
/dev设备文件(如 /dev/sda 表示硬盘)
/proc虚拟文件系统,反映内核和进程状态
/sys硬件和驱动信息

📌 记住:一切皆文件(Everything is a file)——这是 Unix/Linux 的哲学。

用户与权限管理

Linux 是多用户系统,每个文件都有所有者和权限。

查看用户信息

$ whoami
alice 
$ id
uid=1000(alice) gid=1000(alice) groups=1000(alice),4(adm),24(cdrom)...

文件权限详解

$ ls -l hello.txt 
-rw-r--r-- 1 alice alice 0 Jan 1 10:00 hello.txt 
  • 第一位 -:文件类型(-=普通文件,d=目录,l=链接)
  • 接下来 9 位:rw-r--r--
    • 前 3 位 rw-:所有者权限(读 + 写)
    • 中 3 位 r--:所属组权限(只读)
    • 后 3 位 r--:其他用户权限(只读)

权限符号:

  • r = read(4)
  • w = write(2)
  • x = execute(1)

修改权限:chmod

$ chmod 755 script.sh # 所有者 rwx,组和其他 rx 
$ chmod u+x script.sh # 给所有者加执行权限

切换用户:sudo 与 su

$ sudo apt update # 临时以 root 权限执行 
$ su - # 切换到 root(需密码)

🔐 安全提示:不要长期使用 root 账户!用 sudo 即可。

软件包管理

Linux 不像 Windows 那样到处下载.exe,而是通过包管理器统一安装软件。

Debian/Ubuntu 系:apt

$ sudo apt update # 更新软件源列表 
$ sudo apt install git # 安装 git 
$ sudo apt remove git # 卸载 git 
$ sudo apt upgrade # 升级所有已安装软件

RHEL/CentOS/Rocky 系:dnf(或旧版 yum)

$ sudo dnf install nginx 
$ sudo dnf remove nginx 

Arch 系:pacman

$ sudo pacman -S firefox 

💡 包管理器的优势:自动解决依赖、一键卸载、版本统一、安全校验。

文本编辑器:Vim 入门

在服务器上,图形界面往往不可用,因此必须掌握命令行编辑器。Vim 是最经典的之一。

启动 Vim

$ vim myfile.txt 

基本操作

  • 默认进入 普通模式(Normal Mode)
  • 按 i 进入 插入模式(Insert Mode),可输入文字
  • 按 Esc 回到普通模式
  • 输入 :wq 保存并退出
  • 输入 :q! 强制退出不保存

🎮 小游戏:在终端运行 vimtutor,这是官方交互式教程!

如果你觉得 Vim 太难,也可以先用 nano:

$ nano myfile.txt # Ctrl+O 保存,Ctrl+X 退出

进程管理

Linux 中运行的程序称为进程(Process)。

查看进程:ps 和 top

$ ps aux | grep firefox # 查找 firefox 进程 
$ top # 实时监控进程(按 q 退出) 
$ htop # 更友好的 top(需安装)

终止进程:kill

$ kill 1234 # 终止 PID 为 1234 的进程 
$ kill -9 1234 # 强制终止(谨慎使用)

后台运行:& 和 nohup

$ ./long_script.sh & # 后台运行 
$ nohup ./server.sh & # 关闭终端后仍运行

网络基础

Linux 是网络操作系统的王者。

查看 IP 地址

$ ip addr show # 或旧命令 
$ ifconfig

测试网络连通性

$ ping google.com 
$ curl https://httpbin.org/ip # 查看公网 IP

SSH 远程登录

$ ssh [email protected] # 首次连接会提示确认指纹

🔐 安全建议:生产环境禁用 root 登录,使用密钥认证。

Shell 脚本入门

Shell 脚本是自动化任务的核心工具。

编写第一个脚本

$ nano hello.sh 

内容:

#!/bin/bash
echo "Today is $(date)"
echo "You are logged in as $(whoami)"

赋予执行权限并运行:

$ chmod +x hello.sh 
$ ./hello.sh 

输出示例:

Today is Sun Jan 4 10:30:00 CST 2026 You are logged in as alice 

常见控制结构

#!/bin/bash
# 条件判断
if [ -f /etc/os-release ]; then
    echo "This is a Linux system."
fi
# 循环
for i in {1..5}; do
    echo "Count: $i"
done

📌 脚本扩展名通常为.sh,但不是必须的。

环境变量与 PATH

环境变量影响程序运行行为。

查看环境变量

$ echo $HOME
/home/alice 
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin 

设置临时变量

$ MY_VAR="Hello" 
$ echo $MY_VAR
Hello 

永久添加 PATH(以 Bash 为例)

编辑 ~/.bashrc:

export PATH=$PATH:/my/custom/bin 

然后重载:

$ source ~/.bashrc 

日志系统

Linux 系统日志存放在 /var/log/。

常用日志文件:

  • /var/log/syslog(Debian/Ubuntu)或 /var/log/messages(RHEL)
  • /var/log/auth.log:登录认证日志
  • /var/log/dmesg:内核启动日志

查看日志:

$ tail -f /var/log/syslog # 实时跟踪日志 
$ journalctl -u nginx # systemd 服务日志(现代系统)

系统服务管理(systemd)

现代 Linux 使用 systemd 管理服务。

常用命令

$ sudo systemctl start nginx # 启动服务 
$ sudo systemctl stop nginx # 停止 
$ sudo systemctl restart nginx # 重启 
$ sudo systemctl status nginx # 查看状态 
$ sudo systemctl enable nginx # 开机自启 
$ sudo systemctl disable nginx # 取消自启

查看所有服务

$ systemctl list-units --type=service --state=running 

文件查找与文本处理

查找文件:find

$ find /home -name "*.txt" # 查找所有 .txt 文件 
$ find . -mtime -7 # 7 天内修改过的文件

查找文本:grep

$ grep "error" /var/log/syslog # 在日志中找 error 
$ grep -r "TODO" ~/projects/ # 递归搜索 
$ ps aux | grep ssh # 管道 + grep

文本处理三剑客:awk / sed / cut

# 提取第二列 
$ echo "apple 10 red" | awk '{print $2}'
10
# 替换文本 
$ echo "hello world" | sed 's/world/Linux/'
hello Linux 
# 按分隔符切分 
$ echo "name:age:city" | cut -d':' -f1
name 

磁盘与文件系统

查看磁盘使用情况

$ df -h # 磁盘空间 
$ du -sh /home # 目录大小

挂载 U 盘或硬盘

$ sudo mkdir /mnt/usb 
$ sudo mount /dev/sdb1 /mnt/usb 
$ sudo umount /mnt/usb 

📌 注意:设备名如/dev/sda, /dev/sdb 可通过 lsblk 查看。

安全基础

防火墙:ufw(Ubuntu)或 firewalld(RHEL)

$ sudo ufw enable 
$ sudo ufw allow 22/tcp # 开放 SSH 
$ sudo ufw status verbose 

用户密码策略

$ sudo passwd alice # 修改用户密码 
$ chage -l alice # 查看密码过期信息

SELinux / AppArmor

  • RHEL 系使用 SELinux(安全增强型 Linux)
  • Ubuntu 使用 AppArmor
  • 初学者可暂时关闭(不推荐生产环境)

Linux 内核与模块

内核是操作系统的核心。你可以动态加载/卸载内核模块。

$ lsmod # 列出已加载模块 
$ modinfo e1000 # 查看网卡驱动信息 
$ sudo modprobe usb_storage # 加载 USB 存储模块

图形界面(GUI)与桌面环境

虽然命令行强大,但 Linux 也有优秀的图形界面:

  • GNOME:现代、简洁(Ubuntu 默认)
  • KDE Plasma:功能丰富、高度可定制
  • XFCE / LXDE:轻量级,适合老电脑

安装桌面(以 Ubuntu Server 为例):

$ sudo apt install ubuntu-desktop # GNOME 
$ sudo apt install kde-plasma-desktop # KDE

开发环境搭建

Linux 是开发者的天堂。

安装 Git

$ sudo apt install git 
$ git config --global user.name "Your Name" 
$ git config --global user.email "[email protected]"

安装 Python

$ sudo apt install python3 python3-pip 
$ pip3 install requests flask 

安装 Docker

$ sudo apt install docker.io 
$ sudo usermod -aG docker $USER # 免 sudo 使用 
$ docker run hello-world 

🐳 Docker 官方文档:https://docs.docker.com/engine/install/ubuntu/

故障排查思路

遇到问题怎么办?

  1. 看错误信息:终端输出往往包含关键线索。
  2. 查日志:/var/log/ 或 journalctl。
  3. 搜索:复制错误信息到 Google 或 Stack Overflow。
  4. 最小化复现:能否用简单命令重现问题?
  5. 社区求助:Reddit 的 r/linuxquestions、中文社区如 V2EX。

🌐 Stack Overflow 是全球最大的编程问答网站,99% 的 Linux 问题都能找到答案。

学习资源推荐

  • 官方文档:
    • The Linux Documentation Project (TLDP) (https://tldp.org)
    • Ubuntu 官方指南 (https://help.ubuntu.com)
  • 在线课程:
    • Linux Journey(交互式学习)(https://linuxjourney.com)
    • The Odin Project(含 Linux 基础)(https://www.theodinproject.com)
  • 书籍:
    • 《鸟哥的 Linux 私房菜》(中文经典)
    • 《How Linux Works》(英文,深入浅出)

Linux 生态图谱

下面是一个简化的 Linux 技术生态关系图:

graph TD
    A[Linux Kernel] --> B[GNU Tools]
    B --> C[Shell: Bash/Zsh]
    B --> D[File Systems: ext4, XFS, Btrfs]
    B --> E[Coreutils: ls, cp, mv...]
    B --> F[Scripting & Automation]
    B --> G[Device Drivers]
    H[Hardware: CPU, GPU, NIC] --> A
    I[Desktop Environments] --> J[GNOME]
    I --> K[KDE Plasma]
    I --> L[XFCE]
    M[Package Managers] --> N[APT - Debian/Ubuntu]
    M --> O[YUM/DNF - RHEL]
    M --> P[Pacman - Arch]
    Q[Systemd] --> R[Service Management]
    S[Logging: journald] --> R
    T[T] --> U[Mount Management]
    V[Development] --> W[Git]
    V --> X[Docker]
    V --> Y[Python/Node.js/Rust]

✅ 此图表展示了 Linux 内核如何与上层工具、服务、开发环境协同工作。

结语:拥抱开源,掌控你的计算机

Linux 不仅仅是一个操作系统,它代表了一种自主、透明、协作的技术文化。从你的第一行 echo 命令开始,你就已经踏上了成为技术主人的道路。

不要害怕命令行,不要畏惧报错。每一个 Linux 高手,都曾无数次面对 Permission denied 或 command not found。正是这些'失败',塑造了你的技术直觉。

🐧 今天,就打开终端,输入: 阅读手册,探索未知。Linux 的世界,欢迎你!

延伸思考:

  • 为什么 Linux 在服务器领域占据绝对优势?
  • 开源 vs 闭源,各自的利弊是什么?
  • 如果让你设计一个 Linux 发行版,你会怎么做?

🌟 记住:你不是在'使用'Linux,你是在'参与'Linux。

Happy Hacking!

目录

  1. 什么是 Linux?
  2. Linux 的核心特点
  3. Linux 与 Windows/macOS 有什么区别?
  4. 常见的 Linux 发行版(Distributions)
  5. 1. Ubuntu
  6. 2. CentOS / Rocky Linux
  7. 3. Debian
  8. 4. Arch Linux
  9. 5. Fedora
  10. 如何开始使用 Linux?
  11. 方式一:使用虚拟机(推荐新手)
  12. 方式二:WSL(Windows Subsystem for Linux)
  13. 方式三:双系统启动
  14. 方式四:云服务器
  15. 初识 Linux 终端(Terminal)
  16. 打开终端
  17. 第一个命令:echo "Hello, Linux!"
  18. 基础命令速览
  19. 1. pwd — 查看当前目录
  20. 2. ls — 列出文件和目录
  21. 3. cd — 切换目录
  22. 4. mkdir — 创建目录
  23. 5. touch — 创建空文件
  24. 6. cat — 查看文件内容
  25. 7. cp / mv / rm — 复制、移动、删除
  26. 文件系统结构
  27. 用户与权限管理
  28. 查看用户信息
  29. 文件权限详解
  30. 修改权限:chmod
  31. 切换用户:sudo 与 su
  32. 软件包管理
  33. Debian/Ubuntu 系:apt
  34. RHEL/CentOS/Rocky 系:dnf(或旧版 yum)
  35. Arch 系:pacman
  36. 文本编辑器:Vim 入门
  37. 启动 Vim
  38. 基本操作
  39. 进程管理
  40. 查看进程:ps 和 top
  41. 终止进程:kill
  42. 后台运行:& 和 nohup
  43. 网络基础
  44. 查看 IP 地址
  45. 测试网络连通性
  46. SSH 远程登录
  47. Shell 脚本入门
  48. 编写第一个脚本
  49. 常见控制结构
  50. 条件判断
  51. 循环
  52. 环境变量与 PATH
  53. 查看环境变量
  54. 设置临时变量
  55. 永久添加 PATH(以 Bash 为例)
  56. 日志系统
  57. 系统服务管理(systemd)
  58. 常用命令
  59. 查看所有服务
  60. 文件查找与文本处理
  61. 查找文件:find
  62. 查找文本:grep
  63. 文本处理三剑客:awk / sed / cut
  64. 提取第二列
  65. 替换文本
  66. 按分隔符切分
  67. 磁盘与文件系统
  68. 查看磁盘使用情况
  69. 挂载 U 盘或硬盘
  70. 安全基础
  71. 防火墙:ufw(Ubuntu)或 firewalld(RHEL)
  72. 用户密码策略
  73. SELinux / AppArmor
  74. Linux 内核与模块
  75. 图形界面(GUI)与桌面环境
  76. 开发环境搭建
  77. 安装 Git
  78. 安装 Python
  79. 安装 Docker
  80. 故障排查思路
  81. 学习资源推荐
  82. Linux 生态图谱
  83. 结语:拥抱开源,掌控你的计算机
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 远程配置 VS Code 使用 GitHub Copilot 的排查指南
  • 二分算法实战:查找有序数组中元素的首尾位置
  • llama.cpp llama-server 从命令行到 HTTP Server 实战与架构解析
  • Happy Coder:Claude Code 移动端与 Web 客户端工具
  • JTAG 接口实测波形与基础时序分析
  • 基于深度强化学习的多无人机辅助边缘计算网络路径规划
  • 哈希表原理及模拟实现
  • OpenCode Superpowers 插件安装与使用全指南
  • Linux 入门教程:从零开始掌握常用命令与系统配置
  • DSRL: 使用潜空间强化学习引导扩散策略
  • B-树原理及 Java 模拟实现
  • Python 爬虫获取懂车帝新能源汽车近一年销量榜
  • 机器人避障算法实战:从仿真到部署的关键步骤
  • 昇腾 NPU 部署 Llama 2 模型:性能测试与实战优化
  • Whisper 模型版本及下载链接
  • AIGC 本地部署硬件配置要求与推荐主机清单
  • 基于 gpt-oss-20b-WEBUI 与 Dify 构建本地智能机器人
  • 前端工程师转型 AI Agent 开发工程师完整学习路线
  • OpenClaw 飞书机器人搭建指南
  • 响应式设计:让网页适配不同终端

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online