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

来源:百度文库 编辑:16楼社区 时间:2020/01/23 22:07:15
再次强调:底下的几篇短文是学习 Linux 的基础文件,这些文件是基础中的基础,如果您能将其中的文件都看完,并且消化过,那么未来在管理 Linux 主机以及架设网站方面,就能够达到『事半功倍』的成效,请不要忽略这部份了!否则,再怎么讨论都是枉然的啦! ^_^
第一部份:Linux 的规划与安装Linux 本身虽然具有相当强大的功能,不过,如果不能理解 Linux 的工作能力,那么 Linux 能做的工作将会大打折扣!本篇着重于介绍 Linux 的缘起与他的功能,此外,亦将介绍目前 Linux 的规划技巧,以提供大家如何规划自己的 Linux 主机的一个基本依据!当然,多重操作系统在一部机器上面,这对于计算机数量不足却又要求支持多个作业平台的朋友来说是挺重要的,这里也会跟大家谈一谈如何安装多重操作系统在一部主机上面。不过,这个技巧用到的 Linux 指令与软件较多,所以仅止于介绍,至于更详细的说明,将在更后面的章节介绍各软件的细项设定。
Linux 是什么
2003/01/25 Linux 虽然是从 1991 年由 Linus Torvalds 释出后才初次问世,不过不要忘了,Linux 的前身是相当稳定而有名的系统『 Unix 』前辈!在这里我们由 Unix 与 Linux 的历史说起,然后再来谈一谈,目前 Linux 这么多的版本 ( distributions ) 当中,到底有哪些异同的地方呢?!也就是说, 到底 Linux 是什么东西呢?他有哪些基本的功能呢?!
Linux 要如何学习
2003/01/28 目前 Linux 上头有两种主要的操作模式,分别是图形接口与文字接口,那么学习 Linux 要用 X-Window ( 图形接口 ) 好还是 Command Line ( 文字接口 ) 好?这两种学习心态有什么优缺点呢?此外,有没有良好的入门文件可供参考?!Linux 学习有困扰的时候应该要如何发问?!要到哪里去搜寻网络资源?!还有,怎样进行有智慧的提问?嗯!来这里看看吧!
Linux 主机规划
2003/02/02 在实地的安装 Linux 之前,有些功课要先来做的!因为 Linux 对于硬件的配置要求较严格,所以您必须要了解到 Linux 所支持的 CPU 、 RAM 、 显示卡等等的硬件配备,以免造成无法安装的窘境。此外,您同时需要考虑即将架设的 Linux 主机的作用为何?!举例来说,若是一般的 Desktop 类型的主机,那么 X-Window 及 KDE 是不可或缺的,但是如果是一般的服务器主机呢?嘿嘿! X-Window 就可以免了吧!当然,如果您的 Linux 是架设来进行练习的,那么所有的套件都安装上去,是一个很好的开始!
SPFDISK 的一个范例 
2003/02/03 安装 Linux 最重要的就是硬盘空间了!然而很抱歉的是, Windows 的 fdisk 并不认识 Linux 的磁盘格式!所以如果您已经安装了 Linux 之后,却想将该 partition ( 硬盘扇区 ) 删除的话,那么使用 Windows 的 FDISK 程序是无法做的!另外,使用 全中文 的 spfdisk 也可以让您更容易了解 fdisk 在做什么工作呦!另外,顺道了解一下 Linux 与 Windows 分割区支持程度在哪里不相同呢!?
较小安装 Red Hat 7.2
2003/02/03 终于要安装 Red Hat Linux 了!呼~真是麻烦~那么 Linux 的安装模式有哪些呢?嗯!基本上可以分为图形安装模式 ( 好消息是 Red Hat 7.3 已经支持中文安装了 )与文字安装模式,由于图形安装模式较为慢一些,此外,有些较为诡异的周边( 例如鼠标、键盘、显示卡等 )较为怪异时,可能无法使用图形接口,所以这里我们以文字接口来安装!再则,我们适合服务器与开发软件环境的最小安装模式来介绍如何安装 Linux ....
安装 Mandrake 9.0 
与多重开机技巧
2003/02/05 一个好的 Linux 主机,在安装之初就需要先行规划他的未来服务及磁盘分割了!在这个章节里面,我们以较为简单的方式先来介绍一下 Linux 的规划方式,并实际进行一次规划,期望读者可以在自己进行安装之前,先规划一下自己的 Linux 主机。此外, Linux 的硬盘分割一直是个困扰新手的大问题,这里我们不建议新手以繁复的手法去分割硬盘,而以大家的个别需要来建议您分割的技巧!最后,关于多重操作系统在一部机器上面的设定方式,这一章当中亦会介绍一些实用的技巧,不过,实际的修改会放在后续的章节,因为毕竟使用到太多的 Linux 指令与软件了!
开机与关机
及简易指令操作
2003/02/06 在你完成了 Linux 的安装之后,接下来呢?当然是学习 Linux 啰!那么学习 Linux 第一步骤是什么?哈哈!那就是『正确的开机与关机』方法啦!此外,由于 Linux 底下使用文字接口毕竟是比较有效的学习!因此,在这个小章节里面,我们也会使用文字接口的方式来下达一些简单的指令,好让大家快一点进入状况喔!另外的另外,这个基础篇的内容是适合所有版本的 Unix-Like 系统,所以,大家赶紧来玩一玩喔! ^_^ !再一次的另外,如果我在开机的时候发现硬盘无法开机了!该如何解决,又, lilo 挂掉的时候,及 root 密码忘记的时候,要怎么办?来这里看看吧!
第二部分:Linux 档案、目录与磁盘格式安装完了 Linux 之后,接着下来自然就是要使用他了!我们在开机与关机及简易指令操作 稍微说明了指令下达的方法,以及指令在线查询的方式,因此您可以轻易的使用指令列模式来进行诸多的动作与工作。那么接着下来呢?当然就是想要知道 Linux 里面有什么东西啰,所以,在这一个部分当中,我们将介绍 Linux 最基本的档案权限概念,与每个档案目录所带有的意涵。当然啰,要了解权限的概念,那么对于不同的『身份』就需要了解一下才行,不同的身份的人,所建立的或拥有的档案是否会相同呢?例如系统管理员与一般身份使用者的档案?当然不太一样!除此之外,如果您的硬盘空间不足,需要增加硬盘时,应该要如何新增呢?还有,内存不足的情况下,有没有增进虚拟内存容量的方法?在接下来的几个章节之中,我们将介绍 Linux 主要的档案架构、以及磁盘在 Linux 当中该如何使用及挂载等问题。
Linux 档案属性与目录配置
2003/02/06 既然要玩 Linux ,那么对于 Linux 的档案属性 ( 看的到的与看不到的 ) 及 Linux 底下的目录功能都要了解一下才行!在这里,我们介绍一下最基础的 Linux 属性,还有所谓的 SUID, SGID 与 Sticky bit 呢!而更深入的属性在下一个 Linux 档案与目录管理 再来介绍!此外,也约略介绍一下如何修改档案的属性呦!
Linux 档案与目录管理
2003/02/06 这里我们再持续的介绍一下,如何登入 Linux 呢?再来,怎样修改 Linux 档案的属性?这个属性除了看的到的之外,还有看不到的属性呦!再来,如何拷贝、移动、建立连结档?还有还有,有什么方法可以搜寻档案呢?!来这里看看吧!
Linux 磁盘与硬件管理
2003/02/07 好了,对于档案与目录具有一定程度的认识之后,我们再来需要谈到的是,那么我的硬盘到底剩下多少容量?需要如何确认我的硬盘的档案格式?如果硬盘有了坏轨时,应该要如何修理?还有还有,我怎么知道我的 inodes 有多少?!当然啰,最重要的是,当我的硬盘容量不足时,我要如何增加一棵新的硬盘呢?如何进行 partition?与如何进行挂载?!以及如何进行软盘开机片的制作?另外,如何挂载 ( mount ) 一个可以显示出『中文』的 Windows partition 呢?还有还有,如何新增一个 swap 虚拟内存?又,如何启动一个『档案型态的 swap 虚拟内存?』,看看便知道!此外,这一章的课后练习记得看一看,因为有些鸟哥认为有用的方法呦!
档案的压缩与打包
2003/02/09 在某些情况下,压缩指令显的特别重要的!什么情况下呢?大部分都是在『备份』的情况下,他显的特别的重要,此外,如果你是一个套件程序设计师,那么当你要将你的程序发布出去的时候,由于要降低网络频宽的使用率,那么压缩也是一个很值得使用的方法!要是你是下载人家的档案呢?哈哈!那么解压缩则是不可少的步骤啰!在 Linux 当中,使用的最多的压缩指令有哪些呢?呵呵!那就是 gzip 与 tar 这两个宝贝蛋了!在这一节当中,我们来介绍一下几种不一样的压缩指令,学一学先!
第三部分:学习 Shell 与 Shell scripts了解的基本的 Linux 档案属性与目录的配置之后,在进入更深入的 Linux 世界之前,有几个课题还是一定要知道的,那就是我们所使用的这个文字模式接口,也就是所谓的『Shell』这个咚咚。在 Linux 的世界中,使用的是 GNU 发展出来的强化的第二代 shell ,称为 BASH Shell ,他有什么特异功能呢?简单的说,我们之前下达的几个指令都是 bash 管理的,除此之外,他还可以记录指令、档案或命令的补全功能、环境变量的使用等等,还有很多功能等着你去发掘呢!在知道了部分的 bash 功能后,在接着下来,我们还得了解一下什么是数据流重导向?还有常规表示法等等的问题,这都是未来我们系统管理员在管理主机上面,一个不可缺乏的利器!当然啰,要将这些功能整合起来运用的话,就不能不学习一下所谓的脚本『 shell scripts 』,他具有基础的程序能力( Program ),当真是个管理系统的好帮手呢!再来,在未来的架站设定当中,常会使用到文字编辑器来编辑参数设定档,这个时候,系统管理员至少务必要熟悉一套文字接口下的文书编辑软件,当然不限制哪一套软件啦,但是 vi 是最标准的 Unix-Like 的文字接口之文字处理软件,所以,我们几乎一定可以在每部 Unix-Like 上面发现他的踪迹,所以,就来了解他一下吧,这也是挺重要的工作呢!
vi 文书处理器
2003/02/25 一个系统管理员至少应该要熟悉一种字处理软件,以方便未来的系统管理,包括系统设定与架站时候的参数设定档修订等等工作之进行。在 Unix-Like 系统中,肯定看的到的文书编辑器就是 vi 啦,他算是最正规的文字接口下的文书处理器了。为什么文书处理器很重要呢?还记得前两个章节中我们提到的 /etc/fstab 这个档案吗?您如果想要修改他的话,要如何修改呢?当然是使用文书编辑器来编辑他啰,那么使用什么呢?当然几乎就是 vi 啦!此外,后续的 shell scripts 章节与 Linux 架站设定的档案等等,几乎都是使用他来进行设定耶!那 vi 重不重要呢?你猜猜?
认识 bash shell
2003/02/10 文字模式这种指令下达的方式,就是 bash 的工具与接口啦!那么前几章我们都已经很快乐的进行了很多的指令下达方式啦,所以说, bash shell 根本就不难嘛!是啦!只要能够熟悉的话,那么确实他不是很困难的东西啦!这一章节中,我们会从变量谈起,先说到环境变量的设定与修改问题,然后提到历史指令的运用,接着下来,我们会提一下『命令重导向』这个重要的观念,之后就是『管线命令』的部分啦!
正规表示法
2003/02/10 在 Unix-Like 的系统当中,有个东西可以帮助你撷取部分数据!那就是『正规表示法, Regular Express (RE) 』,这个东西不容易理解,但是由于他强大的功能,您最好还是得认识一下喔!尤其是 grep 这个指令呢!
学习 shell scripts
2003/02/10 如果您真的想要轻松的管理你的主机,那么 shell scripts 是千万少不得的学习过程!他有点类似 Program ( 程序撰写 ) 了,对于从未摸过程序的人来说,确实很是困扰,所以这里我们不强调原理,单纯的以十几个例子来进行说明,好让您能够了解一下 shell scripts 的强大功能啰!我个人认为,您可以不需要知道如何撰写 shell scripts ,但是您一定得看的懂 shell scripts ,为什么呢?因为如此一来,您才能在您的主机上面进行侦错的工作吶!
第四部分:Linux 使用者管理好了!终于要到了管理 Linux 账号的时刻了!对于 Linux 有一定的熟悉度之后,再来就是要管理连上 Linux 的账号问题了!这个账号的问题可大可小啦!大到可以限制他使用 Linux 主机的各项资源,小到甚至一般账号的密码订定规则都可以进行规定!端看您对于安全的需求啦!此外,如果站在资源平均分配的角度上,那么 Linux 主机上面有限的资源当然是平均分配给大家比较好!这个时候就得来规定一下『谁可以使用多少的硬盘空间?』那就是 Quota 喔!呵呵!厉害吧!在订定完了一些账号的规则之后,那么我们就继续来管理一下主机的系统与程序的管理吧!这个包括了观察每个程序 ( Process ) 与工作排程及工作管理 ( jobs control ),这些也都是很重要的工作呢!
Linux 账号管理
2003/02/10 在这一节当中,我们来谈一谈,在 Linux 底下的『账号』有什么特殊的功能,或者是说,不同的账号有什么特殊的权限呢?举个例子来说, root 为什么跟大家不一样?而如果使用者仅允许使用 pop3 的时候,其账号需要如何设定?另外,如果要修改使用者的预设家目录内容、shell 的内容等等,要怎样进行修改,此外,如果远程登入主机之后,要怎样使用 su 与 sudo 变换身份成为 root 呢?来这里学习一下咯!
Linux 磁盘配额 quota
2003/02/10 磁盘配额 ( Quota ) 一直就是个很有用的东西!怎么说呢?举个例子来说明,如果您曾经申请过网络的 mail 服务时,那么肯定就会明白什么是 20MB 的邮件空间、 30MB 的免费网页空间,好了,这个 20MB, 30MB 是怎样定义出来的呢?哈哈!没错,就是 quota 这个东西搞出来的!如果我们要限制使用者使用硬盘的容量使用大小,嗯!来这里看看就对了!
例行性命令 at & crontab
2003/02/10 不论什么时候,建立系统可以自动的执行功能都是必须的!您了解目前系统在预设的情况中,每天、每小时、每个月都在做些什么事吗?!您了解『循环的工作』与『仅进行一次的工作』有什么不同吗?看一下吧!
程序与资源管理
2003/02/10 在 Linux 当中, Linux 是如何分辨一个程序的呢?嗯!当我们的系统里面有太多的死亡的程序的时候,应该怎样将该程序查出来之后并杀掉他呢?如果主机仅允许一次登入一个终端机画面,如何从事多个工作的进行呢?还有,如何设定一个程序,让他的执行顺序可以比较快速呢?!这个都是过程控制的重点项目呦!呵呵!另外一个又更常发生啦!如果我的 X-Window 死掉了!但是我的 Linux 基本上却还是活着的时候,那么是否需要重新 reboot 呢?还是有其它的方式可以重新启动 X-Window ?
第五部分:Linux 系统管理员嗯!终于来到系统管理员 ( root ) 要注意的工作事项之篇幅了!各位准系统管理员心理准备好了吗?我们要管理机器啰?呵呵!那么管理员的工作是什么?看报喝茶?!没错!管理员最大的享受就是看报喝茶了?一个好的系统管理员,平时不会希望挂载网站上面一再不断的查询、检查漏洞等等的,因为果真如此的话,那么就表示『机器一定有问题了!』。为了让我们的 Linux 机器跑得更稳更顺畅,好让我这个管理员有更多的时间去看报喝茶,哈哈!更深入的了解系统是需要的!所以,这一篇我们由开机关机的整体流程谈起,好了解一下 Linux 在开机的过程中到底做了哪些事情,这样才能知道我们在什么时候应该做什么事情吶!此外,由于『没有一个套件是永远安全的!』,所以套件管理是相当重要的一部份,这里我们以 RPM 与 Tarball 来介绍一下如何管理你系统上面的套件?再来,你知道你的系统上面跑了多少数据吗?虽然知道什么是 ps 来查询程序,但是总是得知道我的系统有哪些服务吧!嘿嘿!来看看先?不但如此,还得针对登录档进行解析,以及对于系统进行备份?呵呵!管理员的工作还真多那?不止不止,还要进行核心的管理呢!哇!果然是忙毙了!无论如何,还是得要了解吶!