鸟哥的 Linux 私房菜 - 基础学习篇目录


底下的几篇文章是学习Linux的基础文档,这些文档是基础中的基础,如果您能将其中的文档都看完并且消化过,那么未来在管理 Linux主机以及架设网站方面,就能够达到『事半功倍』的成效,请不要忽略这部份了!否则,再怎么讨论都是枉然的啦!^_^。 因为Linux的数据非常的多,每份数据彼此的相关性都很强,要单独的一项一项讲解并不容易, 所以底下的文档该怎么看呢?建议先按照顺序将内容大致浏览过一次,看不懂的地方也可以先略过不要紧。 全部看完之后,再从头开始『仔细』的实际操作过一遍,那应该就能够进入Linux的世界啰~

另外,每篇文章底下的日期,指的是重大改版日期而非最新日期,每篇文章的最新日期请以该篇文章最下方的工作日志为主的喔!

第一部份 Linux 的规划与安装

常常听到Linux具有非常优良的血统,所以具有相当良好的多人多任务环境,可以方便程序员来开发软件。 此外,Linux本身是不用钱的『自由软件』,使用上面并没有所谓的『盗版』问题。但是,为什么Linux不用钱? 随便修改或发布Linux为什么不会被罚?为什么Linux有这么多的版本?包括Fedora, SuSE, CentOS, Debian等等? 这个都是我们必须要来了解的部分!了解这些部分,你才会对Linux有一个正确的理解,才能够跟你的同事、同学、 上司说明,为什么使用Linux具有很多优点与好处! ^_^

Linux并不好学习,鸟哥也是『重伤』过好几次才能对Linux有一些基础的认知。那么到底应该如何学习Linux呢?关键在实作。 既然要实作就得要实际的安装一部Linux,那么Linux要安装前需要熟悉哪些基础观念?计算机概论是非常重要的一环! 因为Linux与硬件的关系还不小~此外,打造一台Windows/Linux共存的主机也是很有用的, 至少对于需要多平台但又缺乏空间与金钱的朋友来说,这样的处理是非常有用的!

在第一篇里面,我们会由计算机概论谈起,再讲到Linux的历史渊源与自由软件的关系,然后重点在于如何规划硬件与Linux安装, 最后谈到如何登录与使用Linux图形/文本接口的环境。本篇数据较多,第一次接触Linux的新朋友, 很多数据若看不懂可以先略过,等到后续文章都读完了再回来看,才会有帮助喔! ^_^

计算机概论
2015/04/16
鸟哥在大专院校的教学经验中发现到,由于对 Linux 有兴趣的朋友很多可能并非信息相关科系出身, 因此对于电脑硬件及计算机方面的概念不熟。然而操作系统这种咚咚跟硬件 .....
Linux是什么/如何学习
2015/04/23
众所皆知的,Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的,但是托瓦兹为何可以写出Linux这个操作系统? 为什么他要选择386的电脑来开发?为什么Linux的发展可以这么迅速?又为什么Linux是免费的?.....
主机规划与磁盘分割
2015/04/28
事实上,要安装好一部Linux主机并不是那么简单的事情,你必须要针对distributions的特性、服务器的软件能力、 未来的升级需求、硬件扩充性需求等等来考量,还得要知道磁盘分割、文件系统.....
安装CentOS 7.x
与多重开机技巧

2015/05/06
Linux distributions越作越成熟,所以在安装方面也越来越简单!虽然安装非常的简单, 但是刚刚前一章所谈到的基础认知还是需要了解的,包括MBR, partition, boot loader, mount, software的.....
首次登录与
在线求助 man page

2015/06/02
终于可以开始使用Linux这个有趣的系统了!由于Linux系统使用了异步的磁盘/内存数据传输模式, 同时又是个多人多任务的环境,所以你不能随便的不正常关机,关机有一定的进程喔!错误的关机方法.....

第二部分 Linux 文件、目录与磁盘格式

安装完了 Linux 之后,接着下来自然就是要使用他了!我们在 开机与关机及简易指令操作 稍微说明了指令下达的方法,以及指令在线查找的方式, 因此您可以轻易的使用指令列模式来进行诸多的动作与工作。那么接着下来呢?当然就是想要知道 Linux 里面有什么东西啰,所以,在这一个部分当中,我们将介绍 Linux 最基本的文件权限概念, 与每个文件目录所带有的意涵。

当然啰,要了解权限的概念,那么对于不同的『身份』就需要了解一下才行, 不同的身份的人,所创建的或拥有的文件是否会相同呢?例如系统管理员与一般身份用户的文件? 当然不太一样!除此之外,如果您的硬盘空间不足,需要增加硬盘时,应该要如何添加呢? 还有,内存不足的情况下,有没有增进虚拟内存容量的方法?在接下来的几个章节之中,我们将介绍 Linux 主要的文件架构、以及磁盘在 Linux 当中该如何使用及挂载等问题。

Linux文件权限与
目录配置

2015/06/03
Linux最优秀的地方之一,就在于他的多人多任务的环境。而为了让各个用户具有较保密的文件数据, 因此文件的权限管理就变的很重要了。 Linux一般将文件可访问的身份分为三个类别,分别是 owner/group/other, 且三种身份各有read/write/execute.....
Linux文件与目录管理
2015/06/16
在第五章我们认识了Linux系统下的文件权限概念以及目录的配置说明。 在这个章节当中, 我们就直接来进一步的操作与管理文件与目录吧!包括在不同的目录间变换、 创建与删除目录、创建与删除文件, 还有寻找文件、查阅文件内容.....
Linux 磁盘与
文件系统管理

2015/06/26
系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分区不可太大也不能太小,太大会造成磁盘容量的浪费, 太小则会产生文件无法保存的困扰。此外,我们在前面几章谈到的文件权限与属性中, 这些权限与属性分别记录在.....
文件的压缩与打包
2015/07/16
在 Linux 底下有相当多的压缩指令可以运作喔!这些压缩指令可以让我们更方便从网络上面下载大型的文件呢! 此外,我们知道在 Linux 底下的扩展名是没有什么很特殊的意义的,不过,针对这些压缩指令所做出来的压缩档, 为了方便记忆.....

第三部分:学习 Shell 与 Shell scripts

了解了基本的 Linux 文件属性与目录的配置之后,在进入更深入的 Linux 世界之前,有几个课题还是一定要知道的,那就是我们所使用的这个文本模式接口,也就是所谓的『Shell』这个咚咚。在 Linux 的世界中,使用的是 GNU 发展出来的强化的第二代 shell ,称为 BASH Shell ,他有什么特异功能呢?简单的说,我们之前下达的几个指令都是 bash 管理的,除此之外, 他还可以记录指令、文件或命令的补全功能、环境变量的使用等等,还有很多功能等着你去发掘呢!

在知道了部分的 bash 功能后,在接着下来,我们还得了解一下什么是数据流重导向?还有常规表示法等等的问题, 这都是未来我们系统管理员在管理主机上面,一个不可缺乏的利器!当然啰,要将这些功能集成起来运用的话, 就不能不学习一下所谓的脚本『 shell scripts 』,他具有基础的程序能力( Program ),当真是个管理系统的好帮手呢!

再来,在未来的架站设置当中,常会使用到文本编辑器来编辑参数设置档,这个时候, 系统管理员至少务必要熟悉一套文本接口下的文书编辑软件,当然不限制哪一套软件啦,但是 vi 是最标准的 Unix-Like 的文本接口之文字处理软件,所以,我们几乎一定可以在每部 Unix-Like 上面发现他的踪迹,所以,就来了解他一下吧,这也是挺重要的工作呢!

vim程序编辑器
2015/07/07
系统管理员的重要工作就是得要修改与设置某些重要软件的设置档, 因此至少得要学会一种以上的文本接口的文书编辑器。 在所有版本的 Linux 上头都会有的一套文书编辑器就是 vi ,而且很多软件.....
认识与学习 BASH
2015/07/09
在 Linux 的环境下,如果你不懂 bash 是什么,那么其他的东西就不用学了! 因为前面几章我们使用终端机下达指令的方式, 就是透过 bash 的环境来处理的喔! 所以说,他很重要吧!bash 的东西非常的多,包括变量.....
正规表示法与
文档格式化处理

2015/07/14
正规表示法 (Regular Expression, RE, 或称为常规表示法)是透过一些特殊字符的排列, 用以『搜索/取代/删除』一列或多列文本字符串, 简单的说, 正规表示法就是用在字符串的处理上面的一项『表达式』。正规表示法并.....
学习 shell scripts
2015/07/17
如果你真的很想要走信息这条路,并且想要好好的管理好属于你的主机,那么,别说鸟哥不告诉你, 可以自动管理你的系统的好工具: Shell scripts 真的是得要好好学习学习的! 基本上, shell script 有点像是早期的批次档,亦即是.....

第四部分:Linux 用户管理

好了!终于要到了管理 Linux 帐号的时刻了!对于 Linux 有一定的熟悉度之后,再来就是要管理连上 Linux 的帐号问题了!这个帐号的问题可大可小啦!大到可以限制他使用 Linux 主机的各项资源,小到甚至一般帐号的密码订定规则都可以进行规定!端看您对于安全的需求啦! 此外,如果站在资源平均分配的角度上,那么 Linux 主机上面有限的资源当然是平均分配给大家比较好!这个时候就得来规定一下『谁可以使用多少的硬盘空间?』那就是 Quota 喔!呵呵!厉害吧!

在订定完了一些帐号的规则之后,那么我们就继续来管理一下主机的系统与进程的管理吧! 这个包括了观察每个进程 (Process) 与工作调度及工作管理 ( jobs control ),这些也都是很重要的工作呢!

Linux 帐号管理与
ACL 权限控制

2015/07/22
要登录 Linux 系统一定要有帐号与密码才行,否则怎么登录,您说是吧?不过, 不同的用户应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限设置,来规范出不同的群组开发项目呢.....
磁盘配额(Quota)与
高端文件系统管理

2015/07/28
如果您的 Linux 服务器有多个用户经常访问数据时,为了维护所有用户在硬盘容量的公平使用,磁盘配额 (Quota) 就是一项非常有用的工具!另外,如果你的用户常常抱怨磁盘容量不够用,那么更高端的文件系统就得要学习学习.....
例行性工作调度 (crontab)
2015/07/31
学习了基础篇也一阵子了,你会发现到为什么系统常常会主动的进行一些任务? 这些任务到底是谁在设置工作的? 如果你想要让自己设计的备份程序可以自动的在系统底下运行,.....
进程管理与
SELinux 初探

2015/08/08
一个程序被加载到内存当中运作,那么在内存内的那个数据就被称为进程(process)。程序是操作系统上非常重要的概念, 所有系统上面跑的数据都会以进程的型态存在。那么系统的进程有哪些状态.....

第五部分:Linux 系统管理员

嗯!终于来到系统管理员 ( root ) 要注意的工作事项之篇幅了!各位准系统管理员心理准备好了吗? 我们要管理机器啰,呵呵!那么管理员的工作是什么?看报喝茶?!没错!管理员最大的享受就是看报喝茶了。 一个好的系统管理员,平时不会希望挂载网站上面一再不断的查找、检查漏洞等等的, 因为果真如此的话,那么就表示『机器一定有问题了!』。为了让我们的 Linux 机器跑得更稳更顺畅,好让我这个管理员有更多的时间去看报喝茶,哈哈! 更深入的了解系统是需要的!所以,这一篇我们由开机关机的整体流程谈起,好了解一下 Linux 在开机的过程中到底做了哪些事情,这样才能知道我们在什么时候应该做什么事情呐!

此外,由于『没有一个套件是永远安全的!』,所以套件管理是相当重要的一部份,这里我们以 RPM 与 Tarball 来介绍一下如何管理你系统上面的套件。再来,你知道你的系统上面跑了多少数据吗? 虽然知道什么是 ps 来查找进程,但是总是得知道我的系统有哪些服务吧!嘿嘿! 来看看先?不但如此,还得针对注册表进行解析,以及对于系统进行备份。呵呵! 管理员的工作还真多那。不止不止,还要进行核心的管理呢!哇!果然是忙毙了!无论如何, 还是得要了解呐!

认识系统服务
(daemon)

2015/08/14
在 Unix-Like 的系统中,你常常听到 daemon 这个字眼!那么什么是传说中的 daemon 呢?这些 daemon 放在什么地方?他的功能是什么?该如何启动这些 daemon ?又如何有效的将这些 daemon 管理妥当.....
认识与分析注册表
2015/08/20
当你的 Linux 系统出现不明原因的问题时,很多人都告诉你,你要查阅一下注册表才能够知道系统出了什么问题了, 所以说,了解注册表是很重要的事情呢。注册表可以记录系统在什么时间、哪个主机、哪个服务.....
开机流程、模块管理
与 loader

2015/08/31
系统开机其实是一项非常复杂的进程,因为核心得要侦测硬件并加载适当的驱动程序后, 接下来则必须要调用进程来准备好系统运作的环境,以让用户能够顺利的操作整部主机系统。 如果你能够理解开机的原理.....
网络设置与备份策略
2015/09/03
新的 CentOS 7 有针对不同的服务提供了相当大量的指令列设置模式,因此过去那个 setup 似乎没有什么用了! 取而代之的是许多加入了 bash-complete 提供了不少参数补全的设置工具!甚至包括网络设置也是透过这个机制哩! 我们这个小章.....
软件安装:
原代码与 Tarball

2015/09/06
我们在第一章、Linux是什么当中提到了 GNU 计划与 GPL 授权所产生的自由软件与开放源码等咚咚。 不过,前面的章节都还没有提到真正的开放源码是什么的消息!在这一章当中,我们将借由 Linux 操作系统里面的运行档.....
软件安装:
RPM, SRPM 与 YUM 功能

2015/09/09
虽然使用原代码进行编译可以进行客制化的设置,但对于 Linux distribution 的原本发布商来说, 则有软件管理不易的问题, 毕竟不是每个人都会进行原代码编译的。 如果能够将软件预先在相同的硬件与操作系统上面编译好才发布的话.....
X Window 设置介绍
2015/09/19
在 Linux 上头的图形接口我们称之为 X Window System,简称为 X 或 X11 啰!为何称之为系统呢?这是因为 X 窗口系统又分为 X server 与 X client ,既然是 Server/Client (主从架构) 这就表示其实 X 窗口系统是可以跨网络且跨平台的.....
核心编译
2015/10/20
我们说的 Linux 其实指的就是核心 (kernel) 而已。这个核心控制你主机的所有硬件并提供系统所有的功能, 所以说,他重不重要啊!我们开机的时候其实就是利用开机管理程序加载这个核心文件来侦测硬件, 在核心加载适当的驱动程序后.....