日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

對(duì)話 UNIX: 在 Windows 上使用 Cygwin

瀏覽:326日期:2024-01-31 14:24:57

如果您是本專欄的忠實(shí)讀者,應(yīng)該已經(jīng)熟悉了許多 Unix 行話。“用管道重定向輸出、“殺死進(jìn)程 和 “使用通配符 等行話對(duì)于新手來(lái)說(shuō)很奇怪,但是您應(yīng)該很熟悉這些說(shuō)法了。

對(duì)于 UNIX 本身,也有各種稱呼。IBM® 大型機(jī)用戶說(shuō)各種帶字母 “z 的行話,比如 IBM z/OS® 和 System z9 Virtual Machine (z/VM);嵌套系統(tǒng)開(kāi)發(fā)人員使用 eCos 這個(gè)詞;在聊天中還會(huì)提到其他許多風(fēng)格的 UNIX,比如 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。現(xiàn)代信息技術(shù)使用各種各樣的方言,簡(jiǎn)直就像是圣經(jīng)中巴別塔的故事。

當(dāng)然,也有不少人說(shuō) Windows 術(shù)語(yǔ),盡管大多數(shù)人只掌握 “指向和單擊 這樣的簡(jiǎn)單詞匯。經(jīng)過(guò) 20 年的發(fā)展,大多數(shù) Windows 用戶已經(jīng)忘了古老的 Dos 術(shù)語(yǔ)。

但是,與 UNIX shell 相比,Windows COMMAND 實(shí)用程序的功能實(shí)在很差;因此,UNIX 用戶通常認(rèn)為 Windows 是一種讓人灰心喪氣的平臺(tái)。對(duì)于習(xí)慣于使用豐富的命令行工具集的 UNIX 軟件開(kāi)發(fā)人員來(lái)說(shuō),Windows 尤其別扭。對(duì)于 UNIX 開(kāi)發(fā)人員來(lái)說(shuō),使用 Windows 簡(jiǎn)直就像是到了陌生的外國(guó)。

幸運(yùn)的是,Cygwin(見(jiàn) 參考資料)在 Windows 環(huán)境中提供大家熟悉的一片天地,就像是美國(guó)人在法國(guó)找到了麥當(dāng)勞。

Cygwin 是一個(gè)用于 Windows 的類 UNIX shell 環(huán)境。 它由兩個(gè)組件組成:一個(gè) UNIX API 庫(kù),它模擬 UNIX 操作系統(tǒng)提供的許多特性;以及 Bash shell 的改寫(xiě)版本和許多 UNIX 實(shí)用程序,它們提供大家熟悉的 UNIX 命令行界面。前一個(gè)組件是一個(gè) Windows 動(dòng)態(tài)鏈接庫(kù) (DLL)。后一個(gè)組件是一組基于 Cygwin DLL 的程序,其中許多是用未經(jīng)修改的 UNIX 源代碼編譯的。它們合在一起提供大家熟悉的 UNIX 環(huán)境。

在本期的 對(duì)話 Unix 專欄中,我們要安裝 Cygwin,討論它的命令行界面 (CLI),并構(gòu)建標(biāo)準(zhǔn) Cygwin 發(fā)行版中未包含的開(kāi)放源碼,以此體會(huì)把 UNIX 應(yīng)用程序(至少是一部分 UNIX 應(yīng)用程序)遷移到這個(gè)模擬環(huán)境是多么容易。

安裝 Cygwin

與這里介紹的其他軟件不同,Cygwin 使用 Windows 安裝程序。Cygwin setup.exe 文件可以重新安裝軟件,可以添加、修改或升級(jí) Cygwin 配置的組件。

在 Windows 系統(tǒng)上打開(kāi)瀏覽器,通過(guò)訪問(wèn) http://cygwin.com/setup.exe 下載 Cygwin 安裝程序。安裝程序本身非常小(大約 600KB),因?yàn)榇蠖鄶?shù) Cygwin 軟件是在安裝過(guò)程中下載的。完成下載之后,按照以下步驟安裝 Cygwin:

運(yùn)行安裝程序。圖 1 顯示 Cygwin 歡迎屏幕。

圖 1. 在安裝 Cygwin 期間出現(xiàn)的第一個(gè)對(duì)話框

單擊 Next 進(jìn)入下一個(gè)屏幕,選擇要執(zhí)行的安裝類型。

單擊 Install from Internet。

單擊 Next,然后選擇一個(gè)安裝目錄。

配置安裝的窗口見(jiàn)圖 2。

圖 2. Cygwin 安裝選項(xiàng)

在大多數(shù)情況下,推薦的安裝選項(xiàng)是合適的,也可以進(jìn)行定制,但是要注意幾點(diǎn):

不要在 Windows 系統(tǒng)的根目錄(比如 C:)中安裝 Cygwin。最好把 Cygwin 安裝在它自己的子目錄中,比如默認(rèn)目錄(C:cygwin)或 C:Program Filescygwin。(您選擇的目標(biāo)目錄將成為模擬的 UNIX 環(huán)境的根目錄 /。例如,如果在 C:cygwin 中安裝,那么虛擬的 /usr/bin 實(shí)際上是 C:cygwinusrbin)。

對(duì)于 Install For 選項(xiàng),不要選擇 Just Me。

把 Default Text File 類型設(shè)置為 Unix,從而盡可能提高與其他 UNIX 機(jī)器上存儲(chǔ)的現(xiàn)有文件的兼容性。

單擊 Next。

在下一個(gè)窗口中,選擇一個(gè)存儲(chǔ) Cygwin 所需的數(shù)據(jù)的目錄。不要選擇前一步中選擇的 Cygwin 目錄。 如果可能的話,應(yīng)該在有至少 1GB 空閑空間的驅(qū)動(dòng)器上創(chuàng)建或選擇一個(gè)目錄。

再次單擊 Next,選擇使用的 Internet 連接類型。通常應(yīng)該選擇 Direct Connection。

再次單擊 Next。

稍等一會(huì)兒,Cygwin 會(huì)下載當(dāng)前的鏡像站點(diǎn)列表,讓您選擇一個(gè)鏡像站點(diǎn),見(jiàn)圖 3。如果不確定應(yīng)該選擇哪個(gè)站點(diǎn),就選擇地理位置比較近的站點(diǎn)。

圖 3. 選擇您認(rèn)為可靠的或地理位置比較近的安裝站點(diǎn)

經(jīng)過(guò)短暫的延遲之后,安裝程序顯示可用的類別和包的完整列表。圖 4 顯示一個(gè)類別的部分內(nèi)容。單擊加號(hào) (+) 展開(kāi)對(duì)應(yīng)的類別;單擊 “循環(huán) 標(biāo)志在 Skip(忽略此包)和包的所有可用版本之間循環(huán)。如果 Cygwin 提供一個(gè)實(shí)用程序的多個(gè)版本,應(yīng)該選擇滿足您的需求的實(shí)例。順便說(shuō)一下,如果選擇 B 列,就會(huì)下載二進(jìn)制包;選擇 S,也會(huì)下載源代碼。

圖 4. 選擇最適合需要的包和實(shí)例

在 Cygwin 中可用的包超過(guò) 1,000 個(gè),所以應(yīng)該只選擇您需要的類別和包。(安裝所有 Cygwin 包會(huì)占用超過(guò) 800MB 的磁盤(pán)空間)。以后隨時(shí)可以添加整個(gè)類別或單獨(dú)的包:只需重新運(yùn)行 Cygwin 安裝程序。(還可以在任何時(shí)候用相同的安裝程序刪除或更新包)。搜索 Cygwin 包列表(參見(jiàn) 參考資料),檢查您喜歡的 UNIX 實(shí)用程序是否在 Cygwin 中可用。

選擇您需要的工具之后,單擊 Next,下載過(guò)程開(kāi)始!

進(jìn)度條分別反映每個(gè)包的下載進(jìn)度、總下載進(jìn)度和磁盤(pán)使用量。圖 5 是在我的測(cè)試計(jì)算機(jī)上在安裝期間截取的屏幕圖。

圖 5. Cygwin 下載大量軟件,所以請(qǐng)耐心等待

最后,安裝程序安裝軟件并(可選地)在 Start 菜單和桌面中添加快捷方式。單擊 Finish。

通過(guò)使用 Start 菜單或雙擊 Cygwin 圖標(biāo)(如果添加了這些快捷方式的話),啟動(dòng) Cygwin;也可以執(zhí)行 Cygwin 目錄中的 Cygwin 腳本(比如 C:cygwinCygwin.bat)。

圖 6 顯示第一次啟動(dòng) Cygwin 時(shí)的情況:它創(chuàng)建您的主目錄,執(zhí)行 shell 啟動(dòng)文件,顯示提示。現(xiàn)在可以運(yùn)行 Unix 命令了!

圖 6. 現(xiàn)在可以在 Windows 中使用 UNIX 命令了!

例如,試一下 ls -a 或 type touch。后一個(gè)命令表明 touch 是可執(zhí)行文件 /usr/bin/touch。

在 Windows 中發(fā)揮 UNIX 的優(yōu)勢(shì)(反之亦然)

Cygwin 在 Windows 中幾乎完整地模擬一個(gè) UNIX shell。實(shí)際上,它把這兩種操作系統(tǒng)很好地結(jié)合在一起了。例如,可以運(yùn)行 df -h 命令顯示 “UNIX 機(jī)器上的空閑磁盤(pán)空間。圖 7 顯示結(jié)果。

圖 7. 是 Windows 上的 UNIX 文件系統(tǒng),還是 UNIX 上的 Windows 文件系統(tǒng)?

正如 前面提到的,Cygwin 安裝目錄作為虛擬 Unix 系統(tǒng)的根目錄。Cygwin 把安裝目錄中的子目錄映射到 UNIX 目錄。它以單獨(dú)的卷的形式提供 Windows 驅(qū)動(dòng)器,比如 /cygwin/c。可以使用這樣的虛擬路徑啟動(dòng) Windows 程序。請(qǐng)嘗試輸入 /cygwin/c/Program Files/Internet Explorer/IEXPLORE.EXE 從命令行啟動(dòng) Windows Internet Explorer®。(還可以使用 Tab 鍵自動(dòng)展開(kāi)路徑的元素)。

順便說(shuō)一句,如果要把 Windows 路徑名轉(zhuǎn)換為等效的 UNIX 路徑名或者相反,可以試試內(nèi)置命令 cygpath。在默認(rèn)情況下,cygpath 產(chǎn)生 UNIX 路徑名。使用 -w 選項(xiàng)產(chǎn)生 Windows 路徑。

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

還有幫助溝通這兩個(gè)環(huán)境的其他特性:

Cygwin 提供它自己的 lpr(/usr/bin/lpr 而不是 Windows 的 LPR.EXE),可以直接從模擬的 UNIX 環(huán)境進(jìn)行打印。只需把 PRINTER 環(huán)境變量設(shè)置為 serverprinter_name 或 //server/printer_name 這樣的 Cygwin UNC;前向斜杠和反向斜杠都可以,在 Cygwin 中的其他地方也是如此。

在 Cygwin 中用 ln -s 創(chuàng)建的符號(hào)鏈接在 Windows 中被解釋為快捷方式。同樣,Windows 快捷方式在 Cygwin 中被解釋為符號(hào)鏈接。因此,可以使用 Windows 快捷方式帶參數(shù)啟動(dòng) UNIX 命令。

因?yàn)?Cygwin 提供完整的 Bash shell,所以可以使用上述的所有兼容特性(和其他特性)編寫(xiě) UNIX shell 腳本來(lái)維護(hù) Windows!

例如,可以使用 UNIX find 在驅(qū)動(dòng)器上搜索數(shù)據(jù)。請(qǐng)注意一點(diǎn):在 Windows 文件名中常常使用空格。為了保持完整的文件名(請(qǐng)記住,UNIX 參數(shù)以空格分隔),一定要使用 find -print0 和 xargs -0。

如何更新和擴(kuò)展 Cygwin

正如前面提到的,在任何時(shí)候都可以通過(guò)運(yùn)行 Cygwin 安裝程序添加、刪除和更新 Cygwin 類別和包。我們來(lái)添加幾個(gè)軟件開(kāi)發(fā)包,以便像在傳統(tǒng)的 Unix 系統(tǒng)上那樣從源代碼構(gòu)建程序。

再次運(yùn)行 Cygwin setup.exe 應(yīng)用程序,依次通過(guò)前幾個(gè)對(duì)話框,直到到達(dá) Select Packages 窗口,見(jiàn) 圖 4。展開(kāi) Devel 類別,使用循環(huán)控件選擇以下包的最高版本:

autoconf2.1

automake1.10

binutils

gcc-core

gcc4-core

gdb

pcre

pcre-devel

做出選擇之后(為了滿足依賴性,可能會(huì)自動(dòng)選擇其他包),單擊 Next 開(kāi)始更新。與前面一樣,下載和安裝過(guò)程需要一定的時(shí)間(開(kāi)發(fā)包往往相當(dāng)大)。

在此期間,打開(kāi)一個(gè)瀏覽器并通過(guò)訪問(wèn) http://ftp.gnu.org/gnu/wget/wget-1.11.4.tar.gz 下載 GNU wget 實(shí)用程序的最新源代碼。(wget 是一種命令行工具,它可以下載任何東西。關(guān)于此工具的更多信息,請(qǐng)參見(jiàn) 參考資料)。使用 Cygwin 把此文件復(fù)制到 Cygwin 中的主目錄,展開(kāi)壓縮文件。清單 1 顯示壓縮文件的內(nèi)容。

清單 1. wget-1.11.4.tar 的內(nèi)容

 $ cp /cygdrive/c/Documents and Settings/Martin/My Documents/wget-1.11.4.tar ~ $ tar xzvf wget-11.4.tar wget-1.11.4/ wget-1.11.4/AUTHORS wget-1.11.4/NEWS wget-1.11.4/COPYING wget-1.11.4/configure.bat wget-1.11.4/ChangeLog wget-1.11.4/ChangeLog.README wget-1.11.4/msDos/ wget-1.11.4/msdos/ChangeLog wget-1.11.4/msdos/Makefile.DJ ... wget-1.11.4/src/cookIEs.c wget-1.11.4/src/http.h wget-1.11.4/src/log.h wget-1.11.4/src/sysdep.h wget-1.11.4/src/alloca.c wget-1.11.4/src/getopt.c wget-1.11.4/src/gnu-md5.h wget-1.11.4/src/ftp.c wget-1.11.4/config.sub wget-1.11.4/config.guess $ 

當(dāng) Cygwin 下載和安裝過(guò)程完成時(shí),單擊 Finish。現(xiàn)在可以從源代碼構(gòu)建 wget 實(shí)用程序了。

$ cd wget-1.11.4 $ ./configure configure: Configuring for GNU wget 1.11.4 ... creating po/Makefile $ make gcc -I. ... $ make install ... /usr/bin/install -c -m 644 ./wget.1 /usr/local/share/man/man1/wget.1 $ type wget /usr/local/bin/wget 

為了測(cè)試這個(gè)新的實(shí)用程序,在 Cygwin 中運(yùn)行它并下載 wget 源代碼:

$ /usr/local/bin/wget http://ftp.gnu.org/gnu/wget/wget-1.11.4.tar.gz 

稍后就會(huì)得到一個(gè)新的源代碼壓縮文件。使用 Cygwin 安裝程序從 Cygwin 存儲(chǔ)庫(kù)獲得實(shí)用程序是最簡(jiǎn)單的方法,但是也可以在 Cygwin 中構(gòu)建下載的或自己的源代碼。在 Cygwin 中可以使用全套 Unix 開(kāi)發(fā)工具,包括最流行的腳本編程語(yǔ)言。

如果您不喜歡 Microsoft Visual Studio® 等 Windows 開(kāi)發(fā)工具,甚至可以用 Cygwin 中的 UNIX 編譯器和工具構(gòu)建原生 Windows WIN32 應(yīng)用程序。

結(jié)束語(yǔ)

Cygwin 并不是完美的 UNIX 模擬環(huán)境,但已經(jīng)相當(dāng)好了。核心組件的文檔很完善,而且特別方便,它們介紹了模擬 DLL 中的限制和安全風(fēng)險(xiǎn)。如果希望把復(fù)雜的 UNIX 包遷移到 Cygwin,請(qǐng)參考開(kāi)發(fā)人員指南(參見(jiàn) 參考資料),評(píng)估 Cygwin 的支持是否能夠滿足您的 API 需要。

Cygwin 最棒的特性可能是它與 Windows 的集成。使用 Cygwin 和它的 UNIX 命令行來(lái)操縱系統(tǒng)可以大大提高生產(chǎn)力。建議在您的 shell PATH 變量中包含 Windows 的 Program Files 中的子目錄,這樣只需輸入程序名,就能夠啟動(dòng)路徑中的任何二進(jìn)制程序。

更棒的是,Cygwin 可以在同一個(gè)窗口中管理多個(gè)作業(yè)。按 Control-Z 可以暫停正在運(yùn)行的作業(yè);輸入 bg 和 fg 分別在后臺(tái)和前臺(tái)運(yùn)行作業(yè);輸入 jobs 管理作業(yè)列表。當(dāng)然,Cygwin 還可以對(duì)輸入和輸出進(jìn)行重定向,可以通過(guò)管道把一個(gè)命令的輸出發(fā)送給另一個(gè)命令。

Cygwin 真的很不錯(cuò)。

標(biāo)簽: Windows系統(tǒng)
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费人成黄页网站在线一区二区| 91欧美在线| 在线日韩视频| 97在线精品| 日韩深夜视频| 亚洲精品在线影院| 色黄视频在线观看| 神马久久午夜| 亚洲成人精品| 红桃视频欧美| 水蜜桃久久夜色精品一区的特点| 噜噜噜久久亚洲精品国产品小说| 国产精品嫩草99av在线| 午夜性色一区二区三区免费视频| 老鸭窝毛片一区二区三区| 久久精品国产www456c0m| 久久精品国语| 9国产精品视频| 亚洲精品888| 精品一区欧美| 亚洲一区欧美| 国产日韩一区二区三区在线播放| 视频一区二区三区中文字幕| 日韩国产成人精品| 六月丁香综合在线视频| 亚洲精品福利电影| 一区在线观看| 久久97久久97精品免视看秋霞| 久久久免费人体| 日韩久久电影| 三级在线观看一区二区| 日韩av一区二区在线影视| 国产精品**亚洲精品| 久久精品国产99国产精品| 亚洲日本网址| 美女国产精品| 国产精品久久久久9999高清| 国产精品黑丝在线播放| 久久精品1区| 亚洲日本免费电影| 久久中文欧美| 日韩视频精品在线观看| 日韩高清成人在线| 大香伊人久久精品一区二区| 欧美日韩国产精品一区二区亚洲| 日韩免费精品| 欧美国产偷国产精品三区| 美女少妇全过程你懂的久久| 蜜臀久久久99精品久久久久久| 久久国产尿小便嘘嘘| 亚洲精品一级二级| 亚洲精品伦理| 亚洲精品88| 中文字幕亚洲在线观看| 欧美精品1区| 欧美成人高清| 国产精品白丝久久av网站| 69堂免费精品视频在线播放| 韩国三级一区| 日韩国产91| 国产一区二区三区自拍| 欧美一区二区三区久久精品| av一区在线| 日本中文字幕一区二区| 欧美一级鲁丝片| 日韩精品一二三| 欧美偷窥清纯综合图区| 日本中文字幕视频一区| 视频一区二区三区在线| 国产亚洲人成a在线v网站| 日韩一二三区在线观看| 久久狠狠久久| 久久精品国产68国产精品亚洲| 在线成人直播| 在线看片福利| 神马日本精品| 黑森林国产精品av| 亚欧洲精品视频在线观看| 欧美不卡在线| 欧美日韩亚洲在线观看| 亚洲美女91| av高清不卡| 国产伦乱精品| 亚洲久久视频| 日本麻豆一区二区三区视频| 日韩a一区二区| 国产成人免费精品| 日韩在线不卡| 天堂8中文在线最新版在线| 免费久久精品视频| 国产综合色区在线观看| 四虎精品永久免费| 99视频精品全国免费| 蜜臀久久久久久久| 久久久久99| 精品一区二区三区在线观看视频| 中文在线日韩| 一级欧洲+日本+国产| 粉嫩av一区二区三区四区五区 | 亚洲www免费| 美女久久一区| 午夜av成人| 国产精品一区高清| 美女黄网久久| 日本不卡一二三区黄网| 国产乱码精品一区二区三区四区| 视频一区欧美日韩| 国产精品99一区二区| 欧美日韩国产传媒| 久久久久网站| 日韩一区二区久久| 免费久久精品视频| 午夜国产精品视频| 久久99国产精品视频| 激情五月色综合国产精品| 国产激情在线播放| 国产精品chinese| 日本亚洲最大的色成网站www | 亚洲精品第一| 日韩av中文字幕一区二区三区| 福利一区二区| 亚洲欧美日韩国产| 久久久久午夜电影| 午夜欧美精品| 日韩成人亚洲| 欧美成人精品午夜一区二区| 蜜桃视频一区二区| 久久久免费人体| 日韩三区四区| 精品在线99| 日韩精品一级中文字幕精品视频免费观看 | 免费视频一区二区三区在线观看 | 免费精品视频最新在线| 精品久久久中文字幕| 国产日产一区| 久久国产乱子精品免费女| 免费视频最近日韩| 国产精品日本| 日本午夜大片a在线观看| 久久一区国产| 精品国产乱码| 91久久久久| 国产精品一区二区av交换| 美女久久久久| 丝瓜av网站精品一区二区| 色狠狠一区二区三区| 日韩精品麻豆| 麻豆成人91精品二区三区| 黄色欧美在线| 日韩精品乱码av一区二区| 亚洲大片在线| 香蕉精品久久| 羞羞答答国产精品www一本| 伊人久久大香伊蕉在人线观看热v| 亚洲一区欧美二区| 宅男噜噜噜66国产日韩在线观看| 精品欧美一区二区三区在线观看| 亚洲精品自拍| 亚洲欧美在线专区| bbw在线视频| 国产va在线视频| 日韩欧美精品一区二区综合视频| 久久激情网站| 国产中文欧美日韩在线| 国产精品一区三区在线观看| 麻豆精品av| 久久精品国产免费| 欧美日韩在线二区| 欧美日韩中文一区二区| 奇米色欧美一区二区三区| 视频一区二区中文字幕| 久久中文字幕av| 日韩在线网址| 国产精品qvod| 精品三级av| 伊人www22综合色| 国产欧美亚洲一区| 水蜜桃精品av一区二区| 石原莉奈在线亚洲二区| 国产精品一区二区三区www| 国产精品97| 国产精品毛片在线| 九一成人免费视频| 国产福利亚洲| 国产一区欧美| 欧美黄色精品| 亚洲成人精品| 久久av网站| 一本大道色婷婷在线| 国产调教一区二区三区| 亚洲毛片网站| 在线国产日韩| 日本不卡视频一二三区| 人人爱人人干婷婷丁香亚洲| 日本欧美一区二区| 欧美亚洲三区| 麻豆国产精品777777在线| 91久久精品无嫩草影院| 亚洲激情精品| 蜜桃一区二区三区在线观看|