UNI学习指南.docx
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.shellsed/awkshell是命令解释器,是内核与用户界面交流通道,shell写小脚本有点类似于win下.bat但shell比.bat强大多,shell不只是解释命令,更是一种编程语言,有时候几百行c用shell几十行就能代替完成工作,因为shell工作方式建立在系统已有众多应用程序之上这也是CS中一个重要思想。此外,shell可以实现工作自动化,这个概念也比较重要sed,awk用来处理文本,历来很常用3.Perl/PHP漂亮脚本, CGI首选,比ASP好,应用面很广4.CC+C、C+是linux/unix核心语言,系统代码都是C写5.ASM系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要/走核心路线话,个人认为cc+,asm最重要6.Java,Python,Tcl,XML*系统管理篇在熟悉linux基础上还需要掌握至少一种unix我首推Solaris,其次是FreeBSD比如运营级系统一般是Solaris+Oracle/DB2之类学习apache,ssh,sendmail/Qmail,pro等各种应用服务器构架及电子商务应用熟悉TCP/IP协议族,学习诸如apache+php+pro实现以及大型局域网,分布式集群等各种企业级应用解决方案熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上防火墙构架等以保障系统安全在内各种系统管理技能我觉得,如果在此基础上再掌握路由/交换设备便是一个不错系统管理员 :D各种基于linux解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内搜索引擎寻找最新文档,以避免错误和漏洞有几本技术大全和技术内幕我认为都是这方面不错书*深入学习linux我个人理解读linux内核需要基础:在此之前,希望先把应用层东西学一下,那样会比较好理解1.C如果学过潭浩强大学教科书(除了编几个数学模型好像什么也做不了那种),建议再看一下The C Programming LanguageSecond Edition这本圣经/*如果想学缓冲区溢出,这点C功力可能是不够*/还有,<C陷阱与缺陷>,<C专家编程>,<CC+深层探索>反正经典书看多了是没有坏处:)2.asm (AT&T语法,保护模式)保护模式下比较复杂,基本上每本讲内核书都会有介绍有80x86 Intel语法基础就行,有兴趣可以看看Intel官方白皮书3.数据结构(离散数学)计算机专业核心课程,重要性我就不说了4.操作系统原理看懂这个再去读linux吧5.微机原理/组成原理(数字电路)底层直接和硬件打交道,所以这个也要6.了解linux/unix我想至少你要会操作吧,了解unixAPI7.软件工程/编译原理这方面经典书去可以搜到很多我觉得APUE这种书不适合初学者,还是先看看UPE之类吧APUE:advanced programming in the unix environmentunix环境高级编程作者:W.Richard.Stevens共有6本经典书,尊为“圣经”他书为全世界黑客所拜读!UPE:unix programming environmentunix编程环境比较适合初学者,深入浅出,其中有一些比较重要思想另外,介绍linux下应用层编程书也有很多,比如<GNULinux编程指南>,redhat,redflag出书.经典书还有很多很多.操作系统:设计与实现 /交大考研参考书目,讲Minixunix操作系统设计4.4BSD操作系统设计与实现昂莱氏unix源代码分析ulk:understanding the linux kernel (2nd)深入理解linux内核linux设备驱动程序 (2nd)linux内核源代码情景分析保护方式下80386及其编程(次书已绝版,只有超星电子版,如果谁能搞到纸书,清一定告诉我一下,非常感激!)在这里你能明白"黑客"及"haching"一词所代表真正意义希望我写这篇文章能造就更多黑客,而不是骇客五.一些资源 /国内最高水平GNU站点 /unix、系统管理不错 /下载软件不错其实还有很多,包括国外以上内容是转载别人这些是关于linux至于嵌入式学习,需要很高深硬件知识对编程和系统移植有很深认识才行嵌入式是一种包括了DSP及arm等最小系统板统称其结构也各不相同,有些是传统冯诺依曼结构,在DSP领域大部分用是改进哈佛结构学嵌入式一定要学linux,这个是很关键环节<<unix环境高级编程>> 是linux,和Unix圣经,大师作品,好得无法形容。<<莱昂氏UNIX源代码分析>> 了解核心如何工作。还有<<Linux内核0.11分析>>。你在网上到处都能找到。网站,都是我常去: