日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一篇:超级工具/Terminals,xterms 和 Shells

發(fā)布時間:2025/1/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一篇:超级工具/Terminals,xterms 和 Shells 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?一、超級工具

您或許聽過這樣的論調(diào):命令行(the mommand line)早就已經(jīng)過時了,那東西神秘兮兮的,等等。有些人甚至覺得操作系統(tǒng)中應(yīng)該沒有這些命令才好。

事實是上,您可以不懂任何 shell ,就能使用 Linux 。您啟動系統(tǒng)后可以直接進(jìn)入 X Window ,最后在 X Window 下關(guān)機。
我堅信,用 Linux 而不懂 shell ,就象開車只會用頭檔(first gear)一樣。當(dāng)然,最初看起來,直接而簡單,在大多數(shù)情況下都管用。但速度慢,而且無法真正體驗駕駛的樂趣。

對,命令行很有趣。就象用一大堆收集到的積木,竟可以完成許多意想不到的創(chuàng)舉,一些極其復(fù)雜的工作,只需幾行命令就可以解決。這是因為,在 Unix 中,shell 可不是簡單的命令解釋器(典型的有 Windows 中的 DOS ),而是一個全功能的編程環(huán)境。
這并不意味著 shell 非常容易學(xué)通,您知道,好事多磨,這還是要花點工夫的。;-) 但請相信我,這絕對值得。您在很短時間內(nèi),就能被一大幫門外漢吹捧為 Unix wizard(奇才) 。*grin*

二、為了說明 shell ,這里需要一些背景知識。


1、Terminals, xterms 與 Shells

追溯到 Unix 誕生的那個年代,當(dāng)時還沒有現(xiàn)在流行的"個人計算機"。被稱為計算機的機器,還是吞吐磁帶與 magnetic memory (用術(shù)語'core'來表示系統(tǒng) memory)的龐然大物。DEC 公司(現(xiàn)在的 Compaq)推出的 PDP-11 ,體積小(被稱為 mini)而且價格底,在大學(xué)中引起了巨大的反響,很多學(xué)校直到那時才買得起一臺計算機(PDP-11 物美價廉,只有 10000$)。

這些機器的操作系統(tǒng)由匯編語言、機器語言寫成,所以運行起來效率很高,但都無法移植(unportable)。每家計算機公司都給自己的機器配上獨有的操作系統(tǒng),然后再銷售。

這種笨拙的作法很快就被人們意識到了,于是就開始興建一個可以在不同品牌機器上運行的操作系統(tǒng)。1969 年,Ken Thompson 開始寫后來成為 Unix 的第一行代碼。(Thompson 曾經(jīng)參加了一個項目:MULTICS,Unix 是與這有關(guān)的一個玩笑詞) 其實,Dennis Ritchie 為這個新的操作系統(tǒng)設(shè)計了一種新的編程語言-- C 語言后,事情才真正開始。

雖然 Unix 的效率不及原來的操作系統(tǒng),但有三個突出的優(yōu)點:可以任意移植到其他機器,其中的 C 語言大大簡化了編程,而且這些都 free 。很快,全美國的大學(xué)都忙著開始為機器安裝 Unix 。

2、終端(Terminals)

Unix 是可以在許多種機器上運行的操作系統(tǒng),但人們又如何使用這些機器呢?他們是通過啞終端來連接到這些機器,也就是用鍵盤、顯示器及足夠的 electronics (電子元件)組成的機器與中央計算機(central computer)相連。在這些終端上,用戶可以敲字符(teletypy),這就是字符串'tty'表示終端設(shè)備文件,和'getty'命令的名稱來歷。

您可能會問,現(xiàn)在這些東西都在哪兒。 這些終端的廠家無法達(dá)成一項最終標(biāo)準(zhǔn),這導(dǎo)致每種牌子的終端都有各自的鍵盤布局、各自的在屏幕上顯示字符的方法、發(fā)送或接收什么信號表示什么字符、控制代碼等等。

為了避免這些混亂,就創(chuàng)建了一個含有所有不同終端特性的(capability)文件,這就是'termcap'。用一個工具打開'/etc/termcap'瞧瞧,可別嚇著了 ;-) 。

Linux 終端大多數(shù)用'vt100'或'linux'作為終端類型。

3、xterms

在八十年代初期,產(chǎn)生了一個 Unix 的圖形子系統(tǒng)-- the X Window System 。九十年代早期,為了更好地實現(xiàn)基于 Intel 的 Unix 類系統(tǒng)上(如FreeBSD、NetBSD、Linux)的應(yīng)用,產(chǎn)生了一個系統(tǒng)分支-- XFree86 。

X Window 中一個很大的好處是可以運行多個虛擬(virtual)終端。甚至在 X Window 下就有這么個應(yīng)用程序--'xterm'。您將發(fā)現(xiàn)'xterm'和'virtual terminal'在很多情況下都是一樣的。有的地方說'打開一個 xterm',其實您不是非要用'xterm'程序,其他的終端模擬器(terminal emulator),如 rxvt、konsole、aterm、eterm、wterm 等等,一樣有效。

終端模擬器(又稱為虛擬終端)通過偽(pseudo) tty 設(shè)備-- pty 與系統(tǒng)相連,并且使用自己的顯示標(biāo)準(zhǔn)-- xterm 。這導(dǎo)致不同的終端模擬器可能在一些按鍵或程序上存在細(xì)小的差別,這取決于模擬器多大程度上遵守了'xterm'的顯示標(biāo)準(zhǔn)。

4、Shells

為了在終端中運行程序,需要 shell 。shell 是操作系統(tǒng)的一部分,用來與用戶打交道,并且可以用來協(xié)調(diào)各個命令。

第一個真正的 Unix shell -- 'sh',亦稱為'Bourne shell',誕生于 1975 年,作者是 Steve Bourne 。很快,出現(xiàn)了其他 shell ,如基于原始'Bourne shell'的'ksh'、'zsh',后者常用作專屬 Unixes 系統(tǒng)中的標(biāo)準(zhǔn) shell ;也有一些從 C 語言中衍生出來的 shell ,如'csh'或'tcsh'。

在 Linux 中,標(biāo)注的 shell 是'bash',即 the GNU Bourne-Again Shell (有點玩笑的味道……)。這個 shell 功能非常強大(甚至有人覺得太龐大了),壓縮的 man page 就有 50 KB 。

三、Shell 起步

首先,有一點小說明:在平常應(yīng)用中,建議您不要用'root'帳號運行 shell ,如果您還是新手,這一點尤其要注意。作為普通用戶,不管您有意還是無意,都無法破壞系統(tǒng);但如果是'root',那就不同了,只要敲幾個字母,就可能導(dǎo)致災(zāi)難性后果。

當(dāng)您登入系統(tǒng)或打開一個 xterm 窗口,首先看到的是提示符(prompt)。Red Hat Linux 的標(biāo)準(zhǔn)提示符包括了您的用戶名、登入的主機名(沒有設(shè)置的話,是'localhost')、當(dāng)前所在的目錄(working directory)、提示符號:

[tom@belbo tom]$


我以用戶名'tom'登入名為'belbo'的主機,當(dāng)前在我的 home 目錄--'/home/tom'中。'root'的提示符:

[root@belbo root]#


除了不同的用戶名外,提示符號由'$'變成了'#'。根據(jù) Bourne shell 的傳統(tǒng),普通用戶的提示符以'$'結(jié)尾,而超級用戶用'#'。

?

提示符的每個部分都可以定制,您在后面將有更深的了解。

要運行命令的話,您只要在提示符后敲進(jìn)命令,然后在按?鍵。shell 將在其路徑中(詳情見后)搜索這個命令,找到以后就運行,并在終端里輸出相應(yīng)的結(jié)果(如果有的話),命令結(jié)束后,再給出新的提示符:

[tom@belbo tom]$ whoami
tom
[tom@belbo tom]$

?

順帶指出,當(dāng)您敲 ENTER 時,光標(biāo)(cursor)在哪里并不要緊,因為 shell 總是會整行地讀取。

基本的命令有:'ls'(list directory ,列出目錄內(nèi)容)、'cp'(copy ,復(fù)制)、'mv'(move / rename ,移動/重命名),'cd '(change directory ,改變目錄),這些命令后面都可以跟上一幫可選項,這方面 man page 有詳細(xì)的介紹(man ls, man mv 等等)。
在您動身前往 shell 領(lǐng)地前,這里有幾個術(shù)語(terminology)的簡短說明。命令可能帶一些可選項(options)、參數(shù)(arguments):

mv -i file dir

?

其中'-i'是命令'mv'的一個可選項,而'file'和'dir'則是參數(shù)。所有可選項在該命令的 man page 都中有詳細(xì)的介紹(此例中用 man mv),而參數(shù)則由您提供。可選項決定命令如何工作,而參數(shù)則用于確定命令作用的目標(biāo)。

到目前為止,介紹得有點象許多人厭惡輕視的 DOS shell ,但伴隨著下面的介紹,您將會有新的體驗。

轉(zhuǎn)載于:https://blog.51cto.com/3579224/666284

總結(jié)

以上是生活随笔為你收集整理的第一篇:超级工具/Terminals,xterms 和 Shells的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。