cygwin 之 unix 模拟环境
前言
有时候想利用 linux 的资源开发 windows 软件,或者是利用 linux 的资源(工具)帮忙我们在 windows 系统上完成某项工作(尤其是使用 gnu 工具集在 windows 上进行嵌入式系统开发是非常有用的!)。使用 Cygwin 是非常好的选择,它由 cygnus solutions 公司开发的自由软件,其集成绝大部分的 linux 软件包,只需使用 Cygwin 安装程序(实则是资源管理器)安装(添加)对应软件包即可。
安装
1、到 Cygwin 官网下载:
● 软件简介:
Cygwin 是一个在 windows 平台上运行的类 unix 模拟环境,是一个 windows 软件;在其编译及运行的软件也是.exe
的 windows 软件,而非 linux 软件(例如:gcc
是gcc.exe
的 windows 软件!);甚至对系统的操作也是对 windows 操作(例如:reboot
命令,是重启 windwons 系统!)。简单说:包括 cygwin 以及在其里面运行的软件都是 windows 软件,它只是模拟在 linux 中运行。
● 特别说明 :
1、注意:Cygwin 环境中编译构建的软件在运行时必须依赖cygwin1.dll
,如果制作独立软件建议用 MinGW-w64/TDM-GCC 工具链来编译构建软件;
2、关于:Cygwin 和 MinGW 都是为用户提供在 windows 操作系统使用 GNU 工具的方法,使得原是 linux 写的 c 源代码可以在 windows 上编译及运行(exe 执行文件)。Cygwin 大而全面,提供完整的类 Unix 环境;而 MinGW 小而高效,其主要是编译器,一般只支持编译使用 C/C++ 标准库的程序。
3、补充:UnxUtils 也是 Windows 下的 Unix Linux 工具集,其集成了 Unix 系统的很多命令,下载解压并把它 usr/local/wbin 文件夹的绝对路径加到 windows 环境变量即可使用。
● 下载网址 :
Cygwin 官网下载:http://www.cygwin.com
2、点安装程序直接安装:
关于 Cygwin 安装程序(setup-x86_64.exe),更准确说是 Cygwin 软件资源管理器,其主要工作是安装/删除/升级相关软件包。例如:发现
wget
不存在,按照初次在线安装一样的流程安装,当到软件包安装界面时,选择full
全列表并在搜索框输入wget
选择对应软件包进行安装。
- 安装工作分两部分:
1、安装 Cygwin 程序(设置安装路径);
2、下载+安装软件包(设置下载缓存路径)。- 安装方式则分三种:
1、在线安装(实质就是 2 和 3)。
2、下载离线软件包,
3、安装离线软件包。
3、常用工具所需软件包:
下面列出一些常用的工具软件包,可以在软件包安装界面进行勾选安装。当需要安装很多软件包时,手工勾选显得繁琐且低效,这时我们可以使用
apt-cyg
命令工具来安装(后面章节会介绍这个命令安装及使用)。
软件/工具 |
所需软件包 |
---|---|
常用 |
wget, curl, gawk, openssh, nc, bzip2, xz, tar, unzip, lua, dos2unix |
gcc | gcc-core, gcc-g++, binutils, gdb, make, cmake, libgccpp1 |
待续… | 待续…… |
使用
1、Cygwin 里查看系统信息:
|
|
2、Cygwin 里安装 hugo 案例:
Hugo 是一个博客生成工具,本节以安装 Hugo 作为示例,介绍 Cygwin 的基础操作(可同时打开《博客生成工具 Hugo》的『Hugo 的安装』章节对比一下两者的区别)。Hugo 官方为我们编译好各种平台二进制文件,安装时不需要安装任何依赖软件,直接下载使用即可。特别说明:我们要下载的 hugo 是 windows 版本,非 linux 版本,文件为
hugo_0.92.2_Windows-64bit.zip
。在 windows 的桌面双击Cygwin64 Terminal
运行 Cygwin 的 unix 模拟环境的终端机,之后与 linux 环境下一样使用命令进行相关操作:
|
|
扩展
1、apt-cyg 工具安装以及使用:
用惯 Ubuntu 就知道,使用
apt-get install/remove
命令非常方便安装/卸载软件(常用于批量操作),那么 Cygwin 是否有类似命令?当然有的,那就是apt-cyg
第三方工具,需要手工安装,以及事前须要安装依赖包:bash
wget
tar
gawk
bzip2
xz
。其中 bash、tar、gawk 属于 Base 类,在安装最小系统时已包含;而 wget、bzip2、xz 属于 Archive 类,需要通过 Cygwin 安装程序先装上,确保后续运行 apt-cyg 不出错。
1.1、安装依赖包wget
tar
gawk
bzip2
:
这些依赖包的安装方法按照前面的【安装】章节操作即可,或者说在前面【安装】章节已把这些依赖软件包安装了。
1.2、下载 apt-cyg 并且添加到 Cygwin:
1.3、验证apt-cyg
安装是否成功有效:
|
|
2、windows 调用 Cygwin 工具:
其实 windows 的 cmd 命令窗口可以直接使用 Cygwin 相关软件包工具,方法很简单:只需把软件包所在路径加入系统环境变量里即可。这里不得不说一下 Windows 下的 Unix Linux 工具集 UnxUtils,其集成了 Unix 系统的很多命令,下载解压并把它 usr/local/wbin 文件夹的绝对路径加到 windows 环境变量即可使用。
2.1、添加 windows 系统环境变量:
|
|
2.2、验证 cmd 命令窗调用 linux 命令: