基于Linux的学习方法


(下文转自"天极网”)
基于Linux的学习方法
关于我:
  我是一名普通的计算机软件人员,接受过普通的计算机科学教育,有6年工作经验,
由于工作原因接触过的系统包括DOS、Windows、Windows NT、Digital UNIX、VMS、Lin
ux、IRIX,在一个比较封闭但是比较安静的环境里自学使用Linux两年多的时间,使用过
程中逐步系统了自己的计算机观点,清楚了许多在多年以前老师没有讲清楚或是自己没
有想清楚的东西,同样也试着把自己的一点经验和同事们进行探讨,具备一定的Linux支
持的经验,自我感觉学习Linux的过程给了我一笔非常宝贵的财富,是一个非常明智的决
定。
目的:
  一直有一种想法,就是把自己的学习经验和别人进行探讨,让别人不要重复自己的
错误,在学习和使用Linux的过程中少走弯路,以一种比较轻松的态度来对待Linux系统
,并且我也希望能够为新手提供指路,希望有一天我们的大学生中也能够出现几个象Li
nus一样的程序员,实际上,中国有足够的人是应该能够做到这点的,对于国家有这样的
程序设计人员或是振臂一呼应者如云的工程管理人员是一件幸事。
  GNU/Linux的学习实际上是一个不断实践的过程,根据自己的需要不断地选择系统中
的软件根据其相关文档在系统中付诸实施的过程,制定一个自己满意的目标可能效果更
好。参考的目标可能以学习为主更好,倘若你有一定的基础制定一个基于GNU/Linux系统
解决方案也不错;参考的应用范围开始以作为服务器运行更好,而不是作为和Windows
95一样的作桌面系统,比较理想的环境就是有一台Windows95的机器作为客户端而把Lin
ux作为服务器,我接触Linux很偶然完全是想看一看免费的UNIX的样子,学习Linux是的
目标开始很简单,就是实现类似于Windows NT中的IIS的功能。
  我把GNU/Linux的学习分为以下三个部分,并根据自己的经验提出注意的事项。
  1、系统安装
  对于熟悉Windows环境的人来说GNU/Linux的安装是一个非常痛苦的过程,对于安装
过程中遇到的问题足以让许多闻风而动的人放弃了GNU/Linux的使用。安装过程中比较典
型的问题是硬件不支持,如声卡和显示卡,其中显示卡的问题一般是希望安装X-WINDOW
环境而引起的,并且常常引起系统重启或安装失败。所以,我给大家的第一个提示就是
可以考虑不安装X-WINDOW软件包; 其次如果你不是使用的Sound Blast系列的声卡,可
以考虑不安装声卡;如果你的网络卡不识别可以考虑更换一块廉价的NE2000兼容网络卡
,保证网络的正常工作对于调试客户/服务器方式的应用程序是必须的,网络服务启动成
功但不能正常访问多是由于缺省的路由(default route)没有指定为网卡的地址引起。
由于现在的硬件制造商还没有普遍提供Linux下的驱动程序,所以希望提供象Windows环
境一样的硬件兼容的确有些困难。另外,建议做好可能要数次格式化硬盘的准备,实际
上当你使用Linux系统一段时间后,就会发现以前频繁格式化硬盘实际上是错误的。当然
,由一个具有Linux使用经验的人进行指导安装是最好的选择。同样,有一本关于Linux
系统指南的手册是入门时不错的参考,不过不用太厚的著作因为许多的著作涉及的软件
介绍实际多是对软件文档的复制,最好的文档实际就在你的/usr/doc目录下,当然其文档
主要是英文不过都不是太深奥,毕竟很多软件的作者并不是用英文作为母语,并且开始是
可以从/usr/doc/HOWTO开始,如可读性极强的《DOS-TO-Linux HOWTO》《NET-3-HOWTO》
等文档。在不熟悉UNIX命令的情况下,可以使用一个类似pctools的软件mc,通过他你可
以完成许多的文件操作,如文件的浏览、编辑、删除等,当然熟悉UNIX的基本命令可能
是开始时的主要工作,UNIX的命令有一个比较特殊的地方就是有太多的选择项,其实开
始只要会它的基本功能就行。系统的安装和配置是一个不断积累经验的过程,急于求成
可能效果不好,和Windows入门容易深造难刚好相反Linux是入门困难而深造容易。
  2、系统管理
  由于Linux是一个多用户多任务的操作系统,系统管理对于在Windows 95环境下的用
户可能是一个陌生的事情,在熟悉了基本的文件操作命令之后就可以考虑进行系统管理
,系统管理的工作主要分为用户管理、资源管理、软件安装、服务配置和网络。当你使
用linuxconf进行系统管理时,你会发现他许多真正优秀的地方。系统管理是相通的,只
要是多用户的系统都存在这样的问题,实现的方法也是大同小异,通过linuxconf进行管
理实际是调用了许多的UNIX命令,就象mc一样。Linux的通常使用的命令一般放在/usr/
sbin、/usr/bin、/sbin、/bin目录下,可以抽点时间看看到底他们都包含了些什么东西
,并且使用man 看一下他该怎么使用。资源管理的一个特色是文件系统的限额功能,这
是UNIX系统普遍具有的功能而在微软的Windows NT 4没有实现的功能。软件安装实际就
是使用RPM软件或是直接使用tar,其中RPM包格式的软件更容易安装和使用。我对服务的
理解是系统的驻留程序,要配置Linux的各种服务需要了解涉及的程序和多半在/etc目录
下配置文件的作用,/etc目录和Windows的注册表文件类似,包含了系统启动和相关软件
的配置信息,在集中管理方面应该说Windows做得更好,不过/etc的文件多半是文本文件
,你可以使用编辑器打开他们,其中很多文件里包含了详细的配置帮助,配置服务的过
程有时可能就是去掉它的注释符号,实际上Linux下的服务和商用UNIX提供的服务很相似
。和在Windows环境相比,最好的是一般修改一个服务后不需要重新启动系统,而只是重
新启动该服务。网络是Linux给我最多收获的部分,由于Linux是一个互联网上诞生的系
统,支持完整的TCP/IP网络协议族,其网络应用软件非常丰富,并且很多网络应用软件
都系出名门且广泛使用,如BIND、apache、wu-ftp、sendmail、telnetd、NFS、NIS等,
并且有非常完备的文档和例子支持,通过配置其网络服务你可以深入了解TCP/IP协议,
构造一个非常不错的内部网环境,相关的文章比较多,在此便不再赘述。同样,支持Li
nux的大型关系数据库也不少,目前各大数据库厂商(Oracle、Sybase、Informix)为了
对抗微软的操作系统垄断,均将产品向Linux移植,主要的目的是为大家提供使用和学习
的机会,他们对一般对产品的限制是不能应用于商业领域,同时支持Linux的免费数据库
系统也不少如PostgreSQL、MySQL等,由于SQL数据库涉及数据的并发控制、安全管理、
备份等问题,掌握它能够让你在管理员的角度思考你的数据共享的问题,并且SQL作为一
个标准其通用性较强,所以把Linux作为一个数据库服务器平台是很理想的。同时,将数
据库和Web服务器结合起来,利用PHP3或是其他的CGI工具便能够实现一个基于Web的数据
库环境,并且是能够被你自由控制的环境。
  3、程序设计
  目前GNU/Linux系统是一个为程序员提供的操作系统和编程环境,因为其操作系统核
心源代码和应用软件的源代码都是公开的,并且你可以根据你的爱好选择编程语言,你
可以通过大量的应用软件源代码理解进程、线程、文件、设备、网络、RPC、IPC等原来
比较抽象的概念。和Windows环境下的可视开发环境相比,Linux下的编程可能会困难一
些,但是如果只是完成特定的服务端应用,就比较简单和高效,你开了集成环境可能需
要的是多开几个虚拟控制台,方便对库函数的参考。由于应用软件主要是C语言程序,有
C语言基础是比较好的,并且应用软件的注释都比较好,可以比较方便地修改。当然,用
JAVA也比较好,可以充分享受其跨平台的优势,还有就是可以使用以前只是听过而没有
用过的Ada、Lisp等语言。基于GNU/Linux的程序设计可以让你充分感受选择的自由,没
有必要大家都去研究核心程序,毕竟计算机是工具,能够为具体应用服务才是计算机软
件人员的职责,仅有系统核心也是不够的。不过,在Linux下编写驱动程序不是象想象的
那么困难,原因主要是我们的设计者为我们提供了详细的指南,感受最深刻的是在/usr
/src/linux/drivers/net/skeleton.c程序,它描述了网卡驱动程序的框架,并且相关的
文档非常多如KHG等,相比Windows就更为开放和容易。我不是程序设计的高手,通过GN
U/Linux的使用知道一些有用的方法,学会了欣赏别人的程序,如果让我做一个程序我的
第一步可能就是找到相关的程序并查看他们的编程方法。同样,如果能够真正使用互联
网,你可以发现更多的程序设计的参考。
  两年的实践给了我一种驾驭系统的轻松,因为我知道很多东西没有想象的那么难以
接受,最重要的是"try again"。实际上,你能够真切地感受到各种系统是相通的,如同
水是相通的一样;学习不应该是一种负担,而是根据自己的实际情况去解决实际的问题
,兴趣是一种不可忽视的因素。我想象不出如果能够根据大学计算机专业的课程设置,
同步提供Linux的实践,那么我们的大学生在毕业时会有怎样的技术水平?同样,我们的
高校可能会有更多一些的可以为普通人接受的软件,而不是只是培养专家的科研成果,
或是寥寥千套的获奖操作系统。没有理论的实践是盲目的,没有实践的理论是空洞的,
而计算机软件是需要理论和实践紧密结合的。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值