第二章、 Linux 如何学习
最近更新日期:2009/08/06

大标题的图示有心朝Linux作业系统学习者的学习态度

为什么大家老是建议学习Linux最好能够先舍弃X Window的环境呢? 这是因为X window了不起也只是Linux内的『一套软件』而不是『Linux核心』。 此外,目前发展出来的X-Window对於系统的管理上还是有无法掌握的地方,举个例子来说,如果 Linux本身捉不到网路卡的时候,请问如何以X Window来捉这个硬件并且驱动他呢?

还有,如果需要以Tarball(原始码)的方式来安装软件并加以设定的时候,请以X Window 来架设他!这可能吗?当然可能,但是这是在考验『X Window开发商』的技术能力, 对於了解Linux架构与核心并没有多大的帮助的!所以说,如果只是想要『会使用Linux』的角度来看, 那么确实使用X Window也就足够了,反正搞不定的话,花钱请专家来搞定即可;但是如果想要更深入 Linux的话,那么指令列模式才是不二的学习方式!

以服务器或者是嵌入式系统的应用来说,X Window是非必备的软件,因为服务器是要提供用户端来连线的, 并不是要让使用者直接在这部服务器前面按键盘或滑鼠来操作的!所以图形介面当然就不是这么重要了! 更多的时候甚至大家会希望你不要启动X window在伺服器主机上,这是因为X Window通常会吃掉很多系统资源的缘故!

再举个例子来说,假如你是个软件服务的工程师,你的客户人在台北,而你人在远方的台南。某一天客户来电说他的Linux服务器出了问题, 要你马上解决他,请问:要您亲自上台北去修理?还是他搬机器下来让你修理?或者是直接请他开个帐号给你进去设定即可? 想当然尔,就会选择开帐号给你进入设定即可罗!因为这是最简单而且迅速的方法!这个方法通常使用文字介面会较为单纯, 使用图形介面则非常麻烦啦!所以啦!这时候就得要学学文字介面来操作Linux比较好啦!

另外,在服务器的应用上,文件的安全性、人员帐号的管理、软件的安装/修改/设定、 登录档的分析以及自动化工作排程与程式的撰写等等,都是需要学习的, 而且这些东西都还未涉及服务器软件呢!对吧!这些东西真的很重要,所以,建议你得要这样学习才好:


小标题的图示从头学习Linux基础

其实,不论学什么系统,『从头学起』是很重要的!还记得你刚刚接触微软的Windows都在干什么? 还不就是由档案总管学起,然后慢慢的玩到控制台、玩到桌面管理, 然后还去学办公室软件,我想,你总该不会直接就跳过这一段学习的历程吧?那么 Linux的学习其实也差不多,就是要从头慢慢的学起啦!不能够还不会走路之前就想要学飞了吧!^_^!

常常有些朋友会写信来问鸟哥一些问题,不过,信件中大多数的问题都是很基础的! 例如:『为什么我的使用者个人网页显示我没有权限进入?』、 『为什么我下达一个指令的时候,系统告诉我找不到该指令?』、 『我要如何限制使用者的权限』等等的问题,这些问题其实都不是很难的,只要了解了 Linux的基础之后,应该就可以很轻易的解决掉这方面的问题呢! 所以请耐心的,慢慢的,将后面的所有章节内容都看完。自然你就知道如何解决了!

此外,网路基础与安全也很重要,例如TCP/IP的基础知识,网路路由的相关概念等等。 很多的朋友一开始问的问题就是『为什么我的邮件服务器主机无法收到信件?』 这种问题相当的困扰,因为发生的原因太多了,而朋友们常常一接触Linux就是希望 『架站!』根本没有想到要先了解一下Linux的基础!这是相当伤脑筋的! 尤其近来计算机黑客(Cracker)相当多,(真奇怪,闲闲没事干的朋友还真是不少....) ,一个不小心您的主机就被当成黑客跳板了! 甚至发生被警告的事件也层出不穷!这些都是没能好好的注意一下网路基础的原因呀!

所以,鸟哥希望大家能够更了解Linux,好让他可以为你做更多的事情喔! 而且这些基础知识是学习更深入的技巧的必备条件呀!因此建议:

  1. 计算机概论与硬件相关知识:
    因为既然想要走Linux这门路,资讯相关的基础技能也不能没有啊! 所以先理解一下基础的硬件知识,不用一定要全懂啦!又不是真的要你去组计算机~^_^, 但是至少要『听过、有概念』即可;

  2. 先从Linux的安装与指令学起:
    没有Linux怎么学习Linux呢?所以好好的安装起一套你需要的Linux吧!虽然说Linux distributions很多, 不过基本上架构都是大同小异的,差别在於介面的亲和力与软件的选择不同罢了! 选择一套你喜欢的就好了,倒是没有哪一套特别好说~

  3. Linux操作系统的基础技能:
    这些包含了『使用者、群组的概念』、『权限的观念』,『程序的定义』等等,尤其是权限的概念, 由於不同的权限设定会妨碍你的使用者的便利性,但是太过於便利又会导致入侵的可能! 所以这里需要了解一下你的系统呦!

  4. 务必学会vi文书编辑器:
    Linux的文书编辑器多到会让你数到生气!不过,vi却是强烈建议要先学习的! 这是因为vi会被很多软件所呼叫,加上所有的Unix like系统上面都有vi,所以你一定要学会才好!

  5. Shell与Shell Script的学习:
    其实鸟哥上面一直谈到的『文字介面』说穿了就是一个名为shell的软件啦!既然要玩文字介面,当然就是要会使用shell的意思。 但是shell上面的数据太多了,包括『正规表示法』、『管线命令』与『数据流重导向』等等,真的需要了解比较好呦! 此外,为了帮助你未来的管理服务器的便利性,shell scripts也是挺重要的!要学要学!

  6. 一定要会软件管理员:
    因为玩Linux常常会面临得要自己安装驱动程式或者是安装额外软件的时候,尤其是嵌入式设备或者是学术研究单位等。 这个时候Tarball/RPM/DPKG等软件管理员的安装方式的了解,对你来说就重要到不行了!

  7. 网路基础的建立:
    如果上面你都通过了,那么网路的基础就是下一阶段要接触的咚咚,这部份包含了『IP概念』『路由概念』等等;

  8. 如果连网路基础都通过了,那么网站的架设对你来说,简直就是『太简单啦!』

在一些基础知识上,可能的话,当然得去书店找书来读啊! 如果您想要由网路上面阅读的话,那么这里推荐一下由Netman大哥主笔的Study-Area里面的基础文章,相当的实用!


小标题的图示选择一本易读的工具书

小标题的图示实作再实作

要增加自己的体力,就是只有运动;要增加自己的知识,就只有读书;当然,要增加自己对於Linux的认识, 大概就只有实作经验了!所以,赶快找一部计算机,赶快安装一个Linux distribution,然后快点进入Linux的世界里面晃一晃! 相信对於你自己的Linux能力必然大有斩获!除了自己的实作经验之外,也可以参考网路上一些善心人士整理的实作经验分享喔! 例如最有名的Study-Area(http://www.study-area.org)等网站。

此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是数据被你抹掉了, 否则储存的数据将永远而且立刻的记忆在硬盘中!在人类记忆的曲线中, 你必须要『不断的重复练习』才会将一件事情记得比较熟!同样的,学习Linux也一样, 如果你无法经常摸索的话,那么,抱歉的是,学了后面的, 前面的忘光光!学了等於没学,这也是为什么鸟哥当初要写『鸟哥的私房菜』这个网站的主要原因, 因为,我的忘性似乎比一般人还要好~~呵呵!所以,除了要实作之外,还得要常摸!才会熟悉Linux而且不会怕他呢!

好了,底下列出几个学习网站来提供大家做为参考实作的依据:

Tips:
由於不同的网站当初撰写的时候所用的Linux软件或版本与目前的主流并不相同,因此参考他人的实作经验时, 必须要特别留意对方的版本,否则反而可能造成你的困扰喔!
鸟哥的图示

小标题的图示发生问题怎么处理啊?建议流程是这样..

我们是『人』不是『神』,所以在学习的过程中发生问题是很常见的啦!重点是,我们该如何处理在自身所发生的Linux问题呢? 在这里鸟哥的建议是这样的流程:

  1. 在自己的主机/网路数据库上查询How-To或FAQ

    其实,在Linux主机及网路上面已经有相当多的FAQ整理出来了!所以,当你发生任何问题的时候,除了自己检查, 或者到上述的实作网站上面查询一下是否有设定错误的问题之外,最重要的当然就是到各大FAQ的网站上查询罗! 以下列出一些有用的FAQ与How-To网站给您参考一下:


    上面比较有趣的是那个TLDP(The Linux Documentation Project), 他几乎列出了所有Linux上面可以看到的文献数据,各种How-To的作法等等,虽然是英文的,不过,很有参考价值!

    除了这些基本的FAQ之外,其实,还有更重要的问题查询方法,那就是利用酷狗(Google)帮您去搜寻答案呢! 在鸟哥学习Linux的过程中,如果有什么奇怪的问题发生时,第一个想到的, 就是去http://www.google.com.tw搜寻是否有相关的议题。 举例来说,我想要找出Linux底下的NAT,只要在上述的网站内,输入Linux跟NAT, 立刻就有一堆文献跑出来了!真的相当的优秀好用喔!您也可以透过酷狗来找鸟哥网站上的资料呢!


  2. 注意讯息输出,自行解决疑难杂症:

    一般而言,Linux在下达指令的过程当中,或者是log file里头就可以自己查得错误资讯了,举个例子来说,当你下达:
    [root@linux ~]# ls -l /vbird
    
    由於系统并没有 /vbird 这个目录,所以会在萤幕前面显示:
    ls: /vbird: No such file or directory
    
    这个错误讯息够明确了吧!系统很完整的告诉您『查无该资料』! 呵呵!所以罗,请注意,发生错误的时候,请先自行以萤幕前面的资讯来进行 debug(除错)的动作,然后,如果是网路服务的问题时,请到/var/log/这个目录里头去查阅一下 log file(登录档),这样可以几乎解决大部分的问题了!

  3. 搜寻过后,注意网路礼节,讨论区大胆的发言吧:

    一般来说,如果发生错误现象,一定会有一些讯息对吧!那么当您要请教别人之前,就得要将这些讯息整理整理, 否则网路上人家也无法告诉您解决的方法啊!这一点很重要的喔!

    万一真的经过了自己的查询,却找不到相关的资讯,那么就发问吧!不过,在发问之前建议您最好先看一下『 提问的智慧 http://phorum.vbird.org/viewtopic.php?t=96』 这一篇讨论!然后,你可以到底下几个讨论区发问看看:


    不过,基本上去每一个讨论区回答问题的熟手,其实都差不多是那几个, 所以,您的问题『不要重复发表在各个主要的讨论区!』 举例来说,鸟园与酷学园讨论区上的朋友重复性很高,如果您两边都发问, 可能会得到反效果,因为大家都觉得,另外一边已经回答您的问题了呢~~

  4. Netman大大给的建议:

    此外,Netman 兄提供的一些学习的基本方针,提供给大家参考:

    • 在Windows里面,程式有问题时,如果可能的话先将所有其它程式保存并结束,然后尝试按救命三键 (Ctrl+Alt+Delete),将有问题的程式(不要选错了程式哦)『结束工作』,看看能不能恢复系统。不要动不动就直接关机或reset
    • 有系统地设计文件目录,不要随便到处保存文件以至以后不知道放哪里了, 或找到文件也不知道为何物。
    • 养成一个做记录的习惯。尤其是发现问题的时候, 把错误信息和引发状况以及解决方法记录清楚,同时最后归类及定期整理。别以为您还年轻,等你再弄多几年计算机了, 您将会非常庆幸您有此一习惯。
    • 如果看在网路上看到任何好文章,可以为自己留一份copy,同时定好题目,归类存档。(鸟哥注:需要注意智慧财产权!)
    • 作为一个使用者,人要迁就机器;做为一个开发者,要机器迁就人。
    • 学写 script 的确没设定 server 那么好玩,不过以我自己的感觉是:关键是会得『偷』, 偷了会得改,改了会得变,变则通矣。
    • 在Windows里面,设定不好设备,您可以骂它;在Linux里面,如果设定好设备了,您得要感激它!

 
     
http://linux.vbird.org is designed by VBird during 2001-2011. ksu.edu 

本网页主要以Firefox配合解析度 1024x768 作为设计依据     鸟哥自由软件整合应用研究室