Ubuntu Linux 新手生存指南

适用人群: 操作系统小白、刚装好 Ubuntu 想探索的用户

核心理念: 操作系统是硬件的大管家,而你是管家的老板。


🟢 第一阶段:基本生存技能 (GUI & 命令行)

在 Linux 里,你有两种活法:一种像用 Windows 一样点鼠标,一种像黑客一样敲代码。

1. 必背快捷键

  • 打开终端 (Terminal): Ctrl + Alt + T (这是你的魔法入口,记住它!)

  • 粘贴命令: 在终端里通常是 Ctrl + Shift + V (而不是 Ctrl+V)。

2. 走路与看路 (文件操作)

把终端想象成一个漆黑的房间,你需要用命令来照亮和移动。

你的动作 对应的命令 记忆口诀/解释
我在哪? pwd P rint W orking Directory (打印当前位置)
有什么? ls L is t (列出清单)。想看详细信息?用 ls -l
进房间 cd <文件夹名> C hange Directory (改变目录)。
回家 cd 不带参数直接回你的家目录 (/home/你的名字)。
回上一级 cd .. .. 代表上一级(父目录)。
建新房 mkdir <名字> M ak e Directory (制造目录)。
造文件 touch <名字> 摸一下(Touch),无中生有变出一个空文件。

3. 进货 (安装软件)

Ubuntu 有个巨大的仓库(软件源),你只需要告诉管家(APT)去拿什么。

  • 第一步(必须做):更新购物清单

    sudo apt update

    (告诉系统去看看网上最新的软件列表,不然它找不到最新的软件)

  • 第二步:安装软件

    sudo apt install <软件名>

    (例如:sudo apt install htop)

  • 遇到锁 (Lock) 怎么办?

    如果提示 /var/lib/dpkg/lock 被锁,说明后台正在自动更新。去喝口水等一分钟,或者重启电脑,通常就能解决。


🟡 第二阶段:掌控权力的游戏 (权限系统)

Linux 最看重安全。每个文件都有个"身份证",决定了谁能看、谁能改。

1. 读懂 ls -l 的咒语

当你输入 ls -l,你会看到类似 -rwxr-xr-- 的东西:

  • r (Read 读): 值为 4。能看文件内容 / 能看文件夹里有什么。

  • w (Write 写): 值为 2。能修改文件 / 能在文件夹里删改文件。

  • x (Execute 执行): 值为 1。

    • 对文件: 是个程序,可以运行。

    • 对文件夹: 是把钥匙,可以进入 (cd) 这个文件夹。

2. 夺回权限 (chmod)

你是老板,你可以修改身份证。我们通常用数字加法来控制。

  • 公式: r(4) + w(2) + x(1) = 7 (满血权限)

  • 命令: chmod <数字> <文件名>

  • 常用场景:

    • chmod 700 my_script.sh -> 只有我能用 (rwx),别人无权。

    • chmod 777 my_file -> 危险! 所有人都能随便改(慎用)。

    • chmod +x my_script.sh -> 快速赋予"执行"权限,让脚本能跑起来。


🔴 第三阶段:硬核内核原理 (进程与线程)

这是你作为"未来的操作系统专家"必须要懂的,也是解决你之前困惑的关键。

1. 影分身之术:fork() 与 进程

当你在代码里写 pid_t pid = fork(); 时:

  • 发生了什么? 操作系统把当前的程序(父进程)完全克隆了一份(子进程)。

  • 怎么区分?

    • 父进程手里拿到的 pid孩子的身份证号(正整数)。

    • 子进程手里拿到的 pid0

  • 同步 (wait):

    • 为了不让孩子变成"孤儿",父进程通常会用 wait()waitpid() 停下来,等待子进程干完活再一起收工。这叫同步

2. 盘丝洞之术:线程与并发

当你使用 pthread_create 创建线程时:

  • 发生了什么? 并没有克隆整个房间,而是多请了几个人(线程)在这个房间里一起干活。他们共用内存。

  • 为什么打印顺序是乱的?(你的困惑点)

    • 并发 (Concurrency): CPU 就像一个千手观音,轮流处理不同的线程,速度快到让你觉得它们是同时在做。

    • 调度器 (Scheduler): 操作系统决定下一毫秒谁干活。它可能刚让主线程"创建"完老三,马上就切过去让老二"说话"。

    • 缓冲 (Buffering): printf 打印的内容可能会先暂存在缓冲区里,像排队打印一样。

    • 结论: 在多线程世界里,"代码写的顺序"不等于"屏幕显示的顺序" 。除非你用 join 强制排队,否则它们就是自由奔跑的。


💡 最后的生存锦囊

  1. 忘记命令了怎么办?

    在命令后面加 --help,例如 ls --help,系统会把说明书拍在你脸上。

  2. 只有一行代码能拯救卡死的终端:

    Ctrl + C。这是"停止当前程序"的通用指令。

  3. 不要害怕犯错:

    除了 sudo rm -rf /(强制删除根目录,千万别试)之外,大部分错误都是可以修复的。

现在,去终端里敲下你的第一个 ls,开始探索吧!祝你在 Linux 的世界里玩得开心! 🚀

相关推荐
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B CAN使用
linux·网络·单片机·嵌入式硬件
老师你好ss2 小时前
在VMware16中安装Ubuntu18.04
ubuntu
魂万劫4 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
序属秋秋秋4 小时前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
zfj3214 小时前
top 命令中的 wa (IO wait) 指标,理论上几乎完全是由磁盘IO(包括swap)引起的,而不是网络IO
linux·网络·top·iowait
Xの哲學4 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
用户6135411460165 小时前
libicu-62.1-6.ky10.x86_64.rpm 安装步骤详解(麒麟V10系统)
linux
秋4276 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全
取加若则_6 小时前
深入解析Linux进程优先级机制
linux·服务器
点亮一颗LED(从入门到放弃)7 小时前
设备模型(10)
linux·服务器·前端