Unix已經有35年歷史了。許多人認為它開始于中世紀,這個中世紀是相對于
計算機技術的產生和發展來說的。在過去的時間里,Unix和它的子分支Linux收集
有許多的歷史和一些完全古老的語言。在這篇技巧文章中,我們將介紹一少部分古
老的語言和它們的目的和作用,以及它們真正的來源。
RC
在Linux中,最為常用的縮略語也許是“rc”,它是“runcomm”的縮寫――即名詞
“run command”(運行命令)的簡寫。今天,“rc”是任何腳本類文件的后綴,這些
腳本通常在程序的啟動階段被調用,通常是Linux系統啟動時。如 /etc/rs是
Linux啟動的主腳本,而.bashrc是當Linux的bash shell啟動后所運行的腳
本。.bashrc的前綴“.”是一個命名標準,它被設計用來在用戶文件中隱藏那些用戶
指定的特殊文件;“ls”命令默認情況下不會列出此類文件,“rm”默認情況下也不會
刪除它們。許多程序在啟動時,都需要“rc”后綴的初始文件或配置文件,這對于
Unix的文件系統視圖來說,沒有什么神秘的。
ETC
在“etc/bin”中的“etc”真正代表的是“etcetera”(附加物)。在早期的Unix系
統中,最為重要的目錄是“bin”目錄 (“bin”是“binaries”二進制文件――編譯后的
程序的縮寫),“etc”中則包含瑣碎的程序,如啟動、關機和管理。運行一個Linux
必須的東西的列表是:一個二進制程序,etcetera,etcetera――換句話說,是一個
底層的重要項目,通常添加一些次等重要的零碎事物。今天, “etc”包含了廣泛
的系統配置文件,這些配置文件幾乎包含了系統配置的方方面面,同樣非常重要。
Bin
今天,許多在Linux上運行的大型子系統,如GNOME或Oracle,所編譯成的程
序使用它們自己的“bin”目錄(或者是 /usr/bin,或者是/usr/local/bin)作為標
準的存放地。同樣,現在也能夠在這些目錄看到腳本文件,因為“bin”目錄通常添
加到用戶的PATH路徑中,這樣他們才能夠正常的使用程序。因此運行腳本通常在
bin中運行良好。
TTY
在Linux中,TTY也許是跟終端有關系的最為混亂的術語。TTY是TeleTYpe的
一個老縮寫。Teletypes,或者 teletypewriters,原來指的是電傳打字機,是
通過串行線用打印機鍵盤通過閱讀和發送信息的東西,和古老的電報機區別并不是
很大。之后,當計算機只能以批處理方式運行時(當時穿孔卡片閱讀器是唯一一種
使程序載入運行的方式),電傳打字機成為唯一能夠被使用的“實時”輸入/輸出設
備。最終,電傳打字機被鍵盤和顯示器終端所取代,但在終端或 TTY接插的地
方,操作系統仍然需要一個程序來監視串行端口。一個getty“Get TTY”的處理過
程是:一個程序監視物理的TTY/終端接口。對一個虛擬網絡沮喪服務器(VNC)來說,
一個偽裝的TTY(Pseudo-TTY,即家貓的TTY,也叫做“PTY”)是等價的終端。當你運
行一個xterm(終端仿真程序)或GNOME終端程序時,PTY對虛擬的用戶或者如xterm一
樣的偽終端來說,就像是一個TTY在運行。“Pseudo”的意思是“duplicating in
a fake way”(用偽造的方法復制),它相比“virtual”或“emulated”更能真實的
說明問題。而在現在的計算中,它卻處于被放棄的階段。
Dev
從TTY留下的命令有“stty”,是“set tty”(設置TTY)的縮寫,它能夠生成
一個配置文件/etc/initab(“initialization table”,初始表),以配置gettys
使用哪一個串口。在現代,直接附加在Linux窗口上的唯一終端通常是控制臺,由
于它是特殊的TTY,因此被命名為“console”。當然,一旦你啟動
X11,“console”TTY就會消失,再也不能使用串口協議。所有的TTY都被儲存在
“/dev”目錄,它是“[physical] devices”([物理]設備)的縮寫。以前,你必須在
電腦后面的串口中接入一個新的終端時,手工修改和配置每一個設備文件。現
在,Linux(和 Unix)在安裝過程中就在此目錄中創建了它所能向導的每一個設備
的文件。這就是說,你很少需要自己創建它。
隨著硬件在電腦中的移出移進,這些名字將變得更加模糊不清。幸運的是,
今天在Linux上的高等級軟件塊對歷史和硬件使用容易理解的名字。舉例來說,
嗯,Pango(http://www.pango.org/)就是其中之一。
如果你對這些內容很感興趣,那么我建議你閱讀宏大的,但有些以美國英語
歷史為中心的,由Eric S. Raymond撰寫的Jargon File。它并沒有解釋所有
在Unix中使用的術語,但是它給出了這些形成的大致情況。