最近有朋友问我,想在Windows上跑一些Linux命令,又不想装虚拟机折腾双系统,有没有简单点的办法。我第一反应就是Cygwin。这东西说白了就是在Windows里给你模拟出一套类Unix环境,gcc、make、ssh、grep这些常用工具都能用,装完打开终端敲命令的感觉跟Linux差不多。不过说实话,第一次装Cygwin的人十有八九会在选择组件那一步卡住,界面全是英文,包名一大堆,不知道哪个该勾。这篇就把我自己装了好几遍的经验捋一遍,从下载到配置一步步来,新手照着做基本不会翻车。

先搞清楚Cygwin到底是个啥
很多人把Cygwin当成Linux模拟器,其实不太准确。它本质是一套DLL动态链接库,把Linux的系统调用翻译成Windows能懂的调用,所以你在里面编译的程序是真正跑在Windows上的。好处是不用分区不用重启,坏处是它跟原生Linux还是有差别,个别依赖内核特性的软件跑不起来。但对新手学命令、写写脚本、编译点小项目来说完全够用。我平时用它最多的场景就是ssh连服务器、用git、跑点shell脚本,比开虚拟机省事多了。
下载安装包别乱找,认准官网
搜Cygwin下载能出来一堆第三方站点,建议直接去官网cygwin.com,点setup-x86_64.exe那个安装程序。这里提醒一句,这个exe是个引导程序,真正的组件是安装过程中从镜像站现下的,所以安装时得联网。我第一次装的时候以为下载完就完事了,结果断网装到一半直接失败,白折腾。安装程序建议放一个固定文件夹,以后加装组件还得用它。

安装过程里最容易懵的两步
一路下一步到选择安装目录和本地包缓存目录,这两个路径别带中文和空格,我吃过亏,路径里有空格后面编译老报错。接下来是选镜像源,列表里找国内的教育网或者阿里、清华的镜像,速度会快很多,不然默认国外源下组件能等到睡着。然后就是最关键的选择组件界面,默认是Default状态,意思只装最基础的。新手不用全勾,但有几个建议手动加上:gcc、g++、make编译用,openssh远程连接用,vim编辑文件用,还有wget、curl下载用。在搜索框输入包名,点一下Skip那个位置变成版本号就代表选中了。
装完先做几个基础配置
装好打开Cygwin终端,第一件事建议改一下主目录映射,默认在home下面,用起来别扭。可以编辑/etc/passwd或者直接用启动参数,把HOME指到你常用的目录。然后是中文乱码问题,终端里ls看到中文文件名是问号,在选项里把编码设成UTF-8基本能解决。还有个别命令找不到,多半是组件没装,重新跑一遍setup程序补装就行,不用重装整个环境,这点挺人性化。

新手常踩的几个坑
说几个我实际遇到的。一是路径问题,Cygwin里访问C盘是/cygdrive/c,不是C:,写脚本的时候容易搞混。二是权限,有些操作提示Permission denied,试试用管理员身份启动终端。三是装组件时网络中断,安装程序会留下半成品,重新运行选同样目录它会续上,别急着删。四是别把Cygwin装的程序和Windows原生程序混着调,环境变量容易打架。这些问题看着琐碎,但新手卡住基本都在这几个点上。

日常用起来的小建议
环境搭好之后,建议把常用命令alias一下,比如ll、la这些,省得每次敲一长串。终端配色和字体也可以调,看着舒服才愿意多用。另外Cygwin安装配置不是一劳永逸的,后面想加新工具就再跑setup,养成习惯就好。总的来说这套流程走下来半小时左右,比想象中简单,关键是组件那步别慌,按需勾选就行。装好之后在Windows里敲Linux命令的体验还是挺爽的,尤其对刚入门想练手的朋友,算是个低成本的起步方案。


喜欢
高兴
鬼脸
呵呵
无聊
伤心