對於 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 配置的元件。
執行安裝程式。圖 1 顯示 cygwin 歡迎螢幕。
圖 1. 在安裝 cygwin 期間出現的第乙個對話方塊
單擊 next 進入下乙個螢幕,選擇要執行的安裝型別。
單擊 install from internet。
單擊 next,然後選擇乙個安裝目錄。
配置安裝的視窗見圖 2。
圖 2. cygwin 安裝選項
在大多數情況下,推薦的安裝選項是合適的,也可以進行定製,但是要注意幾點:
5. 單擊next。
在下乙個視窗中,選擇乙個儲存 cygwin 所需的資料的目錄。不要選擇前一步中選擇的 cygwin 目錄。 如果可能的話,應該在有至少 1gb 空閒空間的驅動器上建立或選擇乙個目錄。
6. 再次單擊 next,選擇使用的 internet 連線型別。通常應該選擇 direct connection。
7. 再次單擊 next。
圖 3. 選擇您認為可靠的或地理位置比較近的安裝站點
圖 4. 選擇最適合需要的包和例項
在 cygwin 中可用的包超過 1,000 個,所以應該只選擇您需要的類別和包。(安裝所有 cygwin 包會占用超過 800mb 的磁碟空間)。以後隨時可以新增整個類別或單獨的包:只需重新執行 cygwin 安裝程式。(還可以在任何時候用相同的安裝程式刪除或更新包)。搜尋 cygwin 包列表(參見 參考資料),檢查您喜歡的 unix 實用程式是否在 cygwin 中可用。
最後,安裝程式安裝軟體並(可選地)在 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。
在 windows 中發揮 unix 的優勢(反之亦然)
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
還有幫助溝通這兩個環境的其他特性:
見圖 4。展開 devel 類別,使用迴圈控制項選擇以下包的最高版本:
結束語cygwin 並不是完美的 unix 模擬環境,但已經相當好了。核心元件的文件很完善,而且特別方便,它們介紹了模擬 dll 中的限制和安全風險。
cygwin 最棒的特性可能是它與 windows 的整合。使用 cygwin 和它的 unix 命令列來操縱系統可以大大提高生產力。建議在您的 shell path 變數中包含 windows 的 program files 中的子目錄,這樣只需輸入程式名,就能夠啟動路徑中的任何二進位制程式。
更棒的是,cygwin 可以在同乙個視窗中管理多個作業。按 control-z 可以暫停正在執行的作業;輸入 bg和fg分別在後台和前台執行作業;輸入 jobs管理作業列表。當然,cygwin 還可以對輸入和輸出進行重定向,可以通過管道把乙個命令的輸出傳送給另乙個命令。
Cygwin安裝和使用
0 為什麼我們需要cygwin windows的dos scripts功能非常薄弱,命令列工具也非常少 如果您對linux比較熟悉,那麼cygwin可以幫助您在windows下面使用強大的bash,以及使用數量繁多的linux命令,通過scripts,可以更加高效的完成系統管理工作 站長維護的win...
cygwin的安裝使用
cygwin 是乙個用於 windows 的類 unix shell 環境。它由兩個元件組成 乙個 unix api 庫,它模擬 unix 作業系統提供的許多特性 以及 bash shell 的改寫版本和許多 unix 實用程式,它們提供大家熟悉的 unix 命令列介面。前乙個元件是乙個 windo...
NDK與Cygwin的使用
之前一直使用cygwin和dnk編譯android的c 庫。之前使用的ndk版本有android ndk r8e android ndk r10e。在cygwin的home 使用者目錄下的.bash profile檔案中配置ndk路徑 ndkn64 cygdrive d android ndk r1...