Cygwin安装与使用入门

cygwin工具学习记录 Cygwin提供了一个动态链接库(DLL),模拟了Linux下的核心接口和功能,包括一个大量的GNU和开源工具,使得Unix下的许多应用能够在Windows上编译和运行。如果您需要进行包管理,建议使用Cygwin自带的工具,或者尝试安装apt-cyg来管理Cygwin下的包。使用apt-cyg工具:在Cygwin中,apt-cyg是一个非常便利的命令行工具,可以用来搜索、安装、删除和更新Cygwin包。由于自动安装失败,您可以尝试手动下载lynx的安装包,并通过Cygwin的安装器进行安装。 阅读详情

对于 UNIX 本身,也有各种称呼。IBM® 大型机用户说各种带字母 “z” 的行话,比如 IBM z/OS® 和 System z9 Virtual Machine (z/VM);嵌套系统开发人员使用 eCos 这个词;在聊天中还会提到其他许多风格的 UNIX,比如 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。现代信息技术使用各种各样的方言,简直就像是圣经中巴别塔的故事。

当然,也有不少人说 Windows 术语,尽管大多数人只掌握 “指向和单击” 这样的简单词汇。经过 20 年的发展,大多数 Windows 用户已经忘了古老的 DOS 术语。

但是,与 UNIX shell 相比,Windows COMMAND实用程序的功能实在很差;因此,UNIX 用户通常认为 Windows 是一种让人灰心丧气的平台。对于习惯于使用丰富的命令行工具集的 UNIX 软件开发人员来说,Windows 尤其别扭。对于 UNIX 开发人员来说,使用 Windows 简直就像是到了陌生的外国。

幸运的是,Cygwin(见 参考资料)在 Windows 环境中提供大家熟悉的一片天地,就像是美国人在法国找到了麦当劳。

Cygwin 是一个用于 Windows 的类 UNIX shell 环境。 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性;以及 Bash shell 的改写版本和许多 UNIX 实用程序,它们提供大家熟悉的 UNIX 命令行界面。前一个组件是一个 Windows 动态链接库 (DLL)。后一个组件是一组基于 Cygwin DLL 的程序,其中许多是用未经修改的 UNIX 源代码编译的。它们合在一起提供大家熟悉的 UNIX 环境。

这篇文章我们要安装 Cygwin,讨论它的命令行界面 (CLI),并构建标准 Cygwin 发行版中未包含的开放源码,以此体会把 UNIX 应用程序(至少是一部分 UNIX 应用程序)迁移到这个模拟环境是多么容易。

安装 Cygwin

与这里介绍的其他软件不同,Cygwin 使用 Windows 安装程序。Cygwin setup.exe 文件可以重新安装软件,可以添加、修改或升级 Cygwin 配置的组件。

在 Windows 系统上打开浏览器,通过访问 http://cygwin.com/setup.exe 下载 Cygwin 安装程序。安装程序本身非常小(大约 600KB),因为大多数 Cygwin 软件是在安装过程中下载的。完成下载之后,按照以下步骤安装 Cygwin:

  1. 运行安装程序。图 1 显示 Cygwin 欢迎屏幕。

    图 1. 在安装 Cygwin 期间出现的第一个对话框

    Cygwin使用方法 - seismig - Home of Explorers

  2. 单击 Next 进入下一个屏幕,选择要执行的安装类型。
  3. 单击 Install from Internet。
  4. 单击 Next,然后选择一个安装目录。

配置安装的窗口见图 2。

图 2. Cygwin 安装选项

Cygwin使用方法 - seismig - Home of Explorers

在大多数情况下,推荐的安装选项是合适的,也可以进行定制,但是要注意几点:

  • 不要在 Windows 系统的根目录(比如 C:)中安装 Cygwin。最好把 Cygwin 安装在它自己的子目录中,比如默认目录(C:\cygwin)或 C:\Program Files\cygwin。(您选择的目标目录将成为模拟的 UNIX 环境的根目录/。例如,如果在 C:\cygwin 中安装,那么虚拟的 /usr/bin 实际上是 C:\cygwin\usr\bin)。
  • 对于 Install For 选项,不要选择 Just Me。
  • 把 Default Text File 类型设置为 Unix,从而尽可能提高与其他 UNIX 机器上存储的现有文件的兼容性。

         5. 单击Next。

在下一个窗口中,选择一个存储 Cygwin 所需的数据的目录。不要选择前一步中选择的 Cygwin 目录。 如果可能的话,应该在有至少 1GB 空闲空间的驱动器上创建或选择一个目录。

          6. 再次单击 Next,选择使用的 Internet 连接类型。通常应该选择 Direct Connection。

          7. 再次单击 Next。

稍等一会儿,Cygwin 会下载当前的镜像站点列表,让您选择一个镜像站点,见图 3。如果不确定应该选择哪个站点,就选择地理位置比较近的站点。

图 3. 选择您认为可靠的或地理位置比较近的安装站点

Cygwin使用方法 - seismig - Home of Explorers

经过短暂的延迟之后,安装程序显示可用的类别和包的完整列表。图 4 显示一个类别的部分内容。单击加号 (+) 展开对应的类别;单击 “循环” 标志在 Skip(忽略此包)和包的所有可用版本之间循环。如果 Cygwin 提供一个实用程序的多个版本,应该选择满足您的需求的实例。顺便说一下,如果选择 B 列,就会下载二进制包;选择 S,也会下载源代码。

图 4. 选择最适合需要的包和实例

Cygwin使用方法 - seismig - Home of Explorers

在 Cygwin 中可用的包超过 1,000 个,所以应该只选择您需要的类别和包。(安装所有 Cygwin 包会占用超过 800MB 的磁盘空间)。以后随时可以添加整个类别或单独的包:只需重新运行 Cygwin 安装程序。(还可以在任何时候用相同的安装程序删除或更新包)。搜索 Cygwin 包列表(参见 参考资料),检查您喜欢的 UNIX 实用程序是否在 Cygwin 中可用。

8. 选择您需要的工具之后,单击 Next,下载过程开始!

进度条分别反映每个包的下载进度、总下载进度和磁盘使用量。图 5 是在我的测试计算机上在安装期间截取的屏幕图。

图 5. Cygwin 下载大量软件,所以请耐心等待

Cygwin使用方法 - seismig - Home of Explorers

最后,安装程序安装软件并(可选地)在 Start 菜单和桌面中添加快捷方式。单击 Finish

9. 通过使用 Start 菜单或双击 Cygwin 图标(如果添加了这些快捷方式的话),启动 Cygwin;也可以执行 Cygwin 目录中的 Cygwin 脚本(比如 C:\cygwin\Cygwin.bat)。

图 6 显示第一次启动 Cygwin 时的情况:它创建您的主目录,执行 shell 启动文件,显示提示。现在可以运行 UNIX 命令了!

图 6. 现在可以在 Windows 中使用 UNIX 命令了!

Cygwin使用方法 - seismig - Home of Explorers 

例如,试一下 ls -a或 type touch。后一个命令表明 touch是可执行文件 /usr/bin/touch。

在 Windows 中发挥 UNIX 的优势(反之亦然)

Cygwin 在 Windows 中几乎完整地模拟一个 UNIX shell。实际上,它把这两种操作系统很好地结合在一起了。例如,可以运行 df -h命令显示 “UNIX” 机器上的空闲磁盘空间。图 7 显示结果。

图 7. 是 Windows 上的 UNIX 文件系统,还是 UNIX 上的 Windows 文件系统?

Cygwin使用方法 - seismig - Home of Explorers

正如前面提到的,Cygwin 安装目录作为虚拟 UNIX 系统的根目录。Cygwin 把安装目录中的子目录映射到 UNIX 目录。它以单独的卷的形式提供 Windows 驱动器,比如 /cygwin/c。可以使用这样的虚拟路径启动 Windows 程序。请尝试输入

/cygwin/c/Program\ Files/Internet\ Explorer/IEXPLORE.EXE

从命令行启动 Windows Internet Explorer®。(还可以使用 Tab 键自动展开路径的元素)。

顺便说一句,如果要把 Windows 路径名转换为等效的 UNIX 路径名或者相反,可以试试内置命令

cygpath。在默认情况下,cygpath产生 UNIX 路径名。使用-w选项产生 Windows 路径。

$ cygpath -w /cygwin/c/Program\ Files/Internet\  Explorer/IEXPLORE.EXE c:\Program Files\Internet Explorer\IEXPLORE.EXE

还有帮助沟通这两个环境的其他特性:

  • Cygwin 提供它自己的 lpr(/usr/bin/lpr 而不是 Windows 的 LPR.EXE),可以直接从模拟的 UNIX 环境进行打印。只需把 PRINTER 环境变量设置为 \\server\printer_name 或 //server/printer_name 这样的 Cygwin UNC;前向斜杠和反向斜杠都可以,在 Cygwin 中的其他地方也是如此。
  • 在 Cygwin 中用 ln -s创建的符号链接在 Windows 中被解释为快捷方式。同样,Windows 快捷方式在 Cygwin 中被解释为符号链接。因此,可以使用 Windows 快捷方式带参数启动 UNIX 命令。
  • 因为 Cygwin 提供完整的 Bash shell,所以可以使用上述的所有兼容特性(和其他特性)编写 UNIX shell 脚本来维护 Windows!

    例如,可以使用 UNIX find

  • 在驱动器上搜索数据。请注意一点:在 Windows 文件名中常常使用空格。为了保持完整的文件名(请记住,UNIX 参数以空格分隔),一定要使用 find -print0和 xargs -0。

      见图 4。展开 Devel 类别,使用循环控件选择以下包的最高版本:

  • autoconf2.1

  • automake1.10

  • binutils

  • gcc-core

  • gcc4-core

  • gdb

  • pcre

  • pcre-devel

做出选择之后(为了满足依赖性,可能会自动选择其他包),单击 Next 开始更新。与前面一样,下载和安装过程需要一定的时间(开发包往往相当大)。 参考资料)

结束语

Cygwin 并不是完美的 UNIX 模拟环境,但已经相当好了。核心组件的文档很完善,而且特别方便,它们介绍了模拟 DLL 中的限制和安全风险。

Cygwin 最棒的特性可能是它与 Windows 的集成。使用 Cygwin 和它的 UNIX 命令行来操纵系统可以大大提高生产力。建议在您的 shell PATH 变量中包含 Windows 的 Program Files 中的子目录,这样只需输入程序名,就能够启动路径中的任何二进制程序。

更棒的是,Cygwin 可以在同一个窗口中管理多个作业。按 Control-Z 可以暂停正在运行的作业;输入 bg和fg分别在后台和前台运行作业;输入 jobs管理作业列表。当然,Cygwin 还可以对输入和输出进行重定向,可以通过管道把一个命令的输出发送给另一个命令。

Cygwin 配置C/C++编译环境以及如何编译项目 Cygwin 配置C/C++编译环境,并给出示例演示如何使用Cygwin编译项目 阅读详情

相关推荐

Cygwin从入门到精通:安装、配置与彻底卸载指南

本文详细介绍了Cygwin在Windows系统上的安装、配置与彻底卸载方法。Cygwin是一个类UNIX模拟环境,让Windows用户能够使用Linux命令行工具,适合开发者、系统管理员等用户群体。文章涵盖了从下载安装包、配置环境变量到高级技巧与最佳实践的全方位指南,帮助用户高效使用Cygwin并解决常见问题。

weixin_29280219的博客 456

Cygwin 介绍与安装

Cygwin 介绍与下载安装

小青龍 的博客 3万+

android学习——NDK入门 windows下安装cygwin 与 Eclipse使用CDT 自动编译

一、Android NDK环境简介 Android NDK 是运行于Android 平台上的Native Development Kit 的缩写。 Android 应用开发者可以通过NDK 调用C 或C++ 本地代码。 更多介绍参见:http://developer.android.com/sdk/ndk/1.5_r1/index.html 二 、搭建Android NDK

编程进化论 7235

Cygwin安装教程

Cygwin安装教程

小白学CS 2万+

自动化测试-自愈技术

随着人工智能的发展,作为一名软件测试工程师,相信大家都会思考如何把这一前沿技术引入到我们的自动化测试当中,想一万遍不如做一遍。,传递当前页面状态,获取之前成功的定位器路径,比较它们,并生成修复的定位器列表。如果修复成功,我们可以使用 Healenium Idea 插件更新我们的自动化测试代码:插件使用修复定位器寻找修复和更新测试代码。的旧定位器去定位按钮的时候,脚本就会报错,提示 “NoSuchElement”的错误异常。现在,我们假设开发人员变更了应用程序的UI界面,改变了这个按钮的id属性,从。

qq_58223744的博客 2661

禅道18.3版本二开避坑指南:手把手教你扩展自定义报表功能

本文详细介绍了禅道18.3版本的二次开发实践,重点讲解如何扩展自定义报表功能。通过zentaoPHP框架的深度定制,从开发环境搭建到核心数据模型扩展,再到可视化配置和性能优化,手把手教你构建多维报表分析系统,满足企业级项目管理需求。

day7的博客 370

Cygwin‌最新详细安装教程(附安装包)

‌Cygwin‌是一个在Windows平台上运行的类UNIX模拟环境,它是一个开源的免费软件,由Cygnus Solutions公司开发。Cygwin通过提供一个名为cygwin1.dll的动态链接库,实现了在Windows上运行Unix应用程序的功能。这个DLL拦截并重定向Unix系统调用,将其转换为Windows本机API调用,从而在Windows上模拟了一个类Unix的环境‌。

ZHOUPUYU的博客 2万+

Claude Code vs Codex实战对比:哪个更适合你的Next.js项目?(含真实案例)

本文通过两个真实的Next.js项目案例,深度对比了Claude Code与Codex在UI实现和业务逻辑构建中的表现。Claude Code在代码质量、设计还原度和架构完整性方面优势明显,适合对可维护性要求高的生产级项目;而Codex则以快速响应和低成本见长,更适合原型开发或内部工具。文章提供了基于项目类型、团队能力和成本效益的详细选择策略。

weixin_29201859的博客 809

Linux入门,Cygwin的安装

1.百度搜索cygwin 2.根据自己电脑选择下载64位或者32位 下载完毕运行 选择下载位置。 默认是C盘,自己选择位置 选择下载位置。 这里我选择的是第一个, 此处如果选择的服务器不合适的话,尽管你的网络本身速度很快,但是此处下载速度很慢。 所以,此处需要选择一个速度比较快的服务器。 对于国内来说,连接很多国外的服务器,速度一般都很慢。 不过,目...

weixin_43146793的博客 2141

WS2812B非标准通信协议:手把手实现精准时序控制

详解WS2812B的精准时序实现原理,剖析其非标准通信协议的关键细节。通过实际操作指导,帮助开发者稳定驱动ws2812b灯带,解决常见时序偏差问题,提升项目显示效果与响应一致性。

weixin_42584586的博客 587

40-基于STM32与LD3320的智能语音调光台灯开发全攻略(代码+硬件+调试心得)

本文详细介绍了基于STM32与LD3320的智能语音调光台灯开发全攻略,包括硬件设计、软件实现和调试心得。项目利用STM32单片机控制LD3320语音识别模块,实现语音控制开关和PWM调光功能,适合非接触式操作场景。文章还分享了硬件选型、PWM调光算法优化及常见问题解决方案,为开发者提供完整参考。

weixin_29163797的博客 325

为什么使用cygwin及安装入门 + Bash Profile

介绍Cygwin并展示了如何安装Cygwin,之后介绍了Bash Profile以及一些好用的alias。

cyl_10的博客 2797

AI:270-基于ASFF改进YOLOv8检测头的多尺度特征融合方法详解与实战

ASFF是一种基于自适应特征融合的策略,能够动态调整不同尺度特征的融合权重,适应场景中不同大小的目标。传统的YOLOv8检测头使用固定的特征融合策略,而ASFF则通过引入学习参数,使得网络能够根据输入图像的特征自适应地选择不同尺度特征的重要性。这一策略对于检测小目标或尺度变化大的目标具有显著优势。本文提出了一种改进YOLOv8检测头的新方法,通过引入自适应空间特征融合模块(ASFF),有效提升了多尺度目标检测的性能,特别是在小目标检测任务中的表现。

一键难忘的博客 3913

android NDK入门 windows下安装cygwin

一、Android NDK环境简介Android NDK 是运行于Android 平台上的Native Development Kit 的缩写。Android 应用开发者可以通过NDK 调用C 或C++ 本地代码。更多介绍参见:http://developer.android.com/sdk/ndk/1.5_r1/index.html 二 、搭建Android NDK环境   安装cygwi...

weixin_34310369的博客 135

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 359

Synthesia技术浅析(四):自然语言处理

Synthesia 的自然语言处理(NLP)模块是其核心技术之一,涵盖了文本转语音(TTS)、情感分析以及多语言支持等多个方面。

m0_75253143的博客 1167

cygwin的入门

由于自己的项目需要使用Linux内核,所以自己在windows下安装了一个Linux虚拟机!自己实在忍受不了这种速度,随想用cygwin进行替代,毕竟我只是使用Linux内核的部分命令就好。今天下午进行了实验,效果不错,从网上找到了这篇文章,做为cygwin的入门文章!写的不错,enjoy it! 0:简介 1:下载和安装 2:使用 简介 Cygwin是一个运行于Windows下

马里奥的专栏 3984

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Cygwin的使用方法

由于自己的项目需要使用Linux内核,所以自己在windows下安装了一个Linux虚拟机!自己实在忍受不了这种速度,随想用cygwin进行替代,毕竟我只是使用Linux内核的部分命令就好。今天下午进行了实验,效果不错,从网上找到了这篇文章,做为cygwin的入门文章!写的不错,enjoy it! 0:简介 1:下载和安装 2:使用 简介 Cygwin是一个运行于Windows下

u012463389的博客 2309

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Cygwin的认识,安装与使用

很多用windows的朋友不习惯于用linux的开发环境。虽然很乐意尝试一下,但是往往怕linux系统打乱了自己的正常生活:1〉装linux系统把windows系统给搞坏了,导致自己无法正常生活;2>linux开发上手太难,写出第一个helloworld不亚于java的难度,环境配置摸不着头脑。对于此,我的看法是:路不管平还是陡,终归你要走的,如果你愿意投入到linux开发的社群中来,不会安装li

ledaosi的专栏 1127

Cygwin安装图解:小白也能看懂的教程

不过对于新手来说,Cygwin的安装过程可能会遇到各种问题。于是我用HTML+JavaScript开发了一个交互式安装引导程序,帮助大家更直观地完成安装。我仔细研究了官方文档,将安装流程分解为下载、选择镜像、组件选择等7个关键步骤。通过AJAX技术实现了与虚拟安装环境的交互,让演示更加真实。作为一个面向新手的工具,最重要的就是简化流程。我设计了分步骤的图形化界面,就像安装向导一样引导用户操作。如果你也需要开发类似的引导工具,不妨试试这个平台,它的实时预览让调试变得特别直观。

EmeraldWolf23的博客 292

windows模拟Linux环境-安装cygwin

1 下载安装文件 http://cygwin.com/install.html 2 选择更新源 推荐国内用163的 3 选择最小化安装 更改Base节点为install, 其他的保持不变 4 安装完成

素年小事 155
上一篇: HashMap中的keySet()和entrySet()
下一篇: K-means聚类算法
hxwhou
博客等级 码龄16年 100粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值