零基础Linux入门:从计算机基础到man、nano与SELinux
简介:《鸟哥的Linux私房菜-基础篇》第四版以PDF电子书形式呈现,面向具备基本计算机操作能力、希望系统入门Linux的初学者及需要巩固基础的IT技术人员,重点解决计算机组成、操作系统原理与Linux常用工具之间的知识断层。资源包仅含1个PDF文件,约17.5MB,便于在电脑或平板上随查随学。内容围绕Linux基础知识展开,既从计算机硬件五大单元、CPU架构等概念讲起,也覆盖man页与info页等文档查看方法、常见实用文档位置及使用方式,并对nano文本编辑器和SELinux安全管理作出入门说明。书中强调知识点的实际操作,可帮助读者建立从概念理解到命令查阅、文本编辑与安全管理的学习路径,培养独立排查常见问题的能力。已有1238人学习,适合作为零基础入门与日常查阅的基础教程。
1. 零基础也能读:Linux 入门到底该从哪一页翻起
很多人第一次听到 Linux 入门这四个字,脑子里冒出来的是黑底绿字的屏幕、一行行看不懂的命令,然后默默关掉网页。我当初也一样,觉得这东西是给天天守着服务器的人准备的。换个角度想:Linux 就是一个操作系统,和你每天点的那个桌面系统干的是同一件事,把硬件管起来、让软件跑起来,区别只在于它更常出现在服务器上、也更多用命令来说话。这本《鸟哥的 Linux 私房菜·基础篇》第四版做的事情很朴素,它从“计算机到底是什么”这种最笨的问题讲起,一路把 Linux 基础概念、怎么查文档、怎么用 nano 改文件、SELinux 是干什么的这些东西摆到零基础的人面前。它默认你什么都不会,而这恰恰是新手最需要的起点。
2. 打地基:为什么这本教材讲了半章计算机概论
跳过前面几十页直接看命令,是我见过最多人翻车的地方。原因很简单:Linux 里那些让你一头雾水的名词,内存、位数、容量、带宽,全都是计算机硬件的基础词汇,硬件不懂,命令就只是背下来的咒语。这一章带你把这些词一个个落地,落到你自己那台机器上。
2.1 把电脑当成人:五大单元和数据的流动路线
教材里用人体做类比,这个类比老但是真好用。CPU 是脑袋,负责判断和下令;主存储器就是内存,是脑子里“正在想”的那块区域,临时放着马上要处理的数据;硬盘是长期记忆,把暂时不用的东西存起来;主板是神经系统,把各个部件连起来;电源供应器是心脏,供不上电全身都动不了。
这个类比不只是好记,它直接回答了一个新手最常问的问题:为什么别人总说加内存比换 CPU 便宜还管用?因为所有要进 CPU 处理的数据,都必须先经过主存储器。硬盘上的文件不会自己跳到处理器手里,得先搬进内存。内存不够用的时候,系统只好把内存里的东西反复挪回硬盘腾地方,你感觉到的“卡”,就是这个过程在拖后腿。
要验证这点,装好系统后第一件事就是看内存。打开终端敲:
# 以人类可读的单位(G/M)显示内存使用情况 free -h输出里会有四列值得看:total 是总量,used 是已用,free 是完全空闲,available 是“还能挤出多少给新程序”。新手最容易只看 free 那一列然后慌,其实 Linux 会主动拿空闲内存做缓存,available 才是有意义的数字。看到 available 还有不少,说明内存够用。
同理,想看 CPU 的型号和核心数:
# 打印 CPU 架构、核心数、型号等概要信息 lscpu | head -20head -20的意思是只显示前二十行,避免一屏刷不完。输出里 Architecture 是架构,CPU(s) 是逻辑核心数量,Model name 是型号。
2.2 CPU 架构与 32 位 / 64 位:装软件前先看这一眼
教材里讲了两大设计思路:一类处理器指令精简、每条指令干的事单纯,复杂任务靠多条指令拼起来;另一类指令多而复杂,单条指令能做的事情更丰富。你不用记住哪个更好,只要知道一件事:不同架构的软件不能混装。
对新手影响最直接的是位数。所谓 32 位、64 位,说的是处理器一次能处理的数据宽度。32 位系统能寻址的内存上限大约是 4GB,再往上插内存也用不上;64 位就没这个天花板。这也解释了一个现象:有的软件下载页会标注“仅支持 64 位”,你装在老机器上就是跑不起来,不是软件坏了。
查自己机器的位数,两条命令就够:
# 输出 x86_64 表示 64 位系统,i386/i686 表示 32 位 uname -m # 直接输出 32 或 64,更直观 getconf LONG_BITuname -m里的 m 是 machine 的意思,输出的是硬件平台名称。这两条命令以后你装任何软件前都可以先敲一下,比事后排查省事得多。
2.3 容量与速度单位:500G 硬盘为什么只剩 460G
这是新手最容易怀疑自己被坑的地方。买回来一块标称 500G 的硬盘,装好系统一看只剩 460G 左右,第一反应是“少了 40G 去哪了”。
原因在进位方式。硬盘厂商按十进制算,1G 是 1000×1000×1000 字节;而系统显示容量按二进制算,1G 是 1024×1024×1024 字节。同一个数字,用两把尺子量出来就不一样。换算一下:500×1000³ ÷ 1024³ 约等于 466,属于正常现象,不是缩水,也不是虚标。
常用单位的关系可以记成这张表:
| 单位 | 二进制换算 | 十进制换算 | 常见用途 |
|---|---|---|---|
| K | 1024 | 1000 | 小文件 |
| M | 1024 K | 1000 K | 图片、文档 |
| G | 1024 M | 1000 G | 硬盘、内存 |
| T | 1024 G | 1000 G | 大容量存储 |
速度单位更容易混。网络带宽说的是 bit(位),文件大小说的是 Byte(字节),1 Byte 等于 8 bit。所以一条标称 200Mbps 的宽带,理论下载速度是 200÷8 等于 25MB/s,看到下载软件显示 20 多兆别觉得被坑了,这是单位换算,不是套路。
在系统里看磁盘实际容量:
# -h 表示用 G/M 这种人类可读单位显示各分区容量 df -h输出的 Size 是总容量,Used 是已用,Avail 是可用,Mounted on 是这块分区挂在哪里。新手要留意的是最后那列,根分区通常挂载在/,它是系统盘,写满了会出大问题。
2.4 第一个练手:三条命令看清自己的机器
概念讲完,现在就动手。把下面三条命令依次敲一遍,不要复制粘贴跑完就算,一条一条看输出:
# 第一条:确认系统是 32 位还是 64 位 uname -m # 第二条:看内存总量和当前可用量 free -h # 第三条:看磁盘各分区还剩多少空间 df -h第一条输出x86_64,说明你能装绝大多数现代软件;输出i686之类,后面挑软件就要找 32 位版本。第二条看 total 那一列,那是物理内存总量,4G 以下的机器跑图形界面会比较吃力。第三条看根分区/的 Avail,低于 2G 就该清理了。
三条命令加起来不到十个字符的输入,却把“我的机器是什么配置”这件事说清楚了。这就是这本教材的思路:先让你看见,再让你理解,最后才让你记。我第一次照着敲完,最大的感受不是学会了命令,而是终于知道自己在操作一台什么样的机器。
3. 遇到不会的命令:man 和 info 就是装在机器里的说明书
新手学 Linux 最普遍的焦虑是:命令那么多,怎么记得住?答案是记不住,也不需要记。真正要学的是“遇到不会的命令时去哪儿查”,这个能力比背下两百条命令有用十倍。教材里专门用一整段讲 man 页和 info 页,就是因为它把这个能力当成基础技能来教。
3.1 man page 的结构:先看 NAME,再看 SYNOPSIS
man是 manual 的缩写,几乎每个命令都自带一份手册,就装在系统里,不用联网。敲:
# 查看 ls 命令的手册页 man ls进去之后是一整页文字,新手第一次看通常会懵。其实不用全看,按这个顺序读就行。最上面一行是 NAME,一句话说清这个命令干什么;往下是 SYNOPSIS,也就是语法格式,方括号[]里的内容表示可选,不在方括号里的表示必填;再往下 DESCRIPTION 是详细说明,OPTIONS 是各个参数的含义。看到最后按q退出,这个键一定要记住,不然会被困在手册里出不来。
手册页是分区的,常见的有这几个:
| 分区号 | 内容 | 例子 |
|---|---|---|
| 1 | 普通用户命令 | man 1 ls |
| 5 | 配置文件格式 | man 5 passwd |
| 8 | 系统管理命令 | man 8 mount |
为什么分区重要?因为同一个名字可能既是命令又是配置文件。比如passwd,man passwd默认给你看的是改密码那条命令,而man 5 passwd看的是密码文件的格式说明。查不到想要的内容时,换个分区号再试一次,往往就找到了。
在手册页里还能搜索。进去之后按/,输入关键词回车,比如/recursive,就会跳到讲递归的那一段,按n跳到下一个匹配。这个技巧在处理参数很多的命令时特别好使。
3.2 info 与 /usr/share/doc:man 查不到时的两条后路
有些命令的说明写得很长,man 页塞不下,就被做成了 info 页。用法类似:
# 查看 info 格式的说明文档 info coreutilsinfo 页是分节点的,用方向键或者n、p在节点之间跳,按q退出。它比 man 页更有层次,适合读那种“一整套工具怎么配合使用”的内容。
还有一条后路是软件自带的文档目录。绝大多数软件安装后会在/usr/share/doc下留一个以软件名命名的文件夹,里面常放着示例配置、变更说明和快速上手文档:
# 列出某个软件自带的文档目录内容 ls /usr/share/doc/如果 man 和 info 都没写清楚某个参数该怎么配,翻这里经常能找到一份能直接抄的示例配置文件。这个习惯我建议从第一天就养成,比在网上到处搜要靠谱,因为它是跟你装的那个版本严格对应的。
3.3 动手练:用 man 找出三个关键信息
现在做一个小练习,目标是搞清楚cp命令怎么用。分三步:
# 第一步:打开 cp 的手册页 man cp进去之后,先只看 NAME 那一行,确认它是复制文件用的。然后按/输入recursive回车,找到-r这个参数的说明。看完按q退出。
# 第二步:按关键词搜索所有相关的手册 man -k copy-k的作用是拿关键词去搜所有手册页的简述,输出一串“命令名 (分区号) - 一句话说明”。这个功能在新手阶段极其好用,你只知道想干“复制”这件事,但不知道用哪个命令,搜一下就出来了。
# 第三步:把手册页存成纯文本,方便慢慢看 man cp | col -b > cp_manual.txt # 确认文件生成了,看前 30 行 head -30 cp_manual.txt第二条命令里,col -b是用来去掉手册页里的排版控制字符的,不加它导出的文件里会混着退格符,看着很乱。>是重定向,把前面的输出写进文件而不是打印到屏幕。head -30表示只看前三十行。
这三步练完,你手上就有了一个可以反复用的查资料流程:先 man 直接看,不行就man -k按关键词找,再不行去/usr/share/doc翻。以后遇到任何陌生命令,照这个流程走一遍就行,不用再问人。
提示:有些精简安装的系统默认没装完整手册,
man会提示找不到条目。这时候按提示装上手册包再试,别急着怀疑命令打错了。
4. 改配置文件不慌张:nano 编辑器十分钟上手
学到某个阶段,你一定会遇到“改一个配置文件”这件事。这时候就会撞上编辑器这道坎。教材里介绍了 nano,理由很实在:它不需要记模式,打开就能打字,底部还把所有快捷键明明白白列在屏幕上。对零基础的人来说,这是最不容易劝退的起点。
4.1 为什么第一个编辑器选 nano 而不是别的
命令行下的编辑器有几款很有名,其中一款进入后默认处于“命令模式”,你直接打字它会当成快捷键执行,新手往往按了半天发现字没打上,还改乱了文件,这就是典型的翻车现场。它的功能确实强,但学习曲线是先陡后缓,不适合第一天接触命令行的人。
nano 的逻辑是反过来的:打开就是编辑状态,想打字直接打,想保存按提示按组合键,屏幕最底下两行永远写着当前能用的快捷键。你不需要先学一套操作范式,只要认得^这个符号代表 Ctrl 键就行。
我的建议是:先用 nano 把“能改配置文件”这件事做成,等你对路径、权限、服务重启这套流程熟了,再去碰更复杂的编辑器。顺序反了,容易在起步阶段就被劝退。
4.2 nano 的界面和最常用的六个快捷键
打开一个文件:
# 打开(或新建)家目录下的一个文本文件 nano ~/hello.txt~代表当前用户的家目录,这样写不管你是哪个用户都能定位到自己的目录,比写死绝对路径安全。进去之后顶部是版本信息,中间是编辑区,底部两行是快捷键提示。最该先记住的是这几个:
| 快捷键 | 作用 | 使用场景 |
|---|---|---|
| Ctrl + O | 保存(写出) | 改完要落盘 |
| Ctrl + X | 退出 | 收工 |
| Ctrl + K | 剪切整行 | 删掉一行配置 |
| Ctrl + U | 粘贴 | 配合上一项搬移内容 |
| Ctrl + W | 搜索 | 在长文件里找关键词 |
| Ctrl + G | 打开帮助 | 忘了快捷键时 |
注意Ctrl + O之后,底部会问你“要写入的文件名”,直接回车就写到原文件;想另存为别的名字,就在这里改。这个“回车确认”一步很多人会漏,结果以为保存了其实没保存。
4.3 第一个例子:新建文件、保存、再验证
完整走一遍流程,养成“改完必验证”的习惯:
# 第一步:新建并打开文件 nano ~/hello.txt在编辑区里输入两行内容,比如:
第一行:这是我的第一个 Linux 文本文件 第二行:改完记得保存然后按Ctrl + O,底部出现提示后直接回车,再按Ctrl + X退出。
# 第二步:验证文件内容真的写进去了 cat ~/hello.txtcat会把文件内容整个打印到屏幕上。看到刚才那两行,说明保存成功。这一步千万别省,我见过太多次“以为存了其实没存”的情况,多敲一条命令就能避免后面半小时的困惑。
4.4 改配置文件的三条保命习惯
真正改系统配置时,比会打字更重要的是习惯。三条,每条都能救你一次。
第一条,动手前先备份。改任何配置文件之前,先复制一份带后缀的副本:
# 备份配置文件,出问题时可以一键还原 cp ~/.bashrc ~/.bashrc.bakcp是复制,前一个是源,后一个是目标。加.bak后缀只是个约定,方便你自己认出来。改坏了用cp ~/.bashrc.bak ~/.bashrc就能倒回去,这就是后悔药。
第二条,看清楚自己改的是哪个文件。同一类配置文件在系统里往往有好几份,分别位于/etc、家目录、以及软件自己的目录下,加载顺序还不一样。改之前先用ls -l看一眼路径,别把示例文件当成生效文件改了半天。
第三条,改完要让它生效。很多配置不是存盘就立刻起作用的:
# 改完 shell 配置后,让当前终端重新加载 source ~/.bashrcsource的作用是在当前环境里重新执行一遍这个文件,不用关掉终端重开。如果改的是系统服务的配置,那就不是source了,得重启对应服务,具体命令在服务自己的文档里能查到。改完不生效,八成是漏了这一步。
5. 避坑指南:零基础学 Linux 最容易踩的五个坑
这一章专门写给刚开始动手的人。下面五条都是新手阶段高频出现的状况,每条按“看到什么现象、为什么会这样、怎么解决”来说,遇到了直接对着查。
5.1 现象:照着网上的命令敲,结果文件没了
原因:很多教程里的命令是带通配符或者带删除操作的,复制过来直接回车,路径和你想的完全不是一回事。命令行没有回收站,删了就是删了,这是最典型的血泪经验。
解决:养成两个动作。执行任何带删除、移动、覆盖的命令之前,先用ls把目标路径列出来看一眼,确认是你要操作的东西;重要目录先做一份备份再动手。看到不认识的参数,先man一下那个命令,搞清楚参数含义再执行,别拿生产环境当试验田。
5.2 现象:软件下载下来装不上,提示格式不支持或无法执行
原因:位数或架构不匹配。32 位系统装了 64 位软件,或者把某一类处理器架构的安装包装到了另一类机器上,都会出现这种提示。
解决:先确认平台,再下载对应版本。
# 确认架构和位数 uname -m getconf LONG_BIT两条命令的输出要和下载页上标的要求对得上。对不上就换一个版本下,别硬装。
5.3 现象:新硬盘标称容量和系统显示的对不上
原因:厂商标容量用十进制,系统显示用二进制,两把尺子量同一个东西,数值自然不同。这是单位换算,不是缺斤少两。
解决:接受这个差异,按实际显示的数字规划空间。真要精确核对,可以按 2.3 节那个换算法自己算一遍,算完心里就有数了。后续判断磁盘够不够用,看df -h的 Avail 就行。
5.4 现象:配置文件改完,程序行为一点没变
原因:改了没生效,或者改错了文件。前者是漏了重新加载或重启服务,后者是改的那份根本不是被读取的那份。
解决:先确认生效,再确认文件。shell 相关的配置用source重新加载;服务相关的配置重启对应服务。如果重启后还是没变化,用man 5 配置文件名看看这个文件的正确格式和它被读取的位置,很可能是字段拼错或者放错了段落。缩进、空格、大小写在这类文件里经常是敏感的。
5.5 现象:man某个命令,提示找不到手册条目
原因:三种可能。系统装得比较精简,手册包没装上;这个“命令”其实是 shell 自带的内部功能,不属于独立程序,自然没有独立手册;名字拼错了。
解决:先用type 命令名看它到底是什么,如果提示是 shell builtin,那就用help 命令名查。如果是缺手册包,按系统提示装上对应的手册包。都不行就换关键词用man -k搜,或者去/usr/share/doc翻软件自带文档。这条排查顺序建议记下来,能省下大量瞎搜的时间。
6. 下一步学什么:从敲命令到碰 SELinux 的路线图
基础概念、查文档、改文件这三件事做完,你已经具备了继续往下走的地基。接下来最怕的是“不知道学什么”,所以给一条能照着走的路线,按周推进,每周都有一个能验证的小成果。
| 阶段 | 学什么 | 关键命令 | 成果检验 |
|---|---|---|---|
| 第一周 | 文件与目录操作 | lscdcpmvrmfind | 能不用图形界面整理一个目录 |
| 第二周 | 权限与用户 | chmodchownuseraddsudo | 能说清rwx三段各代表谁 |
| 第三周 | 进程与服务 | pstopsystemctl | 能找出占用最高的进程并停掉一个服务 |
| 第四周 | 软件包与日志 | 包管理命令journalctl | 能装一个软件并查到它的日志 |
第一周的重点不是背命令,是建立“路径感”。命令行里一切操作都基于路径,/是根,~是家目录,.是当前目录,..是上一级。把这四个符号用熟,后面所有操作都会顺。
第二周会撞上权限。这是 Linux 和桌面系统差别最大的地方,也是新手最有成就感的地方。看到一个文件权限写着-rw-r--r--,你要能读出:第一段是文件类型,后面三段分别是所有者、所属组、其他人的权限,r是读、w是写、x是执行。读不懂就直接man 5那个相关配置,比背口诀记得牢。
第四周之后可以开始碰安全相关的内容,比如教材里提到的 SELinux。这里给一句忠告:别一上来就把它关掉。它是给每个进程打标签、限制进程只能碰自己该碰的文件的一套机制。新手最常遇到的状况是“服务起不来”,一查日志发现是标签不对,然后有人教你直接关掉,问题看似解决了,实际上是把门锁拆了。
先用三条命令认识它:
# 查看当前 SELinux 的运行状态 getenforce # 查看某个文件的 SELinux 标签 ls -Z /var/www/html # 临时切换成宽容模式(重启后失效,仅用于排查) setenforce 0第一条输出 Enforcing 表示正在强制执行,Permissive 表示只记录不拦截。第二条能看到文件带的上下文标签,格式是“用户:角色:类型:级别”,出问题时通常要动的是第三段类型。第三条只是临时放宽,用来确认问题是不是它引起的,确认完记得切回去,别把它当成长期方案。
那条第一人称的教训是这样的:我早期排查服务起不来,第一反应总是去关 SELinux,关掉就好了,于是每次都关。后来换了一台机器,同样的配置死活不通,查了两小时才发现是文件标签的问题,跟权限、端口都没关系。从那以后我每次遇到服务异常,都强制自己先看一遍日志和标签,确认不是标签问题再去动别的,也不再随手关它。希望帮到你。
本文还有配套的精品资源,点击获取