当前位置:IT快活林→网上冲浪工具软件

浅谈linux的学习

作者:本站整理   发布时间:2008-9-4 13:03:58


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