跳到主要内容
Linux 零基础入门:掌握操作系统核心概念 | 极客日志
Shell / Bash
Linux 零基础入门:掌握操作系统核心概念 Linux 作为开源操作系统的基石,涵盖内核、文件系统、权限管理及常用命令。主流发行版选择、终端使用、包管理、脚本编写及系统维护技巧,帮助开发者快速构建 Linux 实战能力。
赛博朋克 发布于 2026/2/26 更新于 2026/6/2 31 浏览
'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 有什么区别?
特性 Windows macOS Linux 开源 ❌ 闭源 ❌ 闭源(部分开源) ✅ 完全开源 成本 💰 商业授权 💰 购买 Mac 设备 🆓 免费 定制性 低 中等 极高 命令行体验 PowerShell / CMD(较弱) Terminal(基于 BSD) Bash/Zsh(强大) 软件生态 丰富(尤其游戏/办公) 优秀(创意类软件) 开发/服务器领域无敌 安全性 易受病毒攻击 较安全 极其安全
Linux 并不是'取代'Windows 或 macOS,而是提供一种更可控、更高效、更适合开发者的操作环境。
常见的 Linux 发行版
Linux 内核本身不能直接使用,需要搭配用户空间工具(如 Shell、文件系统、图形界面等)。这些组合体称为发行版(Distribution)。
1. Ubuntu
2. CentOS / Rocky Linux
原 CentOS 是 Red Hat Enterprise Linux(RHEL)的免费克隆版。
2021 年后 CentOS 停止传统支持,社区转向 Rocky Linux 或 AlmaLinux。
官网:https://rockylinux.org
3. Debian
4. Arch Linux
5. Fedora
如何开始使用 Linux? 你不需要立刻放弃 Windows 或 macOS!有几种方式可以轻松入门:
方式一:使用虚拟机(推荐新手)
安装 VirtualBox 或 VMware Workstation Player(免费)。
下载 Ubuntu ISO 镜像,在虚拟机中安装。
优点:安全、隔离、可随时删除。
方式二:WSL(Windows Subsystem for Linux) 安装命令(以管理员身份运行 PowerShell):
方式三:双系统启动
分区硬盘,同时安装 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 — 查看当前目录
2. ls — 列出文件和目录 $ ls Documents Downloads Music Pictures
$ ls -l
$ ls -a
3. cd — 切换目录 $ cd /home
$ cd ..
$ cd ~
$ cd -
4. mkdir — 创建目录
5. touch — 创建空文件
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
文件系统结构 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
$ chmod u+x script.sh
切换用户:sudo 与 su 安全提示:不要长期使用 root 账户!用 sudo 即可。
软件包管理 Linux 不像 Windows 那样到处下载 .exe,而是通过包管理器统一安装软件。
Debian/Ubuntu 系:apt $ sudo apt update
$ sudo apt install git
$ sudo apt remove git
$ sudo apt upgrade
RHEL/CentOS/Rocky 系:dnf(或旧版 yum) $ sudo dnf install nginx
$ sudo dnf remove nginx
Arch 系:pacman 包管理器的优势:自动解决依赖、一键卸载、版本统一、安全校验。
文本编辑器:Vim 入门 在服务器上,图形界面往往不可用,因此必须掌握命令行编辑器。Vim 是最经典的之一。
启动 Vim
基本操作
默认进入 普通模式(Normal Mode)
按 i 进入 插入模式(Insert Mode) ,可输入文字
按 Esc 回到普通模式
输入 :wq 保存并退出
输入 :q! 强制退出不保存
小游戏:在终端运行 vimtutor,这是官方交互式教程!
进程管理 Linux 中运行的程序称为进程(Process)。
查看进程:ps 和 top $ ps aux | grep firefox
$ top
$ htop
终止进程:kill $ kill 1234
$ kill -9 1234
后台运行:& 和 nohup $ ./long_script.sh &
$ nohup ./server.sh &
网络基础
查看 IP 地址 $ ip addr show
$ ifconfig
测试网络连通性 $ ping google.com
$ curl https://httpbin.org/ip
SSH 远程登录 安全建议:生产环境禁用 root 登录,使用密钥认证。
Shell 脚本入门
编写第一个脚本 #!/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
环境变量与 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 为例) export PATH=$PATH :/my/custom/bin
日志系统
/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) 现代 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"
$ find . -mtime -7
查找文本:grep $ grep "error" /var/log/syslog
$ grep -r "TODO" ~/projects/
$ ps aux | grep ssh
文本处理三剑客: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
磁盘与文件系统
查看磁盘使用情况
挂载 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
$ 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
图形界面(GUI)与桌面环境 虽然命令行强大,但 Linux 也有优秀的图形界面:
GNOME :现代、简洁(Ubuntu 默认)
KDE Plasma :功能丰富、高度可定制
XFCE / LXDE :轻量级,适合老电脑
安装桌面(以 Ubuntu Server 为例):
$ sudo apt install ubuntu-desktop
$ sudo apt install kde-plasma-desktop
开发环境搭建
安装 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
$ docker run hello-world
故障排查思路
看错误信息 :终端输出往往包含关键线索。
查日志 :/var/log/ 或 journalctl。
搜索 :复制错误信息到 Google 或 Stack Overflow。
最小化复现 :能否用简单命令重现问题?
社区求助 :Reddit 的 r/linuxquestions、中文社区如 V2EX。
Stack Overflow 是全球最大的编程问答网站,99% 的 Linux 问题都能找到答案。
学习资源推荐
官方文档 :
在线课程 :
书籍 :
《鸟哥的 Linux 私房菜》(中文经典)
《How Linux Works》(英文,深入浅出)
Linux 生态图谱 graph TD
A[Linux Kernel] --> B[GNU Tools]
B --> C[Shell: Bash/Zsh]
C --> D[File Systems: ext4, XFS, Btrfs]
D --> E[Coreutils: ls, cp, mv...]
E --> F[Scripting & Automation]
F --> G[Device Drivers]
G --> H[Hardware: CPU, GPU, NIC]
H --> I[Desktop Environments]
I --> J[GNOME]
I --> K[KDE Plasma]
I --> L[XFCE]
J --> M[Package Managers]
M --> N[APT - Debian/Ubuntu]
M --> O[YUM/DNF - RHEL]
M --> P[Pacman - Arch]
N --> Q[Systemd]
Q --> R[Service Management]
R --> S[Logging: journald]
S --> T[Mount Management]
T --> U[Development]
U --> V[Git]
U --> W[Docker]
U --> X[Python/Node.js/Rust]
此图表展示了 Linux 内核如何与上层工具、服务、开发环境协同工作。
结语:拥抱开源,掌控你的计算机 Linux 不仅仅是一个操作系统,它代表了一种自主、透明、协作的技术文化。从你的第一行 echo 命令开始,你就已经踏上了成为技术主人的道路。
不要害怕命令行,不要畏惧报错。每一个 Linux 高手,都曾无数次面对 Permission denied 或 command not found。正是这些'失败',塑造了你的技术直觉。
为什么 Linux 在服务器领域占据绝对优势?
开源 vs 闭源,各自的利弊是什么?
如果让你设计一个 Linux 发行版,你会怎么做?
记住:你不是在'使用'Linux,你是在'参与'Linux。
相关免费在线工具 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