如何学习 Linux


Linux 的应用: 
要谈到 Linux 如何学习之前,我们得就 Linux 目前的一般应用来说明一下,才好理解您需要什么样的学习方式! 
· 桌上型计算机: 
所谓的桌上型计算机就是一般使用者在屏幕前面工作时候的常见的操作系统了!我们称之为『Desktop』系统,就是简称的桌上型计算机了!说到桌上型计算机就不能不提一下 X-Window System 。 
o 由前一章提到的 Unix 与 Linux 的历史中,我们知道在 1986 年美美的窗口画面就已经在 Unix 上面出现过了,那个时候窗口画面被简称为 X 系统,而后来到了 1994 年的时候正式被整合在 Linux 里头!至于微软的 Windows 则是在 1995 年才出现! 
o 所谓的 X Window System 就是以 XFree86 这个计画释出的 X11 这个窗口软件为管理显示核心的一套窗口接口的软件,我们常常简称他为图形使用者接口( Graphical User Interface )。这个 XFree86 只是 Linux 核心上面的一套软件而已,他主要的工作就是管理图形接口输出的时候,几乎所有显示相关的硬件的控制,例如显示卡、屏幕、键盘、鼠标、等等,都是 XFree86 管理的!或者,我们可以称 XFree86 为 X-Window System 的服务器,简称为 X Server 。 
o 至于我们所看到的美美的窗口画面,则是使用 X Server 提供的显示相关硬件的功能,来达到图形显示的『窗口管理员( Window Mananger, WM )』所发挥的能力啦!这也就是说, WM 是挂在 X Server 上面来运作的一套显示窗口接口的软件,例如我们常见的 KDE, GNOME 等等都是 WM。 
那么这个桌上型计算机平时都在干些什么?简单的说,桌上型计算机的日常工作是: 
o 上网浏览; 
o 文书处理; 
o 网络接口之公文处理系统; 
o 办公室软件( Office Software )处理资料; 
o 收发电子邮件; 
大致上就是这些工作啰!在这些工作中, Linux 有美丽的图形接口 X Window System 提供良好的使用者接口 ( GUI ) ,此外,目前发展中的 WM 也都具有中文化的功能!至于 Office 软件则有类似 Open Office 的软件支持,所以,基本上在桌上型计算机型态的使用中, Linux 已经足以应付大部分的上班族群的工作了。
· 工作站计算机: 
工作站计算机与桌上型计算机不太一样的地方,在于工作站通常得要应付比较重要的公事应用,例如工程界流体力学的数值模式运算、娱乐事业的特效功能处理、软件开发者的工作平台等等。Linux 上面有强大的运算能力,以及支持度相当广泛的 GCC 编译软件,因此在工作站当中也是相当良好的一个操作系统选择。例如我们研究室目前就要将 Sun Unix 上面执行的大型模式移转到 Linux 上面,据美国环保署内部人员的测试,发现 Linux 不但比较便宜 ( X86 系统嘛! )而且速度还比较快呢!
· 网络服务器: 
承袭了 Unix 的良好传统, Linux 上面的网络功能特别的强大!此外,由于 GNU 计画,让 Linux 上面的服务器软件几乎都是免费的!因此,做为一部网络服务器,例如 WWW, Mail Server, File Server, FTP Server 等等, Linux 绝对是上上之选!
· 嵌入式系统: 
近年来电子相关产业相当的蓬勃发展,其中,小型微电脑的发展甚为重要!例如家电产品、PDA、以及其它微型的计算机配备。这些计算机配备通常是直接嵌入于产品当中的,例如 PDA 本身就是一个小型的计算机操作系统啦!这些系统我们就称为嵌入式系统。而要让这些嵌入式系统能够动作,自然就需要制作一套简单的操作系统啰,这个时候,可修改核心让功能变简单的 Linux 则是很好的选择。因此,近年来有相当多的嵌入式系统选择 Linux 做为发展的平台呢!
上面这些就是目前常见的几个 Linux 的应用方向。那么根据上面的应用,你觉得应该要怎样学习 Linux 呢?
 
从『头』学起 
其实,不论学什么系统,『从头学起』是很重要的!还记得你刚刚接触微软的 Windows 都在干什么?还不就是由档案总管学起,然后慢慢的完到控制台、玩到桌面管理,然后还去学办公室软件,我想,你总该不会直接就套过这一段学习的历程吧!?那么 Linux 的学习其实也差不多,就是要从头慢慢的学起啦!不能够还不会走路之前就想要学飞了吧! ^_^!
常常有些朋友会写信来问鸟哥一些问题,不过,信件中大多数的问题都是很基础的!例如:『为什么我的使用者个人网页显示我没有权限进入?』、『为什么我下达一个指令的时候,系统告诉我找不到该指令?』、『我要如何限制使用者的权限』等等的问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题呢!所以请耐心的,慢慢的,将后面的所有章节内容都看完。自然你就知道如何解决了!
此外,网络基础与安全也很重要,例如 IP 的基础,网络的 Gateway 设定基础与网络的相关概念!很多的朋友一开始问的问题就是『为什么我的 mail server 无法收到信件?』这种问题相当的困扰,因为发生的原因太多了,而朋友们常常一接触 Linux 就是希望『架站!』根本没有想到要先了解一下 Linux 的基础!这是相当伤脑筋的!尤其近来计算机怪客 ( Cracker ) 相当多, ( 真奇怪,闲闲没事干的朋友还真是不少.... ) ,一个不小心您的主机就被当成怪客跳板了!甚至发生被警告的事件也层出不穷!这些都是没能好好的注意一下网络基础的原因呀!
所以, 鸟哥希望大家能够更了解 Linux ,好让他可以为你做更多的事情喔!而且这些基础知识是学习更深入的技巧的必备条件呀!因此建议: 
1. 先理解一下基础的硬件知识,不用一定要全懂(没那么多时间),但是至少要『听过、有概念』即可;
2. 先了解一下 Linux 的基础知识,这些包含了『使用者、群组的概念』、『权限的观念』,『程序的定义』等等; 
3. 必需至少学会一种以上的文书编辑器,例如最好学会通用版本的 vi 啰! 
4. 实际操作 Linux 时,必定要学习的 Shell ,最好 Shell scripts 也能够了解; 
5. 如果上面你都通过了,那么网络的基础就是下一阶段要接触的咚咚,这部份包含了『IP 概念』『路由概念』『TCP/IP』等等; 
6. 如果连网络基础都通过了,那么网站的架设对你来说,简直就是『太简单啦!』 
在一些基础知识上,这里推荐一下 Study-Area 里面的基础文章,相当的实用! 
 计算机基础 
 网络基础: 

实作经验 
要增加自己的体力,就是只有运动;要增加自己的知识,就只有读书;当然,要增加自己对于 Linux 的认识,大概就只有实作经验了!所以,赶快找一部计算机,赶快安装一个 Linux 套件,然后快点进入 Linux 的世界里面晃一晃!相信对于你自己的 Linux 能力必然大有斩获!除了自己的实作经验之外,也可以参考网络上一些善心人士整理的实作经验分享喔!例如最有名的 Study-Area ( http://www.study-area.org )等网站。
此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中!在人类记忆的曲线中,你必须要『不断的重复练习』才会将一件事情记得比较熟!同样的,学习 Linux 也一样,如果你无法经常摸索的话,那么,抱歉的是,学了后面的,前面的忘光光!学了等于没学,这也是为什么鸟哥当初要写『鸟哥的私房菜』这个网站的主要原因,因为,我的忘性似乎比一般人还要好~~呵呵!所以,除了要实作之外,还得要常摸!才会熟悉 Linux 而且不会怕他呢!
好了,底下列出几个学习网站来提供大家做为参考实作的依据:(注:由于不同的网站当初撰写的时候所用的 Linux 套件或版本与目前的主流并不相同,因此参考他人的实作经验时,必须要特别留意对方的版本,否则反而可能造成你的困扰喔!)
Study-Area 
鸟哥的私房菜馆 
狼主的网络实验室 
卧龙大师的网络技术文件 
大南国小(林克敏主任文件集) 
张毓麟先生的小文章 
台湾 Linux 社群 
吴仁智的文件集 

--------------------------------------------------------------------------------
X-Window 还是 command line 
由前面的介绍我们可以知道,虽然目前 X-Window 的接口越做越漂亮,而且也已经渐渐的可以来控管整个系统了!但是必须要注意的是, X-Window 毕竟还只是一个 Linux 上面的软件,并不是一套『操作系统』,所以实际上使用他来设定系统的时候,还是有相当多的困扰的,因为毕竟他无法完全的管理好我们的 Linux 啊!虽然就以 Desktop 的型态来说,X-Window 是让 Linux 立刻深入人心的方法。不过, X-Window 在使用的时候还是有相当多的问题的,最大的问题来自于『系统资源的有效应用』,以 VBird 的使用情况来说,我的系统资源并没有很好,但是 X-Window 本身相当的消耗系统资源,如果一开 X-Window ,那么你的内存几乎都被 X-Window 吃光了!您要如何来用剩下的系统资源来进行高效率的其它工作呢?!这也是为什么很多的书籍与网站都会希望使用者架设网站的时候,不要激活图形使用者接口 的原因啰!
以下再来说说 X-Window 学习与 command line 学习的角度。
X-Window 
如果您对于 Linux 的要求是『桌上型计算机』,并且你又不架设网站的话,那么学习 X-Window 对您而言,绝对是需要的!至于指令列模式对你就不是这么必要了!但是,如果 Linux 对你而言是『服务器与工作站』的话,那么 X-Window 可能就不是这么重要,但是指令列模式可就大大的重要啦!  因为,如果以 X-Window 作为学习 Linux 的方式,那么未来一定会有死角,这是因为 X-Window 了不起也只是 Linux 的『一套软件』而不是『Linux 核心』此外,目前发展出来的 X-W