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

Linux 零基础入门:掌握操作系统核心概念

Linux 作为开源操作系统的基石,广泛应用于服务器与云计算领域。本文从零开始讲解 Linux 核心概念,涵盖发行版选择、终端使用、基础命令、文件权限管理及软件包管理等内容。通过实战示例介绍 Vim、Shell 脚本、进程与网络配置,帮助开发者快速上手 Linux 环境,理解系统底层逻辑与运维技能。

独立开发者发布于 2026/2/180 浏览
Linux 零基础入门:掌握操作系统核心概念

Linux 架构图

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

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

什么是 Linux?

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

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

如何开始使用 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 终端

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 110: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)
    • Ubuntu 官方指南
  • 在线课程:
    • Linux Journey(交互式学习)
    • The Odin Project(含 Linux 基础)
  • 书籍:
    • 《鸟哥的 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]
    G --> H[Hardware: CPU, GPU, NIC]
    C --> I[Desktop Environments]
    I --> J[GNOME]
    I --> K[KDE Plasma]
    I --> L[XFCE]
    B --> M[Package Managers]
    M --> N[APT - Debian/Ubuntu]
    M --> O[YUM/DNF - RHEL]
    M --> P[Pacman - Arch]
    B --> Q[Systemd]
    Q --> R[Service Management]
    B --> S[Logging: journald]
    B --> T[Mount Management]
    B --> U[Development]
    U --> V[Git]
    U --> W[Docker]
    U --> X[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 发行版
  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 终端
  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 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 基于 Coze 构建专属 AI 应用:从智能体开发到 Web 部署实战
  • Java 核心面试知识点梳理与实战解析
  • 具身智能年度报告:4 万次真机评测揭示模型真实能力,榜首成功率仅 51%
  • Ubuntu 22.04 环境下 ROS2 Humble 复现 FAST-LIVO2 实战指南
  • 仓颉语言 MVVM 架构实现与现代 UI 最佳实践
  • Python Selenium 自动化测试实战:从入门到企业级应用
  • 基于自然语言交互的 AI 爬虫工具实战解析
  • Ubuntu 25.04 物理机安装指南
  • 腾讯开源 HunyuanVideo 1.5:8.3B 参数模型支持消费级显卡部署
  • AI 网关实战:使用 Vercel AI Gateway 快速接入大模型
  • 2025 年 AI IDE 深度评测:从功能效率转向生态壁垒
  • JDK 17 安装与环境配置实战指南
  • Pybind11 实战:让 Python 无缝调用 C++ 函数
  • 基于 FastAPI 自动构建 SSE MCP 服务器
  • FastGPT 集成 MCP 协议构建工具增强型智能体
  • 2024 年常见 Redis 面试题:同步机制详解
  • HTML/CSS 文本字体与字号设置实战指南
  • 生产环境部署 Java 11:关键注意事项与许可变更
  • 深入解析:为什么 list.sort() 比 Stream().sorted() 更快
  • 基于 Django 与 Vue 的大学生兼职管理系统设计与实现

相关免费在线工具

  • 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