首页 电脑 电脑学堂 查看内容

谈谈怎样“学” linux

2011-6-7 10:42 515 0

摘要:   近来来看到不少帖子,都是关于怎么学习linux。有什么好的方法,有什么好的书籍,有什么好的视屏等等。  个人感觉要凭兴趣,以及坚持的心态! 并不是说有什么好的方法,以及书籍和视频就能够学的好的! ...
关键词: linux 系统 学习 英文 shell 很多 redhat 内核 不错 以及

  近来来看到不少帖子,都是关于怎么学习linux。有什么好的方法,有什么好的书籍,有什么好的视屏等等。  个人感觉要凭兴趣,以及坚持的心态! 并不是说有什么好的方法,以及书籍和视频就能够学的好的! 书籍和视频网站上很多,有了这些也不等于就学了好的!我承认我也追捧过这些,自己硬盘里也有很多电子书籍以及视频教程。也买了不少的书籍,但是,也都不是样样都看完,研究完的,学习重于消化和理解…………  引用:  在论坛看了“shu51”转发的“浅谈如何学习Linux”一帖:  http://bbs.51cto.com/thread-831147-1.html  个人觉得写的不错,但是关于怎么样学习linux 的文章也太多了,大家都可以搜索看看。这篇文章我就整理转载到linux板块,供大家看看,也理解理解。找到合适自己的学习定位!!!!!  引用:  一.为什么要学linux?  当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!  引用:  二.起步  你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix  问题1:版本的选择  北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux  开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看  无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。  对于初学linux的人来说,我建议是使用redhat,原因如下:  1)现在很多书都是以redhat为例讲的,为了与书本协调一致  2)周围的人都用redhat,交流比较方便  3)redhat应用范围广,有典型性和代表性  4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上  而应集中精力学习最有用的东西。  //注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,  Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮  如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到  linux上这种需要,那么中软,红旗等中文linux是不错的选择  我强烈建议:自己亲自动手把linux装到你的硬盘上,  你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单  从此现在开始,请不要以windows的工作方式来考虑问题,  应该尝试挖掘linux身上的“天才unix”的气质。  引用:  三.进阶  掌握至少50个以上的常用命令  理解shell管道"|",文件流重定向">"及追加">>"等  熟悉Gnome/KDE等X-windows桌面环境操作  掌握.tgz.rpm.biz等软件包的常用安装方法  学习添加外设,安装设备驱动程序(比如modem)  熟悉Grub/Lilo引导器及简单的修复操作  熟悉系统固有目录的名称及公用  学会用mount命令访问其他文件系统  了解vi,gcc,gdb等常用编辑器,编译器,调试器  学习linux环境下的简单组网  建议:买一本不需要太厚的linux教材,大致可以满足要求  //现在的书越来越多了,还带很多图,我当时可没这么多书:)  引用:  四.高级应用  澄清一些概念:  linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识  我个人认为比较重要几种linux语言  1.英语  即使你不学linux,我也强烈建议你学好英文[U.S.english]  因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装  你必须能无障碍的阅读大量的英文技术文档  在搜索引擎找到的英文网站和网页中熟练的检索  最好能有用英文直接交流的能力,  摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距  2.shell[sed/awk]  shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat  但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell  几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上  这也是CS中的一个重要思想。  此外,shell可以实现工作自动化,这个概念也比较重要  sed,awk用来处理文本,历来很常用  3.Perl/PHP  漂亮的脚本, CGI的首选,比ASP好,应用面很广  4.C\C++  C、C++是linux/unix的核心语言,系统代码都是C写的  5.ASM  系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要  //走核心路线的话,才c\c++,asm最重要  6.Java,Python,Tcl,XML  引用:  *系统管理篇  在熟悉linux的基础上还需要掌握至少一种unix  我首推Solaris,其次是FreeBSD  比如运营级系统一般是Solaris+Oracle/DB2之类的  学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind  等各种应用服务器的构架及电子商务的应用  熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群  等各种企业级应用解决方案  熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复  系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能  我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员  各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内  搜索引擎寻找最新文档,以避免错误和漏洞  有几本技术大全和技术内幕我认为都是这方面不错的书  引用:  *深入学习linux  我个人理解的读linux内核需要的基础:  在此之前,希望先把应用层的东西学一下,那样会比较好理解  1.C  如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),  建议再看一下  《The C Programming Language》Second Edition这本圣经  /*如果想学缓冲区溢出,这点C的功力可能是不够的*/  还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索>  反正经典书看多了是没有坏处的  2.asm (AT&T语法,保护模式)  保护模式下的比较复杂,基本上每本讲内核的书都会有介绍  有80x86 Intel语法的基础就行,  有兴趣可以看看Intel的官方****  3.数据结构(离散数学)  计算机专业的核心课程,重要性我就不说了  4.操作系统原理  看懂这个再去读linux吧  5.微机原理/组成原理(数字电路)  底层直接和硬件打交道,所以这个也要  6.了解linux/unix  我想至少你要会操作吧,了解unix的API  7.软件工程/编译原理  这方面的经典书去网上可以搜到很多  我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧  大家借鉴一下,祝大家在遨游linux 的世界里更上一层楼!
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部