我现在已经推迟了一段时间.帮助我额外推动.
解决方法
主要的桌面发行版是Ubuntu和Fedora.这些都是功能强大的系统,但在用户空间体系结构上有所不同桌面环境的工具和系统安全的默认配置在Ubuntu上的工作方式与在大多数其他Linux或Unix版本上的工作方式略有不同但这个与发展无关.从用户的角度来看,这些都是一个良好的开端.
从开发人员的角度来看,Unix和Linux的所有现代风格都非常相似,并且基本上共享相同的开发人员工具链.如果您想从程序员的角度了解系统,那么选择起来相对较少.
大多数unix编程都可以通过程序员的编辑器(例如vim或emacs,)非常有效地完成,这两种编辑器都有文本模式和窗口风格.这些编辑器非常强大,并且具有相当古怪的用户界面 – 用户界面是常用的,但却极大地促进了工具的强大功能.如果您对这些工具不满意,this posting讨论了几种其他编辑器,这些编辑器提供了更接近常见Windows工具的用户体验.
有一些IDE,例如Eclipse,可能对Windows / Visual Studio上的人更感兴趣.
Stackoverflow上讨论linux / unix资源的一些帖子是:
> What are good linux-unix books for an advancing user
> What are some good resources for learning C beyond K&R
> Resources for learning C program design
如果你有时间并想要真正参观螺母和螺栓Linux From Scratch是一个教程,通过手工构建Linux安装.这是一个深入学习的好方法.
对于编程,请了解K& R中的C / unix以及上面链接的问题中提到的一些资源.相当于Unix世界中的Petzold,Prosise和Richter是W Richard Stevens的Advanced Programming in the Unix Environment和Unix Network Programming vol. 1 and 2.
学习Perl或Python等动态语言之一,如果您还不熟悉这些语言,也是很有用的.作为奖励,你可以从Activestate获得上述两个好的Windows端口,这意味着这些技能在两个平台上都很有用.
如果您正在使用C,请查看QT.这可以说是市场上最好的跨平台GUI工具包,并且(再次)具有可转移回Windows的技能集和工具链的优势.关于这个问题还有several good books(作为奖励)它也是works well with Python.
最后,Cygwin是一个在Windows上运行的unix仿真层,它提供了基本类似unix的环境.在架构上,Cygwin是glibc的一个端口,而crt(GNU工具链的基础库)作为Win32之上的适配器.这个仿真层可以很容易地将unix / linux应用程序移植到Cygwin上.该平台附带了一套完整的软件 – 本质上是一个托管在Windows内核上的完整Linux发行版.它允许您在Windows上以类似unix的方式工作,而无需维护单独的操作系统安装.如果您不想运行VM,多个启动或多台PC,它可能是一种简化为unix的方法.