【Linux】零基础入门:一篇吃透操作系统核心概念

【Linux】零基础入门:一篇吃透操作系统核心概念
在这里插入图片描述
👋 大家好,欢迎来到我的技术博客!
📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。
🎯 本文将围绕Linux这个话题展开,希望能为你带来一些启发或实用的参考。
🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获!

文章目录

【Linux】零基础快速认识 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 LinuxAlmaLinux
  • 官网:https://rockylinux.org

3. Debian 🟦

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

4. Arch Linux ⚫

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

5. Fedora 🟥

  • 由 Red Hat 赞助,前沿技术试验田。
  • GNOME 桌面默认,更新快。
  • 官网:https://getfedora.org
🔗 推荐阅读:DistroWatch - 实时统计各发行版人气

如何开始使用 Linux?💻

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

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

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

方式二:WSL(Windows Subsystem for Linux)🧩

安装命令(以管理员身份运行 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 $ iduid=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

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

切换用户:sudosu

$ sudoapt update # 临时以 root 权限执行 $ su - # 切换到 root(需密码)
🔐 安全提示:不要长期使用 root 账户!用 sudo 即可。

软件包管理 📦

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

Debian/Ubuntu 系:apt

$ sudoapt update # 更新软件源列表 $ sudoaptinstallgit# 安装 git $ sudoapt remove git# 卸载 git $ sudoapt 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)

查看进程:pstop

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

终止进程:kill

$ kill1234# 终止 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/bashecho"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 ];thenecho"This is a Linux system."fi# 循环foriin{1..5};doecho"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

exportPATH=$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 |grepssh# 管道 + 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 盘或硬盘

$ sudomkdir /mnt/usb $ sudomount /dev/sdb1 /mnt/usb $ sudoumount /mnt/usb 
📌 注意:设备名如 /dev/sda, /dev/sdb 可通过 lsblk 查看。

安全基础 🔒

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

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

用户密码策略

$ sudopasswd 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 为例):

$ sudoaptinstall ubuntu-desktop # GNOME $ sudoaptinstall kde-plasma-desktop # KDE

开发环境搭建 💻

Linux 是开发者的天堂。

安装 Git

$ sudoaptinstallgit $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"

安装 Python

$ sudoaptinstall python3 python3-pip $ pip3 install requests flask 

安装 Docker

$ sudoaptinstall docker.io $ sudousermod -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 问题都能找到答案。

学习资源推荐 📚


Linux 生态图谱(Mermaid 图表)📊

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

Linux Kernel

GNU Tools

Shell: Bash/Zsh

File Systems: ext4, XFS, Btrfs

Coreutils: ls, cp, mv...

Scripting & Automation

Device Drivers

Hardware: CPU, GPU, NIC

Desktop Environments

GNOME

KDE Plasma

XFCE

Package Managers

APT - Debian/Ubuntu

YUM/DNF - RHEL

Pacman - Arch

Systemd

Service Management

Logging: journald

Mount Management

Development

Git

Docker

Python/Node.js/Rust

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

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

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

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

🐧 今天,就打开终端,输入:

阅读手册,探索未知。Linux 的世界,欢迎你!

延伸思考

  • 为什么 Linux 在服务器领域占据绝对优势?
  • 开源 vs 闭源,各自的利弊是什么?
  • 如果让你设计一个 Linux 发行版,你会怎么做?
🌟 记住:你不是在“使用” Linux,你是在“参与” Linux。

Happy Hacking! 💻✨


🙌 感谢你读到这里!
🔍 技术之路没有捷径,但每一次阅读、思考和实践,都在悄悄拉近你与目标的距离。
💡 如果本文对你有帮助,不妨 👍 点赞、📌 收藏、📤 分享 给更多需要的朋友!
💬 欢迎在评论区留下你的想法、疑问或建议,我会一一回复,我们一起交流、共同成长 🌿
🔔 关注我,不错过下一篇干货!我们下期再见!✨

Read more

Web Worker:让前端飞起来的隐形引擎

Web Worker:让前端飞起来的隐形引擎

目录 Web Worker:让前端飞起来的隐形引擎 一、什么是 Web Worker? 1、为什么需要 web worker 2、什么是 web worker 二、基本使用方法 1、创建一个 Worker 文件(worker.js) 2、主线程引入并使用 三、实战案例:在前端处理大批量数据 1、Worker 文件(sortWorker.js) 2、主线程调用 四、Vue3 中如何优雅使用 Web Worker 1、新建 Worker 文件(worker.js) 2、在 Vue3

By Ne0inhk
前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践

前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解 🌛《开源项目》本专栏主要介绍目前热门的开源项目,带大家快速了解并轻松上手使用 🍎 《前端技术》专栏以实战为主介绍日常开发中前端应用的一些功能以及技巧,均附有完整的代码示例 ✨《开发技巧》本专栏包含了各种系统的设计原理以及注意事项,并分享一些日常开发的功能小技巧 💕《Jenkins实战》专栏主要介绍Jenkins+Docker的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程 🌞《Spring Boot》专栏主要介绍我们日常工作项目中经常应用到的功能以及技巧,代码样例完整 👍《Spring Security》专栏中我们将逐步深入Spring Security的各个

By Ne0inhk

Qwen3-VL-WEBUI技术整合:与RAG系统协同工作教程

Qwen3-VL-WEBUI技术整合:与RAG系统协同工作教程 1. 引言 随着多模态大模型的快速发展,视觉-语言理解能力已成为AI应用落地的关键一环。阿里云推出的 Qwen3-VL 系列模型,作为迄今为止Qwen系列中最强大的视觉-语言模型(Vision-Language Model, VLM),在文本生成、图像理解、视频分析和代理交互等方面实现了全面升级。 本文将聚焦于开源项目 Qwen3-VL-WEBUI ——一个专为Qwen3-VL设计的本地化Web交互界面,并深入讲解如何将其与 RAG(Retrieval-Augmented Generation)系统 进行深度整合,构建具备“看图说话+知识检索+智能推理”三位一体能力的下一代AI应用。 该WEBUI内置了 Qwen3-VL-4B-Instruct 模型,支持图像上传、对话交互、工具调用等核心功能,开箱即用,适合快速原型开发与工程集成。 通过本教程,你将掌握: - 如何部署并运行 Qwen3-VL-WEBUI - RAG系统的基本架构与选型建议 - 实现图文混合输入下的动态知识增强机制 - 构建可扩展的多模态问答系

By Ne0inhk
【Java Web学习 | 第15篇】jQuery(万字长文警告)

【Java Web学习 | 第15篇】jQuery(万字长文警告)

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * 从零开始学 jQuery * jQuery 核心知识🥝 * 一、jQuery 简介:为什么选择它? * 1. 核心用途 * 2. 核心优势 * 3. 下载与引入 * 二、jQuery 语法:基础与选择器 * 1. 常用选择器 * 2. ready 方法:确保文档加载完成 * 三、DOM 元素操作:内容、属性、样式 * 1. 操作元素内容 * 2. 操作元素属性 * 3. 操作元素样式 * (1)操作宽度与高度 * (2)

By Ne0inhk