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动辄就能达到上百兆,据说在线安装很慢。
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的一个升级版,准确的说是集成了pacman和Mingw-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
(msys不到3M,gow不到10M,git bash不到20M,msys2不到60M,Cygwin100M左右,Cmder完整版解压200M多点,babun300多M)
(上面7个中标记粉红色的就是推荐用的,没标记的,尤其Cygwin单独软件,不推荐用咯。等等,好像msys是GNU环境,和类UNIX环境有什么不同?不管了)
如果单独的软件不能够满足需求的话,可以组合来用,也别忘了强大的ConEmu。
(好像msysgit和git for windows不太一样?但是在本文来说这不相关不重要~)