如何在Windows上花费超过10年后迁移到* nix平台? 哪种味道会容易处理,使我更舒适,然后也许我可以切换到更多stadard *尼克斯风味? 我一直在推迟一段时间。 帮助我额外的推动。
Linux是最容易访问的,并且具有最成熟的桌面功能。 BSD ( 各种 口味 )的用户空间更少,在基本层面上更容易理解。 在这方面,它比传统的Linux发行版更像传统的Unix。 有些人可能认为这是一件好事(从某些角度来看),但对于熟悉Windows的人来说,这会变得更加陌生。
主要的桌面分布是Ubuntu和Fedora。 这些都是有能力的系统,但在其用户空间体系结构上有所不同。在桌面环境的工具和系统安全性的默认配置在Ubuntu上与在大多数其他Linux或Unix平台上的工作方式有所不同,但是这与开发无关。 从用户角度来看,这些都是一个好的开始。
从开发人员的角度来看,Unix和Linux的所有现代风格非常相似,共享本质上相同的开发工具链。 如果你想从程序员的角度来了解这个系统,可以选择的东西相对较少。
大部分的unix编程都可以用vim或emacs这样的程序员编辑器来完成,而这两者都是文本模式和窗口风格。 这些编辑器功能非常强大,而且具有相当古怪的用户界面 – 用户界面是通用的,但是对这些工具的功能起着重要的作用。 如果您对这些工具不太熟悉, 本文将讨论几种其他编辑器,它们提供的用户体验更接近常见的Windows工具。
有几个IDE,比如Eclipse ,可能会对Windows / Visual Studio有兴趣。
讨论linux / unix资源的Stackoverflow上的一些帖子是:
推进用户的好的linux-unix书籍是什么?
学习C超越K&R有什么好的资源
学习C程序设计的资源
如果你有时间并且想要做一个真正的细节介绍, Linux From Scratch是一个手工构建Linux安装的教程。 这是深入学习的好方法。
对于编程,感受K&R的C / unix和上面链接问题中提到的一些资源。 在Unix世界中,Petzold,Prosise和Richter相当于W Richard Stevens 在Unix环境和Unix网络编程 中的高级编程 。 1 和2。
学习诸如Perl或Python之类的动态语言,如果您还不熟悉这些语言,也是一件有用的事情。 作为奖励,您可以从ActiveState获得上述两个良好的Windows端口,这意味着这些技能在两个平台上都很有用。
如果你使用C ++,请看看QT。 这可以说是市场上最好的跨平台GUI工具包,并且(又)具有可转移回Windows的技能集和工具链的好处。 也有好几 本关于这个主题的好书 ,(作为一个奖励),它也适用于Python。
最后, Cygwin是一个在Windows上运行的unix仿真层,并且提供了基本类似unix的环境。 在体系结构上,Cygwin是glibc和crt(GNU工具链的基本库)的端口,作为Win32之上的适配器。 这个仿真层使得将unix / linux应用程序移植到Cygwin上非常简单。 该平台带有一套相当完整的软件 – 基本上是一个Windows内核上托管的完整的Linux发行版。 它允许您在Windows上以类似unix的方式工作,而无需维护单独的操作系统安装。 如果你不想运行虚拟机,多个启动或多台PC,它可能是一种简化为unix的方式。
Ubuntu很好地平衡了用户友好的桌面,但有潜力建立一个功能齐全的编程环境。
我会建议尝试使用虚拟机 – 在尝试几个主要的发行版之前,没有理由放弃当前的设置。 VMware和其他公司提供各种各样的服务器和桌面版本。
我想这也取决于你所熟悉的编程语言。
如果你过去使用过C#,那么你可以通过运行Mono来看待这些知识,或者看看使用Java(这在语法上非常相似)。 无论哪种方式,Linux将是好事。
我个人建议你看看Mac的OS X.它是一个基于Unix BSD的操作系统,但是在顶部有一个非常漂亮的用户界面。 对我来说,这感觉就像Windows和Unix世界的最好的一样。
我做了所有的unix开发,部署到Ubuntu服务器上。 如果你看一下Mac,那么一定要看看MacPorts项目,该项目打包了大量的开源unix / linux软件,使编程工具的安装非常容易。
Ubuntu似乎是非常用户友好的,并在论坛等有很多具体的信息,所以支持明智,你会被覆盖。
我经历了从windows到ubuntu的转变,你可以在windows下以图形的方式完成相同的工作(也许有些例外),还有更多。 精通电脑的人不应该有任何问题。
但是,如果您熟悉基本的shell命令(您将需要它们作为程序员! 有些和窗户上的一样,但是特别是ls(dir)有时让我为了“那个命令又是什么”而绞尽脑汁,反之亦然。 花一些时间来尝试一下。 (例如:pwd,ls,mv,rm,ps,kill)
最后,在安装程序的时候,一个简单的“sudo apt-get install X”会为你做所有的工作,甚至比我找到的windows installer可执行文件更友好。
编辑:你可能想尝试一个VMware播放器,并尝试一些Linux发行版,在安装双启动之前播放。
获取一个macbook pro。 OSX是unix的最流畅的味道,笔记本电脑应该给你你需要的推动。
然后当你感觉更自信的时候,你可以决定是否要花大部分时间来配置你的声卡,运行./autoconfigure && make,调试软件包管理器。
你可以在你的机器上运行的任何现代版本的Unix(或Linux)都可以。
以下是我会考虑的:
init
。 这主要是一件好事,但如果你想学习Unix,可能不是你所需要的。 事实上,我会考虑运行其中的至少几个,大多数运行良好的虚拟机。 关于Unix的好处和坏处之一是标准化比许多细节更重要。 没有Visual Studio,没有C#(我的意思是没有规范的高级语言,我知道Mono)。
优秀的答案。 几点意见:
几乎所有的发行版都支持LiveCD,让你在安装之前尝试。 人们提到VMWare和VirtualBox,也注意到Ubuntu的WUBI安装程序允许你在Windows下安装Linux而不需要重新分区; 非常好; 我第一次使用它时,我第一次切换到我的64位系统,因为我不知道驱动程序支持是多么好。 不过,Ubuntu 9.04在64位上表现很好。 另外,由于Ubuntu非常流行,版本也很多,所以Kubuntu使用KDE代替Gnome,Mint和Xubuntu都是轻量级的。
从Windows转换时,预计会并排运行一段时间。 Cygwin为习惯于bash的人们提供了一些很好的可下载的手册,以及针对Windows用户的关于* nix如何工作的基本信息。 有很多有用的网站; Ubuntu社区论坛为初学者和高级学习者提供了大量的信息。
为了习惯在Linux下开发,请检查Linux文档项目。 除了KDevelop之外,还有Anjuta,Eclipse等等。 有些是轻的,有些是重量级的。
有一件事情可以缓解这种转变,就是使用在两个操作系统上运行的软件。 Firefox,Thunderbird,OpenOffice,Subversion以及数百甚至数千人在Linux和Windows上运行良好。 只需很少的努力,您就可以使用相同的文件夹进行应用程序设置和数据。 Firefox和Thunderbird可以很容易地在NTFS分区上使用相同的文件夹/文件。 使双启动更容易。 说明在Ubuntu社区网站和其他地方。
请注意,一些Linux软件不是NTFS友好的; 在Linux中保持您的Subversion工作文件夹在本地分区上。
一个告诫分享应用程序设置; 一些应用程序存储绝对路径 作为解决方法,您可以创建看起来像Windows驱动器号的符号链接。
在熟悉Linux之后,分支并尝试非Windows应用程序和工具。 有时候不同更好。 很多人使用Emacs和Vim的原因很多。
尝试Kubuntu作为发行版,Kdevelop和Qt开始编程,这都是非常文明的。
如果你想要这样做的话,Kate是个不错的记事本式的文本编辑器,但是我不明白为什么要使用Vi或Emacs,除了使用一些非常神秘的东西。