学习Linux不妨先从介绍UNIX的学习视频入手。Unix/Linux的系统设计是层次化模块化的,各个模块各司其职,之间的接口或协议清晰明了,简洁高效。基本的Unix/Linux包含组件:内核,函数库(标准C库等),系统守护进程(init,cron,syslog等),UNIX工具程序(bash,grep,ps,find等等),基本数据文件和目录(/etc/*,/dev/*,/var/*等)。用户可以对组件根据自己需要进行删减,扩充,定制。一旦掌握基本框架和工具,以后开发学习便会游刃有余;所以学习时应该逐步搞清系统由哪些模块组成,它们在系统什么位置,如何和系统其它部分交互。另外,学习编程时,对于每个API,最好思考:它是内核系统调用还是库函数,它可能会使用哪些系统资源文件,如果是库函数它可能使用那些系统调用。
X-Window:这是Unix/Linux上的基本窗口系统,可选,例如很多服务器没有连显示器键盘,不运行X-Window或其它任何图形系统。X-Window是服务客户模式,包含一个系统守护进程X,和应用程序用X协议通讯,也是遵循Unix的模块化层次化设计理念。几乎所有Linux发行版的桌面环境(Gnome,KDE,Xfce,LXDE,Cinnamon等)都是建立在它之上。由于最底层的X协议只定义基本图形操作和键盘鼠标事件,而窗口管理器又是独立模块,所以X-window有个优点是不对窗口式样做任何限定,理论上,你可以用X-window打造或模拟出世界上任何一款桌面样式,甚至如Windows或OSX。如果题主要开发GUI程序,那么X-Window是必备知识,否则,可能没必要了解太多,使用Linux桌面程序的话和使用Windows程序没啥区别,不需要知道X-window的具体细节。
内核:一开始入门不建议学内核,因为内核复杂,学习起来需要相当的基础。可以先读一下AndrewS.Tanenbaum的ModernOperatingSystems,里面有Linux内核的较详细介绍。实际上,学完操作系统内核的一般原理,Linux内核便自然而然水到渠成,因为很多情况下Linux内核是这些原理最自然简洁的一种实现。北美大学的OS课程基本以Linux做范本。
安装使用Linux:学习Linux主要用C编程。对于学习Linux的基本原理和设计思想,环境可以很基本很简单:终端+编译工具(gcc,make)+调试器(gdb)+编辑器(vim,emacs)。不建议在Windows下用硬盘共享方式用VS之类的编辑Linux程序。对于技术人员,Linux是最好用最直观的系统,并且提供了强大的开发环境。题主可以根据自己情况,装一个Linux虚拟机,或者最好是独立启动的Linux桌面版。我用的是Xubuntu,就是使用Xfce桌面的Ubuntu,简洁稳定速度快,安装使用都很简单。即使对新手和普通用户来说,Linux也不一定就不适合,像Ubuntu系列就很容易上手,能自动识别绝大多数硬件,装好就能用。
说一下C的开发和编辑器:学习Unix/Linux离不开C编程,内核本身用C写成,内核API接口是C接口,UNIX编程教科书全部用C,C可以认为是汇编语言的精简和抽象。写C的话建议用Emacs(或者Vim)。它不光是编辑器,除了强大的编辑功能,还可以调gcc或make进行编译,自动在程序窗口中定位并显示编译错误,可以调gdb,自动打开调试窗口并在程序窗口中定位当前行,就是一个终端下的IDE(可能弱些,不能自动补齐API参数之类的)。这些对于学习开发命令行程序足够。按照标准vim或emacs教程,别用鼠标,以及键盘方向键以及Home,PgDown,PgUp键等,只用字母数字符号和Ctrl,Shift,Alt键(键盘基本部分)操作。好处:快捷键一旦熟练后形成条件反射,你会感觉无比的省力和轻松。而大部分图形IDE的键盘+鼠标编辑模式实在太累。我写J2EE时就遗憾Eclipse下的emacs模式十分不好用。其它编程语言要看具体情况用什么IDE,如javascript推荐用webstorm。
总结,学Linux是循序渐进的,一开始可能不识庐山真面目,没关系,先掌握能掌握的,系统各个部分会慢慢从迷雾中浮现,不用太纠结旁门左道和细枝末节,否则会迷失方向。一步步,Linux系统就会在你面前越来越清晰明了。
Java学习视频入门到精通
最新java视频教程免费下载(从入门到精通):http://www.bjpowernode.com/video.html
零基础java自学教程:http://www.bjpowernode.com/tutorial_java_se/
以上就是动力节点java学院小编针对“Java开发者入门学习linux”的内容进行的回答,希望对大家有所帮助,如果对于学习Java的学习计划,怎么学才有效率,或者学完如果找工作的问题,请在线咨询,有专业老师随时为你服务。
相关推荐
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习