cygwin安装使用经验
时间:2010-12-11 来源:技术人生
Cygwin是一个在windows平台上运行的Linux模拟环境, 是Cygnus solutions公司开发的自
由软件(该公司开发了很多好东西, 著名的还有eCos, 不过现已被Redhat收购). 它对于学
习Unix/linux操作环境, 或者从unix到windows的应用程序移植, 或者进行某些特殊的开发
工作, 尤其是使用gnu工具集在windows上进行嵌入式系统开发, 非常有用. [1]
Cygwin是一个Windows上的Linux模拟环境, 它包括两个部分:
* 一个作为Linux API仿真层的DLL(Cygwin.dll), 它提供稳定的Linux API功能.
* 提供看起来且使用起来象Linux的工具集.
2. 什么不是Cygwin?
Cygwin不是一种在Windows下运行Linux应用程序的方式, 如果要做到这一点, 你必须重新
在Windows上编译你的源程序.
3. Cygwin的下载与安装
首先你必须到http://www.cygwin.com先下载一个安装向导文件 setup.exe, 然后运行
setup.exe, 依次会出现下面的对话框:
(1)选择安装方式(选择Download Without Installing)
(2)选择本地存储路径
(3)选择连接方式
(4)选择下载站点(推荐两个: http://mirrors.kernel.org, ftp.ntu.edu.tw)
(5)选择下载包的内容: 一共有四类. default只下载最小安装包, Install则下载
所有的包, Reinstall表示接着上次下载该安装包, Uninstall是删除安装包吗?
没有试过. 至于窗口顶部那些“Keep”、“Prev”、“Curr”、“Exp”等等选项
, 只是用来改变当前树结构的显示方式的, 对下载没有什么影响. 用户可以用默
认的“Exp”.
(6)开始下载
如果用户的运气足够好, 也许能够一次性的下载成功. 若真能这样, 恭喜恭喜!但如果你
和我一样不幸, 下到一半网络断了,怎么办?难道要我全部重新来一遍?幸运的是,Cygwin
的安装向导程序支持断点续传功能: 你可以按照上面的步骤再次运行setup.exe, 重要的是
在前4步的时候一定要选择跟第一次相同的选项, 而在第5步, 选择下载包的方式则一定要
选择Reinstall, 实际上是选择继续上次的下载. 只是这个设置实在是太古怪了, 简直有误
人子弟之嫌!
在用户指定的本地存储路径内, 安装向导程序会生成类似这样的一个目录: http%3a%2f
%2fmirrors.kernel.org%2fsources.redhat.com%2fcygwin, 这就是你下载文件的真正所在
目录. 还会生成两个日志文件:setup.log和setup.log.full, 用户感兴趣的活, 可以打
开来看看, 对了解Cygwin的下载机制有不少帮助.
至于如何安装, 其实就是再运行一次setup.exe, 不同的是, 在上述的第1步里选择
Install from local, 在第5步里, 四个选项有不同的含义, Install代表安装而不是下载
, Reinstall代表重新安装而不是重新下载. 用户可以在这里选择要安装的包, 不过我还是
建议选择安装所有的程序包, 免的以后麻烦.
4. cygwin下的一些应用
4.1 默认的应用--也是我选择cygwin的原因
之所以安装cygwin, 是因为习惯于linux下的一些应用, 在Windows上没有, 或者找不到合
适的代替器, 所以在我的日常应用中, 基本上cygwin被当成是一台只有命令行的Linux操作
系统使用. 而且因为运行在Windows上, 所以有时候少了和Windows通讯的烦恼.
* Gcc, Makefie, gdb: 这是最初接触cygwin的原因. 很多公司在Windows上编译
Linux 的东东, 没有这个的确不行, 后来经常自己写一些验证性质的小程序, 也
用这个.
* Vim: vim提供了windows版本, 但是有时候还是习惯使用命令行版的Vim(不是
gvim), 尽管windows版本的gvim用的也很多.
* ls: 尽管Windows提供了类似的命令dir, 但是感觉还是ls信息论习惯和强大.
* telnet, ssh: 很多人使用secuCRT登录设备, 个人感觉secuCRT有一项功能挺强
的, 那就是记录log功能, 其它的挺弱的, 比不了cygwin. 再插上一句, 用cygwin
telnet 登录 bbs还是比较好使的, 但是secuCRT和putty显示中文都会有问题. 没
用过 CTerm以及 XTerm之类的bbs终端, 但是我发现cgywin能实现基本它们声称的
大部分功能.
* ftp, sftp, lftp, tftp等: 这个也有专门的软件来实现, 好用的如FileZilla
FTP server和client版, 但是点鼠标点的我手疼, 还是习惯命令行, 而且最近研
究了一些脚本, 对于经常到某个ftp上存取文件使用一个命令就可以实现, 不用再
登录, 敲密码, 进入到指定路径, 上传下载了, 还是蛮方便的.
* cvs: 有Windows版本的cvs工具wincvs, 貌似最初我用过好几年, 但是现在一个
命令就能搞定的事情不愿意再开一个软件再点击好多次鼠标了.
* diff和patch: 经常写代码和写文章的人用的着. Windows上暂时没有发现替代
品.
* 阅读一些命令的man page, 如man strcpy.
* 其它常用的Linux命令, 如rm, ping, tar, gzip, cat, echo等.
* Linux的重定向命令, 用过的人知道, 有时候这个还是很好用的, 呵呵