欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

文摘  Windows下UNIX模拟环境工具Cygwin的使用

服务端工具 网络 300 0评论

初学linux时,需要转换系统是最头疼得事,因为windows和linux各有优点,各有用途,所以只能麻烦的在两者之间切换,反复的重启。开机时也麻烦,因为初学者大多数使用windows,装了linux后,开机会自动启动linux(当然,可以通过在安装过程中设置或按装结束后修改相应文件来决定启动时先引导哪个系统),想进入windows还要坐在电脑旁死等。Cygwin 恰好解决了这个问题。


介绍


cygwin 是windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。


特点: 

1.cygwin只是模拟一个unix的环境有助于初学者学习,现在也可以在windows下开发一些程序。但他所支持的命令没有新版本的LINUX多,它是一个不是很完整的UNIX系统。

2.vmware,qemu等虚拟机软件,以vmware为例,是先在windows中安装vmware虚拟机,再在vmware虚拟机上面用linux 光盘或iso镜像安装完整的linux系统,vmware功能是虚拟一个cpu。与用虚拟机相比,Cygwin本身就是linux在windows环境下的部分替代物,占用资源相对较少,同时功能与“真实感”也更小,还有些不完善之处。


下载与安装


1.解释:

本来安装个软件是个很简单的事情,不过初次接触cygwin.往往有很多人折腾了数日才搞定。主要是原因是:我们以往在windows上装个软件,通常只是在网上下载个setup.exe安装包,然后就可以在没有网络的情况下,双击setup.exe,随时就可以安装啦。Cygwin也是要下载一个setup.exe,不过这个setup.exe可不是安装包,而只是用来下载和定制安装包的,下载定制完成后,才是真正的安装(就不必需要网络啦),待会儿就明白啦。


2.下载安装: 

登陆:http://www.cygwin.com  ,点击“Install Cygwin”先下载个安装向导文件setup.exe,看看自己的电脑是32位还是64位的,这里选择“setup-x86_64.exe”这个是Cygwin的官方下载安装向导文件,而且也只能通过它才能正确下载最新的Cygwin版本  。双击“setup.exe”,出现如下界面(图略)

111.jpg


点击“下一步”,出现三个选项,即三种安装方式:

1)  Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。

2) Download Without Installing:只是将安装包下载到本地,但暂时不安装。

3) Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装(得保证你的计算机上已经用setup.exe在网上下载了安装包)。

222.jpg

第一次肯定不选选项(3)。选项(1)最费时间,如果网速20kb/s ,得一天多才搞好,不过最省事,第一次不知如何办,我选最稳妥的方式:选项(1),一个流程搞定。其实选项(2)也得很长时间。所以无论如何保证你能连续上网一整天啊,不过就别在计算机面前一直坐着死等了,干点别的事去吧。选择完成后,点击“下一步”。出现 root Directory(根目录安装处,即确定要把cygwin安装在何处,得保证至少有5G空闲空间),点击右侧“Browse。。。”


选择你要把cygwin安装在何处,我装在C盘啦。其它默认就行啦。

333.jpg

 

确定后单击“下一步”。出现下面界面,确定要把安装包(就是用setup.exe 下载下来的安装包,用来真正安装cygwin模拟环境的那个安装包)放在哪个地方,以备以后用于直接安装cygwin模拟环境。确认方式和上面一样,我将之放在C盘自己建立的一个文件夹cygwinset中(您选择的目标目录将成为模拟的 UNIX 环境的根目录/。例如,如果在 C:\cygwin 中安装,那么虚拟的 /usr/bin 实际上是 C:\cygwin\usr\bin)。

对于 Install For 选项,不要选择 Just Me。

444.jpg

确定后单击“下一步”,出现如下界面。出现三种连接方式,

555.jpg

1)Direct Connection:直接连接。

2)Use IE5 Settings:使用IE的连接参数设置进行连接。

3)Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址和端口号)。


直接默认选择:选项(1)就行啦,直接单击“下一步”,稍等片刻出现如下界面:

666.jpg


界面中列出多个下载站点,我是选的默认项,(一定记住你选择的站点,如果没出现镜像地址列表,就去https://cygwin.com/mirrors.html  选择一个镜像),可能下载速度有不同吧,直接“下一步”。

777.jpg


安装向导正从下载镜像站点上获取压缩过的安装列表文件,片刻便出现如下界面,即安装列表文件界面。

888.jpg

这一步很关键,选择要下载和安装的包,根据你的需要选择包,选的包越多所需的下载时间越长,单击【View】可以在分类、全部、已选之间循环切换,点击每一类前面的加号可以展开,要选中每一个包,只需单击每一行前边像循环的那个图标,会在版本号和Skip之间切换,选一个最新的版本号即可,下边的那个复选框默认即可。


可以看到“all” 后面有个“Default” 字符,即为默认安装,单击“default”可依次变为“install” ,“reinstall”;“reinstall”先不用管,“Default”默认安装时很多如vivi,gcc 等都不会被安装,单击“all” 后面“Default”成为“install”,全部安装即可。


为了后面的操作,我们有必要在这里选择一些必要的包进行安装:

(1) curl;

(2) git* (git,git-completion, git-gui, gitk);

(3) libreadline6, libiconv2;

(4) vim, ctags

(5) Python;

(6) lynx

(7) wget, tar, gawk, bzip2

当然其中有一些是已经就默认勾选的,在选择的时候只要在search里面输入对应名称,它就会自动过滤出你要安装的包了,然后将循环Skip切换成你需要安装的版本就好了,一定要记得在搜索的时候不需要按Enter, 不然就直接跳到下一步了。

999.jpg


安装完毕后,最后一个界面提示是否建立桌面快捷方式,直接打“√”就成,然后”确定“就彻底完工啦。我的 C盘的 cygwinset 文件夹中看到名为“ftp%3a%2f%2fcygwin.dp.ua%2fpub%2fmirrors%2fcygwin”安装包,你的可能是“http%3a%2f%。。。”无所谓啦,留着以后安装用。


如果下载安装不顺利,如出现 “down incomplete,Try  again? ”提示符。或者在某一进度卡住不动,则可点击“取消“,然后重新点击setup.exe 重复上面动作,不过有两个关键动作:一是在选择下载网站时要选择同一个网址,如下界面(这就是上面建议要记住网址的原因。)


第二个关键动作:安装方式时选择,选择”Reinstall“,而不是”install“啦,这样单击“下一步”就可从原来的进度继续下载安装。否则将从零开始啦。


3.验证Cygwin安装成功


双击桌面 图标 进入 cygwin 虚拟环境。


在弹出的命令行窗口输入:

cygcheck -c cygwin

会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。


4.Cygwin的配置


打开Cygwin终端,右击打开 Options...选项

Text可以设置字体的一些属性,如大小、编码,Locale 选择C, Character set 选择 UTF-8,可以避免中文显示乱码


5.在Windows命令下使用Cygwin


要想在Windows命令提示符下使用Cygwin,你需要添加Cygwin到Windows环境变量。


通过Win+Pause/Break键或者在我的电脑上右键选择属性打开系统属性。

在左边一列选择高级系统属性打开系统属性窗口:


在高级选项里点击下面的环境变量。


在系统变量里,找到Path变量并单击进行编辑。


在变量值选项的最后面添加Cygwin下bin路径:

;C:cygwinbin


注意:确保前面要加个分号来和其它的变量值进行区分。


点击“OK”关闭对话,然后打开命令提示符来测试几个Linux命令。


Cygwin常用指令与linux下基本一致,请自行查阅。不过我的cygwin 能查看文件,无法编辑文件,vi 后,键盘输入不正常。只能在windows下建立。在windows下建立的c文件是可以在cygwin下编译和运行的。


插入一个小问题:再查看 windows的文件时,有些文件名 两个 单词之间有空格。


查看时 可在中间插入“\”。例如想查看C盘的 Program  Files 文件夹,先进入c盘然后指令如下:

$cd  Program\  Files

即可。


交叉编译vivi,kernel


1.安装arm-linux-gcc交叉编译环境:

1)先在C:\cygwin下建立个文件夹如:opt。

2)将arm-linux-gcc 的压缩包解压在opt中。我的是arm-linux-toolchains_cygwin.tgz

$cd opt
$tar zxvf  arm-linux-toolchains_cygwin.tgz

Opt目录出现FriendlyARM目录,内为交叉编译工具源码。


修改启动脚本/etc/profile文件(可在Windows中用文本编C:\cygwin\etc\profile)中的PATH环境变量为

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/opt/FriendlyARM/crosstool/arm-linux/gcc-2.95.3-glibc-2.2.3/bin:$PATH

可以鼠标点击相应目录查看一下,感受更直观。


输入命令:“ arm-linux-gcc –v ”确认是否安装成功。


2. 编译vivi:

由于VIVI要用到kernel的一些头文件,所以需要kernel的源代码,将vivi和kernel都压到/FriendlyARM下


然后需修改/friendly-arm/vivi/Makefile里的一些变量设置

LINUX_INCLUDE_DIR = /friendly-arm/kernel/include

CROSS_COMPILE   = arm-linux-

ARM_GCC_LIBS=/opt/FriendlyARM/crosstool/arm-linux/gcc-2.95.3-glibc-2.2.3/lib/gcc-lib/arm-linux/2.95.3


据说为确保编译的有效性,最好在编译之前将vivi里所有的“*.o”和“*.o.flag”删的掉,不过我没找到,也就没管。

进入/FriendlyARM/vivi目录里,输入“make menuconfig”,开始选择配置。注意Exit时一定要选“Yes”保存配置。

再输入“make”正式开始编译,一会儿就完了。如果不报错,在FriendlyARM/vivi里面就有你自己的“vivi”了。


3. 编译kernel:

kernel的源程序在上面编译vivi时已经解到/friendly-arm/kernel中了。因为这个程序包已在linux 中编译过 ,有一些中间和目标代码和Cygwin是不兼容的。必须先处理一下,否则不能正常进行编译。


进入/friendly-arm/kernel目录,可以输一下“make menuconfig”试试。结果提示出错。这是由于配置脚本已在Linux中编译过,在scripts/lxdialog里产生了一个Linux下的可执行程序lxdialog。在Cygwin里这是个坏东西,它既不能执行,还会阻止可执行程序的生成。必须把它删掉,目录如下:

/FriendlyARM/kernel/scripts/lxdialog/lxdialog


顺便把同一文件下的所有.o 文件也都删除,看准啦,别把.c 源文件删啦!


再执行“make zImage”应该可以完成编译了。如果出现如下提示:make: *** No rule to make target `/friendly-arm/kernel/include/asm/arch/param.h', needed by `/friendly-arm/kernel/include/asm/param.h'. Stop.


则 先“make dep”

再 “make zImage”

等一会儿,就会在//FriendlyARM/kernel/arch/arm/boot目录里会生成你编译的zImage 。


顺便提示一下:有时候cygwin 会出现显示不完全现象,比如“make dep” 后,就可能出现,不用管,只要make dep 一段时间,屏幕不动,ls 能使用,就直接输入“make zImage”生成内核啦。


Cygwin作为windows下模拟Linux环境的的工具,使得我们能在windows下非常方便的使用Linux的命令和工具,下面讲讲怎样在cygwin添加不支持的命令。


1、安装cygwin工具的安装工具apt-cyg,此工具类似于Ubuntu下的apt-get工具,所有的工具都是通过他安装,用过Ubuntu的人应该都知道

#wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg 

wget http://w.gdu.me/wiki/files/shell/apt-cyg

或者直接从这里clone  https://github.com/transcode-open/apt-cyg

chmod +x apt-cyg 
mv apt-cyg /usr/local/bin/ 
apt-cyg --help 
cygcheck --help 
# 修改软件源 
apt-cyg --mirror http://mirrors.163.com/cygwin 
#下面是可选的源 
# ftp://mirror.mcs.anl.gov/pub/cygwin 
# http://mirrors.163.com/cygwin 
# ftp://ftp.ges.RedHat.com/private/releng/cygwin-1.8


2、完成以上步骤之后,就可以随便安装相应的软件了

# apt-cyg install man cygwin-doc 
apt-cyg install vim screenwget subversion openssh pwgen gzip bzip2 curl rsyncbash-completion lftp nc tree p7zip connect-proxy util-linux bind-utils inetutils


3、添加常用Linux命令

给Cygwin添加more/col/whereis等命令:安装util-linux包:apt-cyg install util-linux

给Cygwin添加telnet/ftp工具:apt-cyg install inetutils

给Cygwin安装dig命令

安装bind-utils包:apt-cyg install bind-utils

检查系统中已设置好DNS: ipconfig /all

得到Windows格式的路径名?

cygpath

-d -m "`pwd`"


参考网址:

https://blog.csdn.net/shisiyuan/article/details/6064784 

https://blog.csdn.net/scholar_ii/article/details/7074996 

https://www.linuxidc.com/Linux/2019-02/156968.htm


转载请注明: ITTXX.CN--分享互联网 » Windows下UNIX模拟环境工具Cygwin的使用

最后更新:2020-03-25 15:26:32

赞 (2) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽