Cygwin視窗下的UNIX多面手 簡單地說:Cygwin是GNU的開發(fā)人員為了能將UNIX系統(tǒng)下一些強大應(yīng)用移植到Windows環(huán)境下而開發(fā)的一套中間移植工具。你也可以將它理解為Windows環(huán)境下一套強大的UNIX仿真工具。究竟是什么,主要看你拿Cygwin來干什么,如果你是開發(fā)人員,那么它就是開發(fā)工具;如果你想在Windows環(huán)境下學(xué)習(xí)、使用UNIX系統(tǒng),它就是一個UNIX用戶工具集。 Cygwin的功能 對開發(fā)人員來說,Cygwin為開發(fā)者提供了一個全32位應(yīng)用的開發(fā)工具。首先,可以將Cygwin看作一組工具集,它是從目前被開發(fā)人員廣泛使用的GNU開發(fā)工具移植而來的,可以在Windows 9x/NT上運行。利用Cygwin工具集,開發(fā)人員,可以直接使用UNIX的系統(tǒng)功能調(diào)用及程序所需的一些運行環(huán)境。 程序員可以直接在Windows環(huán)境下調(diào)用標準的Microsoft win32API,同時也可以使用Cygwin API來編寫Win32的控制臺應(yīng)用、GUI應(yīng)用。使用Cygwin可以容易地將一些重要的UNIX應(yīng)用移植到Win32 環(huán)境下。這些應(yīng)用的源碼不需要大改動就可以在Windows環(huán)境下運行。 熟悉 Windows環(huán)境的用戶,可以將Cygwin理解為Dynamic-Linked Library (DLL),它提供大量UNIX系統(tǒng)調(diào)用。目前最新的release 中包含了除setuid 和mkfifo外的所有POSIX.1/90的調(diào)用、全部ANSI C 標準調(diào)用,同時還包含了許多通用BSD 和SVR4服務(wù),如:Berkeley sockets等。 對普通用戶而言,Cygwin提供了一組UNIX工具,運行它,可以將你的Windows系統(tǒng)變成一部UNIX主機。這組工具中包括bash shell,你可以在一個模擬的UNIX環(huán)境下使用這些工具,或者不進入UNIX虛擬機環(huán)境,直接在Windows的DOS命令行環(huán)境下使用它們。 Cygwin包含了哪些軟件包? 1.開發(fā)包:binutils、bison、byacc、dejagnu、diff、expect、flex、gas、gcc、gdb、itcl、ld、libstdc++、make、patch、tcl、tix、tk等; 2.UNIX 工具:ash、bash、bzip2、diff、fileutils、findutils、gawk、grep、gzip、less、m4、sed、shellutils、tar、textutils、time; 3.各軟件包的源程序包。 以上所有的程序均可免費獲得。 Cygwin是一個全功能的Win32應(yīng)用,它是UNIX應(yīng)用的一個Porting層,完全兼容于Win32(包括目前使用的Windows 95/98/NT)。該項目啟動于1995年,主要目的是將GNU開發(fā)工具移植到Win32系統(tǒng)上來。 下載與安裝 下載這個程序(http://sources.redhat.com/cygwin/setup.exe),之后運行它,它會自動安裝最新版的Cygwin。 如果你的計算機已連接到了互聯(lián)網(wǎng),可以選擇從Internet安裝(圖1),安裝程序會自動查找放置cygwin軟件包的站點,列出數(shù)十個站點,你可以從中選擇一個最近的站點,確認后安裝程序第 一步執(zhí)行下載;下載完成后,自動開始安裝,安裝過程全自動進行,你只要按要求輸入安裝的目的路徑即可。整個安裝過程大約要用5分鐘,具體同機器性能有關(guān)。安裝完成后,會自動生成一個批處理文件,同時,在桌面上也生成一個圖標,點擊即可開始運行。 使用Cygwin 程序安裝完成后,在相應(yīng)的安裝目錄下,會生成一個批處理文件:cygwin.bat,可以直接運行它,也可以從桌面上運行。 程序運行之后,直接進入了一個虛擬的UNIX主機,它是一個完整 的微型UNIX機,目錄結(jié)構(gòu)完全相同于普通的UNIX系統(tǒng),并包括了基本的UNIX命令,這些命令可以在這個虛擬的UNIX主機下運行。這并不足為奇,但是令人驚奇的是——這些命令也可以直接在Windows的命令行環(huán)境下運行的。 以下例示為在DOS界面下運行其中命令: C:\〉mount c:\ /c (注:將硬盤C mount到虛擬UNIX系統(tǒng)的一個/c(名字可以為其他)目錄下) C:\〉mount d:\ /d (注:硬盤 D mount到虛擬UNIX機的一個目錄/d下) C:\〉mount e:\ /cdrom (注:將e盤mount到虛擬UNIX機的/cdrom目錄下) 其作用等同于以下UNIX命令: $ mount /dev/hdax /c ## x為某一個分區(qū),值為1、2、3…… 使用常規(guī)的UNIX命令(注意,這是在常規(guī)的Windows命令行環(huán)境下的直接使用):PS(進程查看),如圖2所示。 編寫一個小的C語言程序,使用gcc編譯,運行結(jié)果如圖3所示(Windows 命令行方式下)。 以上均為在Windows的環(huán)境下直接使用UNIX命令。當然更可以在虛擬UNIX機下使用這些命令。由此可見gcc編譯器同UNIX下的編譯器幾乎沒有差別。 Cygwin還提供對自身的編譯。如果你要編譯自己的Cygwin,可以在安裝時,選擇安裝源碼包。這樣,如果要自行編譯Cygwin,就可以進入cygwin-1.1.6-1目錄,運行configure、make完成對Cygwin的編譯(圖4)。 關(guān)于Cygwin的使用,下面網(wǎng)址有詳細的使用指南:http://cygwin.com/cygwin-ug-net/ cygwin-ug-net.html。 Xfree for Cygwin X Window是UNIX環(huán)境下的GUI,幾乎所有的UNIX版本都可以運行X應(yīng)用,那么由Cygwin構(gòu)成的這個微型UNIX可以運行X應(yīng)用嗎? 令人驚奇的是:Xfree應(yīng)用可以在Cygwin下運行! 如果你有興趣,可以到以下站點查找并下載Xfree for Cygwin。它是一個運行在Windows環(huán)境下的X Window系統(tǒng),也是一個全免費的軟件。從網(wǎng)站的介紹中你可以知道,它是一個由個人開發(fā)的 產(chǎn)品。目前使用的是FreeX86 4.0。有了它,那些要求在Windows環(huán)境下安裝X Window的用戶,就不必花錢購買Windows環(huán)境下的商業(yè)X Window服務(wù)器了。它一樣可以運行得很好。窗口管理器是最簡單的twm。 筆者下載了xfree for Cygwin軟件包,在NT下成功地完成安裝,運行效果還不錯。只是在安裝時要注意:最新xfree for Cygwin是4.0.1的,各位不要忘記下載時,同時下載一個叫Xwin-Update的軟件包,并安裝它,否則,可能無法運行X Window。 要下載安裝的軟件包有: xfree86-4.0-DLLs.tar.bz2 xfree86-4.0-fonts.tar.bz2 xfree86-4.0-Prog.tar.bz2 xfree86-4.0-rgb.tar.bz2 xfree86-4.0-twm.tar.bz2 xfree86-4.0-Xterm.tar.bz2 xfree86-4.0-Xwin.tar.bz2 XWin-update-ex-only.tar.bz2?。ň褪沁@個文件) 你可以將xc-4-binaries目錄下的所有文件都下載過來,全部安裝。 安裝方法: 只要將這些bz2文件全部復(fù)制到你安裝Cygwin的目錄下,運行cygwin.bat,進入UNIX環(huán)境。 第一步:解壓縮: $ bunzip2 -d *.bz2 第二步: $ tar -xvf xfree86-4.0.Xwin.tar $ tar -xvf xfree86-4.0.DLL.tar ... 如此解開以上各軟件包,tar自動將包中的文件放置到正確的位置中,不需要再運行安裝程序。解壓完成后,安裝即告完成。 如何運行X Window? $ cd /usr/X11R6/bin $ ./startxwin.bat 即可啟動X Window。 更多相關(guān)信息,請參考以下網(wǎng)址:http://cygwin.com/xfree/。 已移植的應(yīng)用列表 Apache 1.3.9 and php-4.0b2 ARPC CAMP 1.2b1 CD Recording Software Cygwin B20.1 Released! Data Plotting Library DISLIN 7.3 DDD 3.1.4 Differential X Protocol Compressor 3.8.0 DirectX FreeCIV 1.8.0 FXDR gcc 2.95.2 Gimp for Win32 IBM‘s OpenDX Icarus Verilog Insight debugger, pine, wget, info, other ports Kerberos V4 eBones Distribution LAPACK Libraries LessTif 0.89.9 libstdc++-v3 2.90.7 lynx-2.8.2r1 mc-4.1.36, tcltk-8.3.1 Octopod for C++ Open PTC for Windows perl-5.6.0 Perl, gdbm, cvs, and cygipc PGPlot 5.2 Python headers for mingw repGL RPM 3.04, Lynx 2.8.3 RXVT screen-3.9.8, xchat-1.6.0 Screen Saver Library TCL/Tk 8.1 UCD SNMP X11R6.4 Archive and Zyacc XChat-text 1.5.7 | |||||
[樓 主] | Posted: 2004-06-15 09:30 |