如果你只是想要拿Linux来替代原本的Windows桌面的话,那么你几乎不需要通过“严格的学习”。目前的 Linux distribution 绝大部分默认就是以桌面系统的角度来安装所需要的软件,也就是说,你只要将Linux安装好,接下来就能够进入Linux玩弄。根本就不需要什么学习。你只需要购买一本介绍Linux 桌面设置的书籍,里面有说明输入法、打印机设置、因特网设置的书籍就很够用了。鸟哥建议的distributions包括有:
Ubuntu 下载: http://www.ubuntu.com/getubuntu/download
OpenSuSE 下载: http://software.opensuse.org/
Fedora 下载: http://fedoraproject.org/en/get-fedora
Mandriva 下载: http://www.mandriva.com/en/download/free
另外还有一些网络上面的桌面调教文章也可以参考的!包括:
杨老师的图解桌面http://apt.nc.hcc.edu.tw/docs/FC3_X/
Ubuntu中文指南http://ubuntuguide.org/wiki/Ubuntu:Hardy_cn
如果想知道更多关于图形用户界面能够使用的软件信息,可以参考下面的链接:
Open Office(http://www.latex-project.org/):
就是办公室软件,包含电子表格、文字处理与报表软件等。
Free Maid(http://freemind.sourceforge.net/wiki/index.php/Main_Page):
可绘制组织结构的软件,酷学园里的SAKANA曾用过,鸟哥觉得挺好看。
AbiWord(http://www.abisource.com/):
非常类似微软的Word的文字处理软件。
Tex/LaTeX(http://www.latex-project.org/):
可进行文件排版的软件(很多自由软件文件使用此编辑器)。
Dia(http://dia-installer.de/index_en.html):
非常类似微软Visio的软件,可绘制流程图。
Scribus(http://www.scribus.net/):
专业的排版软件,老实说,鸟哥确实不会用。
GanttProject(http://ganttproject.biz/):
可绘制甘特图(就是时程表)的软件。
GIMP(http://www.gimp.org/):
在业界相当有名的绘图自由软件!
如果你不需要很特别的专业软件的支持,那么一般的办公环境中,上面的这些软件全部免费,而且相信已经足以应付你日常所需的工作环境。不过,千万记得,玩X Window就好,不要搞架站的东西!不论是Windows/Linux/Mac/Unix 还是什么的,只要是玩到架站,它就不是这么安全的东西。所以,很多东西都需要学习。下面我们就来谈谈,如果有心想要向Linux操作系统学习的话,最好具备什么心态呢?
不论学什么系统,“从头学起”是很重要的!在服务器的应用上,文件的安全性、人员账号的管理、软件的安装/修改/设置、登录文件的分析以及自动化工作排程与程序的编写等,都是需要学习的,而且这些东西都还未涉及服务器软件呢。
鸟哥希望大家能够更了解 Linux,好让它可以为你做更多的事情!而且这些基础知识是学习更深入的技巧的必备条件。因此建议。
1.计算机概论与硬件相关知识
因为既然想要走Linux这门路,信息相关的基础技能也不能没有啊!所以先理解一下基础的硬件知识,不一定要全懂。又不是真的要你去组建计算机,但是至少要“听过、有概念”。
2.先从Linux的安装与命令学起
没有 Linux 怎么学习 Linux 呢?所以好好安装起一套你需要的 Linux 吧!虽然说 Linuxdistributions很多,不过基本上架构都是大同小异的,差别在于界面的亲和力与软件的选择不同罢了。选择一套你喜欢的就好了,倒是没有哪一套特别好说。
3.Linux操作系统的基础技能
这些包含了用户/用户组的概念、权限的观念、程序的定义等,尤其是权限的概念,由于不同的权限设置会妨碍你的用户的便利性,但是太过于便利又会导致入侵的可能。所以这里需要了解一下你的系统。
4.务必学会vi文本编辑器
Linux 的文本编辑器多到会让你数到生气。不过,vi 却是强烈建议要先学习的,这是因为 vi会被很多软件所调用,加上所有的 Unix like 系统上面都有 vi,所以你一定要学会才好。
5.Shell与Shell脚本的学习
其实鸟哥上面一直谈到的“命令行界面”说穿了就是一个名为shell的软件。既然要玩命令行界面,当然就是要会使用shell的意思。但是shell上面的数据太多了,包括“正则表达式”、“管道命令”与“数据流重定向”等,真的需要了解。此外,为了帮助你在将来的管理服务器更加方便,shell脚本也是挺重要的。
6.一定要会软件管理员
因为玩Linux经常会面临自己安装驱动程序或者是安装额外软件的时候,尤其是嵌入式设备或者是学术研究单位等。这个时候Tarball/RPM/DPKG等软件管理员的安装方式对你来说就重要!
7.网络基础的建立
如果上面你都通过了,那么网络的基础就是下一阶段要接触的,这部分包含了“IP概念”、“路由概念”等。
8.如果连网络基础都通过了,那么网站的架设对你来说,简直就是“太简单啦”!
在一些基础知识上,可能的话,当然得去书店找书来读啊!如果你想要在网络上面阅读的话,那么这里推荐一下由Netman大哥主笔的Study-Area里面的基础文章,相当实用!
计算机基础(http://www.study-area.org/compu/compu.htm)
网络基础(http://www.study-area.org/network/network.htm)
Netman推荐的相关网络书籍:
http://linux.vbird.org/linux_basic/0120howtolinux/0120howtolinux_1.php
鸟哥列出的几个学习网站来提供大家作为参考实践的依据:
Study-Area:http://www.study-area.org
鸟哥的私房菜馆:http://linux.vbird.org
卧龙大师的网络技术文件(繁体):http://linux.tnc.edu.tw/techdoc/
中国Linux团队:http://www.linux.org.cn/
狼主的网络实验室 http://netlab.kh.edu.cn/index.htm
吴仁智的文件集:http://www.cses.tcc.edu.cn/~chihwu/
由于不同的网站当初编写的时候所用的Linux软件或版本与目前的主流版本并不相同,因此参考他人的实践经验时,必须要特别留意对方的版本,否则反而可能造成你的困扰。
我们是“人”不是“神”,所以在学习的过程中发生问题是很常见的。重点是,我们该如何处理在自身所发生的Linux问题呢?在这里鸟哥的建议是这样的。
1.在自己的主机/网络数据库上查询How-To或FAQ(帮助)
其实,在Linux主机及网络上面已经有相当多的FAQ整理出来了!所以,当你发生任何问题的时候,除了自己检查,或者到上述的实践网站上面查询一下是否有设置错误的问题之外,最重要的当然就是到各大FAQ的网站上查询。以下列出一些有用的FAQ与How-To网站给你参考一下:
Linux自身的文件数据:/usr/share/doc(在你的Linux系统中)
CLDP中文文件计划:http://www.linux.org.cn/CLDP/
The Linux Documentation Project:http://www.tldp.org/
上面比较有趣的是那个 TLDP(The Linux Documentation Project),它几乎列出了所有 Linux上面可以看到的文献数据,各种How-To的做法等,虽然是英文的,不过,很有参考价值。
除了这些基本的FAQ之外,其实,还有更重要的问题查询方法,那就是利用谷歌(Google)帮你去搜寻答案呢!在鸟哥学习Linux的过程中,如果有什么奇怪的问题发生时,第一个想到的,就是去http://www.google.com搜寻是否有相关的议题。举例来说,我想要找出Linux下面的NAT,只要在上述的网站内,输入Linux与NAT,立刻就有一堆文献运行出来了!真的相当优秀好用。你也可以通过谷歌来找鸟哥网站上的数据呢!
Google:http://www.google.com
鸟哥网站:http://linux.vbird.org/Searching.php
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”这一篇讨论。然后,你可以到下面几个讨论区发问看看:
酷学园讨论区:http://phorum.study-area.org
鸟哥的私房菜馆讨论区:http://phorum.vbird.org
不过,基本上去每一个讨论区回答问题的熟手其实都差不多是那几个,所以你的问题不要重复发表在各个主要的讨论区!举例来说,鸟园与酷学园讨论区上的朋友重复性很高,如果你两边都发问,可能会得到反效果,因为大家都觉得,另外一边已经回答你的问题了。
4.Netman兄给的建议
此外,Netman兄提供了一些学习的基本方针,提供给大家参考:
在Windows里面,程序有问题时,如果可能的话先将所有其他程序保存并结束,然后尝试按救命三键(Ctrl+Alt+Delete),将有问题的程序(不要选错了程序)“结束工作”,看看能不能恢复系统。不要动不动就直接关机或重启。
有系统地设计文件目录,不要随便到处保存文件以至以后不知道放哪里了,或找到文件也不知道为何物。
养成一个做记录的习惯。尤其是发现问题的时候,把错误信息和引发状况以及解决方法记录清楚,同时最后归类及定期整理。别以为你还年轻,等你再弄多几年计算机了,你将会非常庆幸你有此习惯。
如果在网络上看到任何好文章,可以为自己留一份 copy,同时定好题目,归类存档。(鸟哥注:需要注意知识产权!)
作为一个用户,人要迁就机器;做为一个开发者,要机器迁就人。
除了这些鸟哥的经验之外,还有在BBS上面有一份对于Linux新手相当有帮助的文件资料,大家可以多看一看:
李果正先生的GNU/Linux初学者之旅:http://info.sayya.org/~edt1023/linux_entry.html
鸟哥这里有也一个备份:
http://linux.vbird.org/linux_basic/0120howtolinux/0120howtolinux_3.php
信息人的有效学习(洪朝贵教授网页):http://people.ofset.org/~ckhung/a/c013.php
学写脚本的确没设置server那么好玩,不过以我自己的感觉是:关键是会“偷”,偷了会改,改了会变,变则通矣。
在Windows里面,设置不好设备,你可以骂它;在Linux里面,如果设置好设备了,你得要感激它