Chinaunix首页 | 论坛 | 博客
  • 博客访问: 617184
  • 博文数量: 486
  • 博客积分: 10125
  • 博客等级: 上将
  • 技术积分: 5842
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(486)

文章存档

2011年(52)

2010年(107)

2009年(289)

2008年(38)

我的朋友

分类: LINUX

2009-04-16 18:49:46

解答:怎样学习Linux(给Linux新手的建议)
抛砖引玉,各位老鸟也谈谈感想 :)
[1]不嫌烦的话,可以看Linux下各种软件的源代码. 
[2]看系统中自带的info,man page,doc,HOWTO and FAQ, 
   掌握快速查到想要的东西的决窍. 
   要学会自己解决问题的话,这条很重要. 
[3]到网上找点东西看.比如看看相关的web,订阅一些mailing list... 
   据我所知全球最大的关于Linux C programming的mailing list是 
   linuxCprogramming@i-docs.net 
   订阅方法: 
   You can also make such adjustments via email by sending a message to: 
     linuxCprogramming-request@i-docs.net 
     with the word `help' in the subject or body (don't include the 
     quotes), and you will get back a message with instructions. 
   另外,这个List有人在放消息: 
   I am trying to get more members on the Linux C Lists... 
   

   And again, more members on the Linux C++ List too... 
   

 
   我正准备去订这个C++的List. 
    
[4]和别人share你的idea和资源,而不是以藏私为乐. (我很鄙视后面这种行为) 
[5]尊重别人的见解,你可以反驳,但是尤忌把别人的见解称为"垃圾". 
[5']不要学FreeBSD :) 开个玩笑//hehe 

[1]遇到问题可以先在BBS上找精华区文章, 如果没有的话, 提出来.
[2]最好自己能获得一个linux机器,最好是root.
[3]安装linux至少5遍.
[4]编译安装一些软件. 编译安装过程中努力解决自己遇到的问题.
[5]拿到所有的东西, 首先看ReadMe和Copyright.
[6]多参加讨论组maillist, 例如bugtraq之类的.
[7]在BBS上积极参加讨论.
[8]多浏览些linux网站, 转贴些新闻到bbs的linux版.
[9]到一定程度, 碰到问题就要自己通过看man或者how-to解决了,因为也许你是
   你周围解决这一问题的第一人. 解决后, 将经验写出来,供大家分享.
[A]有兴趣的话, 在linux下写程序吧. 搞个简单的socket程序玩玩.
[B]有时间编译内核玩玩, 然后是安装什么声卡/显卡之类的, 折腾两天.
[C]有空配置个samba玩玩, 还有squid, 再搞些比较流行的东西编译编译.
[D]...... 
[ctrl-d]
 
>  很抱歉地打扰你。我只是个业余的计算机爱好者,想学点东西加深对 
>  计算机的理解,特别是网络。本来想通过学LINUX来达到这一点,但是 
>  折腾拉好长时间还是没什么进展,因为不知道该从何处开始和该怎么样 
>  循序渐进,从而用较少的时间尽可能多的学点东西//是不是在做梦? 
>  不知道你能不能给些具体的建议? 
有网友给我来信,又看到了班竹发的文章觉得非常好.下面是我的一点建议
,浅陋之处,欢迎指正.下面是我的回信,有修改.

首先,我恭喜你选择了linux,因为选择了linux就是学习成功的一半。
其次,我也是个计算机业余爱好者。不过,经过一定时间的摸索。
        我觉得可能,如下的建议对你有用。
        1。不需要频繁的装各种类型的dist,精通一个dist就行了。
           如果学redhat,应该着重掌握它得命令封装。然后其它的各个地方
           不同的dist是一样的。例如:网络的配置,redhat需要改几个文件.
其实,根本上子要掌握ifconfig,route就能在任何dist上配置网络.
       2。要学好英语,因为,随机文档是最好的老师。 
          尽量的多用info $command,不要养成对中文的依赖。
       3。精通c语言。
         这种精通并不是对语言结构的精通;它应该是对linux下的系统调用
和glibc的精通.

        有上面的三部分的基础后,你应该会用各种命令,有自己学习能力。
        那么,你可以继续下面的工作。
       4。请买w.r.stevens的书,即apue,unp,tcp/ip v1,2,3,似乎都有中文版。
                                 ~~~~~~~~~~~~~~~~~~?2,3还没有看到。
           apue应用c在linux下编程,tcp/ip v1,2,3解释tcp/ip协议组
          unp是网络具体编程 
         (btw:stevens书写的好,程序也编的好)
       5.请加入某一个项目开发小组,和高手们一起进步
         比如校内的gnosis,校外的aka站点下的项目.
       6.阅读源码
         流行的是lisoleg项目,其实其他的应用软件的源码阅读可能更重要.

       7.自己独立开发某一个项目
         那就恭喜了,你已经是个高手了.到时候,别忘了叫我参加. 
     上面总的学习流程大概如下
1------\          |5
2------ |--->4--->|----->7
3------/          |6
     
     学习网络编程,我觉得对我而言,英语是最大的障碍.
     总之,个人情况之不同,学习可能有不同的地方
 
     希望上面的建议对你有用.
                   希望大家一起交流,进步.
 

 原文地址
阅读(433) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~