對於 UNIX 自己,也有各類稱呼。css
IBM® 大型機用戶說各類帶字母 「z」 的行話,比方 IBM z/OS® 和 System z9 Virtual Machine (z/VM)。嵌套系統開發者使用 eCos 這個詞;在聊天中還會提到其它不少風格的 UNIX。比方 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。現代信息技術使用各類各樣的方言。簡直就像是聖經中巴別塔的故事。html
固然,也有很多人說 Windows 術語,雖然大多數人僅僅掌握 「指向和單擊」 這種簡單詞彙。通過 20 年的發展,大多數 Windows 用戶已經忘了古老的 DOS 術語。 shell
但是,與 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 環境。 post
這篇文章咱們要安裝 Cygwin,討論它的命令行界面 (CLI),並構建標準 Cygwin 發行版中未包括的開放源碼。以此體會把 UNIX 應用程序(至少是一部分 UNIX 應用程序)遷移到這個模擬環境是多麼easy。網站
安裝 Cygwinspa
與這裏介紹的其它軟件不一樣,Cygwin 使用 Windows 安裝程序。操作系統
Cygwin setup.exe 文件可以又一次安裝軟件,可以加入、改動或升級 Cygwin 配置的組件。
在 Windows 系統上打開瀏覽器,經過訪問 http://cygwin.com/setup.exe 下載 Cygwin 安裝程序。安裝程序自己很是小(大約 600KB),因爲大多數 Cygwin 軟件是在安裝過程當中下載的。完畢下載以後,依照下面步驟安裝 Cygwin:
配置安裝的窗體見圖 2。
在大多數狀況下,推薦的安裝選項是合適的,也可以進行定製。但是要注意幾點:
(您選擇的目標文件夾將成爲模擬的 UNIX 環境的根文件夾/。
好比,假設在 C:\cygwin 中安裝,那麼虛擬的 /usr/bin 其實是 C:\cygwin\usr\bin)。
5. 單擊Next。
在下一個窗體中,選擇一個存儲 Cygwin 所需的數據的文件夾。不要選擇前一步中選擇的 Cygwin 文件夾。
假設可能的話,應該在有至少 1GB 空暇空間的驅動器上建立或選擇一個文件夾。
6. 再次單擊 Next,選擇使用的 Internet 鏈接類型。一般應該選擇 Direct Connection。
7. 再次單擊 Next。
稍等一下子。Cygwin 會下載當前的鏡像網站列表,讓您選擇一個鏡像網站,見圖 3。假設不肯定應該選擇哪一個網站。就選擇地理位置比較近的網站。
通過短暫的延遲以後。安裝程序顯示可用的類別和包的完整列表。圖 4 顯示一個類別的部份內容。
單擊加號 (+) 展開相應的類別;單擊 「循環」 標誌在 Skip(忽略此包)和包的所有可用版本號之間循環。假設 Cygwin 提供一個有用程序的多個版本號,應該選擇知足您的需求的實例。順便說一下,假設選擇 B 列,就會下載二進制包;選擇 S。也會下載源碼。
在 Cygwin 中可用的包超過 1,000 個。因此應該僅僅選擇您需要的類別和包。(安裝所有 Cygwin 包會佔用超過 800MB 的磁盤空間)。之後隨時可以加入整個類別或單獨的包:僅僅需又一次執行 Cygwin 安裝程序。
(還可以在不論何時用相同的安裝程序刪除或更新包)。搜索 Cygwin 包列表(參見 參考資料),檢查您喜歡的 UNIX 有用程序是否在 Cygwin 中可用。
8. 選擇您需要的工具以後,單擊 Next,下載過程開始!
進度條分別反映每個包的下載進度、總下載進度和磁盤使用量。
圖 5 是在個人測試計算機上在安裝期間截取的屏幕圖。
最後,安裝程序安裝軟件並(可選地)在 Start 菜單和桌面中加入快捷方式。單擊 Finish
9. 經過使用 Start 菜單或雙擊 Cygwin 圖標(假設加入了這些快捷方式的話)。啓動 Cygwin;也可以執行 Cygwin 文件夾中的 Cygwin 腳本(比方 C:\cygwin\Cygwin.bat)。
圖 6 顯示第一次啓動 Cygwin 時的狀況:它建立您的主文件夾,執行 shell 啓動文件,顯示提示。現在可以執行 UNIX 命令了!
圖 6. 現在可以在 Windows 中使用 UNIX 命令了!
好比,試一下 ls -a或 type touch。後一個命令代表 touch是可執行文件 /usr/bin/touch。
Cygwin 在 Windows 中差點兒完整地模擬一個 UNIX shell。實際上。它把這兩種操做系統很是好地結合在一塊兒了。
好比。可以執行 df -h命令顯示 「UNIX」 機器上的空暇磁盤空間。圖 7 顯示結果。
圖 7. 是 Windows 上的 UNIX 文件系統。仍是 UNIX 上的 Windows 文件系統?
正如前面提到的。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 |
還有幫助溝通這兩個環境的其它特性:
好比。可以使用 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 還可以對輸入和輸出進行重定向,可以經過管道把一個命令的輸出發送給還有一個命令。