您的位置:首页 > 运维架构 > Linux

在Windows上打造出自己的Linux开发环境

2016-12-10 23:02 429 查看
PS:最新版的win10内嵌了Linux子系统,默认是关闭的,在这个Linux子系统上能跑一些bash东西,至于具体到什么程度,还请自己去探索,这里不作讨论,我用的是win7.

先说个前提吧,就是我用的是win7,硬盘快满了,不想装VM,不想装Linux双系统,不想租服务器,但是又想在自己win7上运行一些简单不复杂的Linux命令,怎么办?网上一搜,早有大神想过这问题了。我就梳理一番:

相关软件:secureCRT、putty、xshell、rxvt、ConEmu、git for windows(msysgit)、git bash、msys、Cygwin、gow、msys2、MinTTY、cmder、babun、powershell等等。

至于Windows的cmd,基本是个废物,powershell也比它好(win7后Windows自带powershell,后面再具体说),但都是对于window的。

首先说的是Cygwin:

Cygwin是一个在Windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。

Cygwin 提供一个UNIX 模拟 DLL
以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin主要由Red Hat及其下属社区负责维护。

Cygwin是运行于Windows平台的POSIX“子系统”,提供Windows下的类Unix环境,并提供将部分 Linux 应用“移植”到Windows平台的开发环境的一套软件。

单单安装一个Cygwin就能运行Linux命令了,只是Cygwin的界面和一些操作不太友好并且运行慢,还有就是Cygwin动辄就能达到上百兆,据说在线安装很慢。

Gow:
      Cygwin的轻量级代替品——Gow(Gnu on Windows)它能做的事情是给Liunx软件提供一个Windows系统上的运行环境,它跟传统的具有相同功能的Cygwin软件比起来的特点是体积小,Cygwin动辄能达到上百兆,而它的体积不到10MB,但里面却集成了Liunx环境下130多种实用工具软件。

      这个软件跟Cygwin比起来还有个特点,安装了它后,当你点击文件夹右键时,会看到右键菜单里多了一个快捷键,点击这个快捷键(Command
Prompt Here),你就会在当前文件路径下打开一个命令行窗口(注意:是Windows的命令行窗口,不是Linux的shell窗口),在这个窗口里,你既可以使用DOS命令,也可以使用Liunx命令,比如:你既可以输入“dir”命令来查看目录结构,也可以输入“ls”
命令查看,效果是一样的。(遗憾的是,ls命令好像是不能正常的显示中文)。

      


        单单安装一个Gow能运行简单的Linux命令了,很小很强大。

msys:

            Minimal
GNU(POSIX)system on Windows,是一个小型的GNU环境,是MinGW的一部分,包括基本的bash,make等等,与Cygwin大致相当。是Windows下最优秀的GNU环境。(是否厌倦了Cygwin蜗牛般的shell环境,试试MSYS中的rxvt)。大小不到3M,但不如gow强大。

 
          单单安装一个msys能运行简单的Linux命令了。可以msys+ConEmu配合使用。

msys2:

 
         MSYS2 是MSYS的一个升级版,准确的说是集成了pacmanMingw-w64的Cygwin升级版,
提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64
工具链。与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(其实是与Cygwin的区别)。大小50+M。

 
        单单安装一个msys2能运行简单的Linux命令了。可以msys2+ConEmu配合使用。

 
        很多人用msys2代替Cygwin,因为它比Cygwin好用很多,其中一个原因是msys2使用从archlinux移植过来的pacman,功能完整,使用方便。

git for windows:

             git for windows 又叫 msysgit,是git 在windows下的版本控制软件,可以运行简单的Linux命令,包含了git bash。对于本文来说,重要的是git bash。

git bash:

              基于msys GNU环境,用于管理git,可以运行简单的Linux命令,在git for windows里面,大小十多M。

ConEmu:

 
        ConEmu是一款免费的DOS系统仿真器,体积小巧,界面清爽,支持多标签操作,兼容dos原有的指令。大小就2M多,但是ConEmu真的很强大,关键是提供多标签支持。它可以选择各种字体,有丰富的色调等丰富的自定义选项,还有很多便利操作。ConEmu自带Clink。

powershell:

 
        powershell即Windows powershell,是一款基于对象的shell, 建立在.Net框架之上,是DOS命令的扩充,是cmd.exe的增强版。

 
    powershell和Linux命令没什么关系,这里就拿出来说明下。

secureCRT、Xshell、putty:

 
    这三个都是终端模拟软件,即虚拟终端,用于远程连接登录Linux的,其中很多视频教程或培训机构用的是secureCRT。secureCRT是收费的,大小20多M;Xshell有个人免费版的,大小20多M;putty是完全免费的,仅仅300k左右,其中最好用的是Xshell。但是前面说了是在win7下的,没装VM,没装Linux系统也没租Linux服务器。怎么办?

 
    可以用secureCRT+Cygwin,用secureCRT登录Cygwin来使用。同样的,可以Xshell+Cygwin,putty+Cygwin。

 
    前面说了Gow是Cygwin的轻量级代替版,同样可以secureCRT+Gow,Xshell+Gow来用。注意的是Gow集成了putty。

 
    也可以secureCRT+msys2 ,Xshell+msys2,secureCRT+msys等这样用。

 
    这个时候,不要忽略了一个工具:ConEmu。它支持多窗口和丰富的自定义选项。所以在前面是虚拟终端+类Unix环境的组合下可以加个ConEmu。

 
    比如:secureCRT+Cygwin+ConEmu。

 
    (提到组合来使用的,别忘了也可以gow+ConEmu来配合使用)

MinTTY:

 
    MinTTY是一个Cygwin和MSYS的虚拟终端,大小100k左右。在使用setup.exe安装Cygwin时,它被作为默认终端。在使用MSYS时,可以使用mingw-get install MinTTY来安装MinTTY。MinTTY基于PuTTY的源代码。MinTTY直接和Cygwin/MSYS捆绑在一起而不是像PuTTY一样需要联网支持。

rxvt:

 
    rxvt即ouR eXtended Virtual Terminal,是X Window系统下一个很优秀的终端模拟器。作为标准的xterm终端的替代品, 它很流行。

 
    rxvt是MSYS的默认虚拟终端。像MinTTY一样,它也支持命令行参数设定。

下面,神器来了:

 
   Cmder:


            Cmder官网http://cmder.net/(她把conemu,msysgit和clink打包在一起,让你无需配置就能使用一个真正干净的Linux终端!她甚至还附带了漂亮的monokai配色主题。)cmder作为一个压缩档的存在, 可即压即用, 不用安装。

          下载的时候,有两个版本,分别是mini与full版;唯一的差别在于有没有内建msysgit工具,这是Git for Windows的标准配备;mini版才5M多,full版cmder自带了msysgit, 压缩包几十M, 除了git本身这个命令之外, 里面可以使用大量的 linux 命令;比如 grep, curl(没有 wget); 像vim, grep, tar, unzip, ssh, ls,
bash, perl 对于爱折腾的Coder更是痛点需求。(有curl和perl等)

          要运行Linux命令,当然要下full版的!

          full版的元件:msysgit、ConEmu和Clink;mini版则没有msysgit,但也足够能替代cmd了。

          我现在用的就是cmder,真是很好用。另外,下载解压后,通过简单的配置可以让cmder用起来更酷!(虽然解压且不用配置就能用了)

          让cmder更加强大:完整版cmder+gow或迷你版cmder+gow.

          因为gow上有很多小工具cmder没有的,可以互补,比如wget等。

Babun:

         
一个 Windows 上的开箱即用的壳程序,基于 Cygwin,胜于 Cygwin。官网:https://babun.github.io/

          babun特点:

          预先配置好的 Cygwin 以及一系列插件;   

          pact:一个类似于 apt-get 或 yum 的包管理器;     

          预先配置好的 git 和 shell; 集成oh-my-zsh,vim;   

          默认终端是mintty;   

 
        内置了 Python、Perl 等解释器;

 
        有wget、curl等。

 
        大小接近300M,真的很强大好用。

 
        让babun更加强大:babun+ConEmu.

 
        安装也非常简单。

小结:

 
        cmder和babun两大神器都很好很强大。cmder较小、babun较大,并且集成的工具也不完全一样。选择哪个,看自己需要和喜欢吧。

总结:

 
     类UNIX模拟环境软件的大小:

 
     msys<gow<git bash<msys2<Cygwin<Cmder<babun

 
     (msys不到3M,gow不到10M,git bash不到20M,msys2不到60M,Cygwin100M左右,Cmder完整版解压200M多点,babun300多M)

 
       (上面7个中标记粉红色的就是推荐用的,没标记的,尤其Cygwin单独软件,不推荐用咯。等等,好像msys是GNU环境,和类UNIX环境有什么不同?不管了)

 
     如果单独的软件不能够满足需求的话,可以组合来用,也别忘了强大的ConEmu。

 
    (好像msysgit和git for windows不太一样?但是在本文来说这不相关不重要~)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息