Ubuntu完全教程谚攒,讓你成為Ubuntu高手阳准!

Ubuntu的發(fā)音

Ubuntu,源于非洲祖魯人和科薩人的語言馏臭,發(fā)作 oo-boon-too 的音野蝇。了解發(fā)音是有意義的,您不是第一個(gè)為此困惑的人括儒,當(dāng)然绕沈,也不會(huì)是最后一個(gè):)大多數(shù)的美國人讀 ubuntu 時(shí),將 u 作為元音發(fā)音帮寻,類似單詞 who 或者 boo 乍狐,重音在第二個(gè)音節(jié)即 u'buntu ,oo-boon-too 固逗。如果您喜歡撒哈拉浅蚪,喜歡它令人窒息的溫柔、夢幻般的寂寥還有張揚(yáng)恣肆的曠遠(yuǎn)抒蚜,您大可在第一個(gè) u掘鄙,后面帶些嗡嗡聲: oom-boon-too。Ubuntu的中文發(fā)音大約為: 烏班圖

1.Ubuntu的涵義

Ubuntu這個(gè)單詞源自非洲嗡髓,意謂“班圖精神”────誰都不是一座孤島,自成一體收津。每個(gè)人都包孕于人類饿这,因他人存在而存在浊伙,因他人幸福而幸福。

2.Ubuntu的特點(diǎn)

Ubuntu 完全基于 Linux 操作系統(tǒng)长捧, 可以免費(fèi)得到社區(qū)及專業(yè)機(jī)構(gòu)的支持嚣鄙。龐大的社區(qū)是它成長的沃土,請向這片動(dòng)人的熱忱敞開心扉串结。

Ubuntu 社區(qū)恪守 Ubuntu 理念:自由哑子!軟件應(yīng)是自由的,應(yīng)尊重人類的自由意志肌割,它與人類之間不應(yīng)有任何隔膜卧蜓。本地語種,功能限制把敞,自主改進(jìn)的權(quán)利……都不應(yīng)成為使用的障礙或負(fù)擔(dān)。自由,讓 Ubuntu 與傳統(tǒng)的私有軟件從根本上不同: 免費(fèi)不能用來遮羞闷祥,您有權(quán)修正它污朽,直到滿意為止。

Ubuntu 適合桌面和服務(wù)器耽装。當(dāng)前 Ubuntu 發(fā)布版支持 PC (Intel x86), 64-bit PC (AMD64) 和 PowerPC (Apple iBook 和 Powerbook, G4 和 G5) 架構(gòu)愤炸。

Ubuntu 包涵了超過 16,000 種軟件, 核心的桌面系統(tǒng)卻只有一張光盤掉奄, Ubuntu 覆蓋了所有的桌面應(yīng)用程序,從文字處理规个,電子表格到 web 服務(wù)器和開發(fā)設(shè)計(jì)環(huán)境一應(yīng)俱全。 詳情查看 Ubuntu 桌面 和 Ubuntu 服務(wù)器的介紹挥萌。

Ubuntu相對其它Linux發(fā)行版的主要特點(diǎn):

1.基于Debian/Linux:使用 APT 包管理系統(tǒng)绰姻。

2.相對于Fedora Code: APT 包管理系統(tǒng)優(yōu)雅地解決了依賴問題,并且可以從容的在線安裝升級

3.相對于Debian:軟件更新積極引瀑,而Debian較保守狂芋。

4.相對于Gentoo:基本無需編譯,省力憨栽、省時(shí)帜矾、省心。

進(jìn)入系統(tǒng)

在登錄界面中輸入您的用戶名屑柔,然后系統(tǒng)將提問您的密碼屡萤,輸入您的密碼后,回車掸宛,稍事等待死陆,您便可以進(jìn)入U(xiǎn)buntu系統(tǒng),點(diǎn)擊桌面左上角的圖標(biāo),您可以打開一個(gè)菜單(或者使用 Alt+F1 組合鍵)措译,如果您想退出系統(tǒng)别凤,可以點(diǎn)擊該圖標(biāo),在桌面上方啟動(dòng)欄中领虹,包含了一些常用程序的啟動(dòng)圖標(biāo)這些圖標(biāo)也可以在開始菜單中找到规哪,現(xiàn)在點(diǎn)擊FireFox圖標(biāo),您便可以使用FireFox瀏覽器沖浪塌衰,或者按下 Alt+F2 組合鍵诉稍,彈出一個(gè)運(yùn)行命令對話框。輸入 firefox 后回車最疆,同樣可以啟動(dòng)FireFox杯巨,菜單中找到 終端,點(diǎn)擊它便開啟了一個(gè)終端窗口肚菠,您可以在終端窗口中運(yùn)行命令舔箭,也可以在控制臺(tái)中輸入命令。使用 Ctrl+Alt+[F1~F6] 蚊逢,您可以切換到1~6號(hào)控制臺(tái)层扶,使用 Ctrl+Alt+F7 可以返回圖形界面(您可以使Ctrl+Alt+BackSpace 將圖形界面關(guān)閉)

命令行提示符

user@ubuntu:~$ 為命令提示符, @ 之前的部分為當(dāng)前用戶ID烙荷, @ 與 : 之間的部分镜会,為您的主機(jī)名稱, : 與 $ 之間的部分终抽,為當(dāng)前的路徑戳表。

退出系統(tǒng)

您可以點(diǎn)擊這一個(gè)圖標(biāo)來退出系統(tǒng)

也可以在終端或者控制臺(tái)中輸入命令

sudo halt

系統(tǒng)會(huì)提問您密碼,輸入正確密碼昼伴,便可以退出系統(tǒng)

在以后的章節(jié)中匾旭,如果我們提示您輸入命令,那么您即可以在終端中輸入圃郊,也可以在控制臺(tái)中輸入价涝。如果只是啟動(dòng)應(yīng)用程序,還可以使用 Alt+F2 組合鍵持舆。

安裝

分區(qū)概念

首先我們需要知道色瘩,硬盤分區(qū)的存在,是由硬盤的物理特性決定的逸寓,并不會(huì)因?yàn)椴煌牟僮飨到y(tǒng)而有所改變居兆。

請您把一塊硬盤想象為一本書……即便您不喜歡讀書,您也一定非常熟悉它竹伸,所有的書都是相同的泥栖,包括我們使用的課本……您肯定非常熟悉

一本完整的書,通常包括書名、索引和正文聊倔。

如果您需要Linux晦毙,您首先需要找到一本書名為《linux》的書生巡,書名相當(dāng)于硬盤中的MBR耙蔑,也就是主引導(dǎo)紀(jì)錄。不同的是孤荣,MBR可以是幾個(gè)書名合在一起甸陌,類似于《XX合訂本》。這部分內(nèi)容暫時(shí)還沒有什么實(shí)用價(jià)值盐股,您只需要大概的了解钱豁。

而正文,就是硬盤中紀(jì)錄的數(shù)據(jù)疯汁,這也非常容易理解牲尺,且對于安裝系統(tǒng)并沒有什么影響,所以現(xiàn)在我們來了解索引

索引相當(dāng)于硬盤中的分區(qū)表幌蚊,書中的每一個(gè)章節(jié)谤碳,相當(dāng)于硬盤中的一個(gè)分區(qū),它起始和結(jié)束的頁次溢豆,都可以在索引中找到蜒简。試想,如果閱讀一本撕掉索引的書漩仙,您將很難找到您想閱讀的部分搓茬。同樣,如果沒有分區(qū)表队他,操作系統(tǒng)也不能夠在硬盤上定位數(shù)據(jù)的位置卷仑。

由于歷史的原因,硬盤中的分區(qū)表大小受到了限制麸折,最多只可以容納四個(gè)分區(qū)(主分區(qū))锡凝。如果一本書,它的索引最多只能有四個(gè)章節(jié)磕谅,那不是太可怕了么私爷?很多書的內(nèi)容遠(yuǎn)遠(yuǎn)不止四個(gè)章節(jié)啊膊夹!

于是聰明的人們想到了一個(gè)變通的辦法衬浑,就是利用其中的一個(gè)章節(jié),來存儲(chǔ)其它部分的索引放刨。比如第一章是前言工秩,第二章是其它部分的索引,我們翻到第二

章,呵呵助币,這里是第二個(gè)索引浪听,因?yàn)橹挥械谝粋€(gè)索引受四個(gè)章節(jié)的限制,所以這個(gè)索引的內(nèi)容可以非常的詳盡眉菱。第二個(gè)索引就是分區(qū)表中的擴(kuò)展分區(qū)了迹栓,其中定義的

章節(jié),就是硬盤中的邏輯分區(qū)俭缓,不是很難理解吧克伊?

明白了這一點(diǎn),我們來看看Linux和Windows對于分區(qū)不同的表示方法:

可能您已經(jīng)很熟悉Windows了华坦,它使用盤符來表示分區(qū)愿吹,比如 C: D: E:

,每一個(gè)分區(qū)使用一個(gè)盤符來標(biāo)識(shí)惜姐,而且順序可以顛倒犁跪, D:

并不一定就是您系統(tǒng)中的第二個(gè)分區(qū)。(如果您給第二個(gè)分區(qū)分配最后一個(gè)硬盤盤符歹袁,把所有的盤符按順序排列好坷衍,并且重裝一次系統(tǒng),您就會(huì)理解什么叫作“頭

疼”了:)

而在Linux中宇攻,分區(qū)是這樣表示的

/dev/hda?????????????? /dev/hda1?? ?????? /dev/hda2???????????? /dev/hda5/??????????? dev/sdb1

以 /dev/hda5 為例:

因?yàn)樵贚inux中惫叛,每一個(gè)設(shè)備都是用 /dev/ 文件夾下的一個(gè)文件來表示,所以 /dev/hda5 中逞刷, /dev/ 表示的是根目錄下的dev目錄嘉涌,我們來看剩下的部分 hda5 。

前兩位的字母 hd 表示這是一塊IDE硬盤夸浅,如果是 sd 仑最,則代表SATA硬盤,或者閃存等外設(shè)帆喇。

第三位的字母 a 表示這是該類型接口上的第一個(gè)設(shè)備警医。同理, b坯钦、c预皇、d…… 分別代表該類型接口上的第二三四……個(gè)設(shè)備。例如 hdc 表示第二個(gè)IDE接口上的主硬盤(每個(gè)IDE接口上允許一個(gè)主設(shè)備和一個(gè)從設(shè)備)婉刀。

第四位的數(shù)字 5吟温,并不表示這是該硬盤中的第5個(gè)分區(qū),而是第一個(gè)邏輯分區(qū)突颊。因?yàn)樵贚inux中鲁豪,為了避免不必要的混亂潘悼,分區(qū)的順序是不能改變的,分區(qū)標(biāo)識(shí)則由它們在硬盤中的位置決定爬橡。系統(tǒng)又要為所有可能的主分區(qū)預(yù)留標(biāo)識(shí)治唤,所以 1-4 一定不會(huì)是邏輯分區(qū), 5 則是第一個(gè)邏輯分區(qū)糙申,以此類推宾添。

安裝中的注意事項(xiàng)

在Ubuntu系統(tǒng)的安裝過程中,您需要選擇系統(tǒng)目錄的掛載點(diǎn)郭宝。

我們知道辞槐,安裝Windows時(shí),我們可以選擇把系統(tǒng)安裝在哪一個(gè)分區(qū)粘室,把系統(tǒng)掛載到分區(qū)上。而在buntu/Linux中則相反卜范,我們要把分區(qū)掛載到系統(tǒng)中捂襟。當(dāng)我們使用Windows的安裝方式盹憎,把系統(tǒng)掛載到分區(qū)上,我們就不可能把Windows目錄放在C盤,而把MyDocuments目錄放到其它分區(qū)哟忍。您或者出于習(xí)慣,或者出于數(shù)據(jù)安全方面的考慮皆愉,通常把文檔放到其它分區(qū)中证杭。但是Windows下很多軟件保存文件的默認(rèn)目錄就是MyDocument目錄,這就比較不方便湾宙。

在系統(tǒng)安裝完成后樟氢,我們還是可以將MyDocuments目錄轉(zhuǎn)移到其它分區(qū)中,不過有點(diǎn)麻煩侠鳄,可能許多朋友還不知道怎么去作……而任何一種Linux系統(tǒng)時(shí)埠啃,當(dāng)然包括Ubuntu,我們可以在系統(tǒng)安裝時(shí)就把分區(qū)掛載到目錄下伟恶, /home 目錄相當(dāng)于Windows的MyDocuments 碴开,我們可以把 /dev/hda5 掛載到此目錄下,這樣我們往 /home目錄里存東西的時(shí)候博秫,其實(shí)保存在第一個(gè)擴(kuò)展分區(qū)中潦牛。如果再一次安裝系統(tǒng),只要把這個(gè)分區(qū)掛載到 /home目錄下挡育,那么進(jìn)入新系統(tǒng)就像回家一樣巴碗,真是太棒了。

理論上來講静盅,您可以將分區(qū)掛載到任何目錄下面良价,您可以自定義掛載的路徑寝殴。但是我們并不推薦您這么作,因?yàn)槟菦]有任何意義明垢。系統(tǒng)安裝程序向您建議的掛載目錄蚣常,通常也是我們向您建議的,現(xiàn)在我們來了解一下痊银,這些目錄通常都是用來作什么的:

/根目錄抵蚊,唯一必須掛載的目錄。不要有任何的猶豫溯革,選一個(gè)分區(qū)贞绳,掛載它!(在絕大多數(shù)情況下致稀,有2G的容量應(yīng)該是夠用了冈闭。當(dāng)然了,很多東西都是多多益善的:)

Swap交換分區(qū)抖单,可能不是必須的萎攒,不過按照傳統(tǒng),并且照顧到您的安全感矛绘,還是掛載它吧耍休。它的容量只要大于您的物理內(nèi)存就可以了,如果超過了您物理內(nèi)存兩倍的容量货矮,那絕對是一種浪費(fèi)羊精。

/home前面已經(jīng)介紹過了,這是您的家目錄囚玫,通常您自己創(chuàng)建的文件喧锦,都保存在這里,您最好給它分配一個(gè)分區(qū)

/usr應(yīng)用程序目錄劫灶。大部分的軟件都安裝在這里裸违。如果您計(jì)劃安裝許多軟件,建議您也給它分配一個(gè)分區(qū)

/var如果您要作一些服務(wù)器方面的應(yīng)用本昏,可以考慮給它分配一個(gè)較大的分區(qū)

/boot如果您的硬盤不支持LBA模式(我想那不太可能:)供汛,您最好掛載它,如果掛載硬盤的第一個(gè)分區(qū)涌穆,應(yīng)該比較穩(wěn)妥怔昨。一般來說,掛載的分區(qū)只要100M大小就足夠了

在文件系統(tǒng)這一環(huán)節(jié)中宿稀,我們建議您選擇: ReiserFS

也許您注意到了趁舀,Windows中,盤符既用于表示硬件(硬盤上的分區(qū)),又用于表示系統(tǒng)中的路徑祝沸。而Linux中矮烹,硬件就是硬件越庇,路徑就是路徑,不會(huì)混淆在一起奉狈,簡單直接卤唉!

Linux基礎(chǔ)

Shell

可能您早已能夠熟練的使用GUI(圖形用戶界面),例如您可以使用鼠標(biāo)雙擊一個(gè)圖標(biāo)仁期,來打開或者執(zhí)行它桑驱。

我們來看這個(gè)過程: 您使用鼠標(biāo)定位桌面上的一個(gè)程序圖標(biāo),按下左鍵兩次跛蛋。系統(tǒng)讀取鼠標(biāo)指針的位置熬的,并且判斷該位置下圖標(biāo)的涵義,根據(jù)預(yù)設(shè)的雙擊動(dòng)作赊级,運(yùn)行程序或者打開文件押框。

這一套GUI系統(tǒng),便是一種Shell此衅,它的作用是實(shí)現(xiàn)人機(jī)交互强戴。如果我們不能夠控制電腦,那么電腦還不如電視機(jī)好玩挡鞍,不是么?電視機(jī)也可以選擇頻道(電視機(jī)的遙控器预烙,也是一種人機(jī)交互的界面墨微,不過相對于電腦,確實(shí)是相當(dāng)簡單了:)

易于上手扁掸、界面直觀是GUI的優(yōu)點(diǎn)翘县,但是GUI為不意味著簡單!或許您有類似經(jīng)歷: 桌面上有幾十個(gè)程序的啟動(dòng)圖標(biāo)谴分,也知道它們的名字锈麸,但是翻出一個(gè)來,并不是一件輕松的事情牺蹄。

我的Windows系統(tǒng)中忘伞,桌面上擺滿了各種圖標(biāo),每當(dāng)啟動(dòng)一個(gè)程序的時(shí)候沙兰,我都很是困擾氓奈。后來嘗試了 音速啟動(dòng) 這類的程序啟動(dòng)管理器,效果還是差強(qiáng)人意鼎天。

在我的不懈努力下舀奶,這個(gè)難道最終得到了解決: 將快捷方式名稱簡化,放到特定目錄下斋射,使用 Win+R 組合鍵呼出 運(yùn)行對話框育勺,鍵入快捷方式的名稱來運(yùn)行該程序但荤。比如 反恐精英 的快捷方式為 cs ,我把它放在 Windows 目錄下; 運(yùn)行 cs命令涧至,就可以去維護(hù)世界和平了腹躁。

這么多快捷方式,統(tǒng)統(tǒng)放到 Windows 目錄下化借,非城鄙鳎混亂。因此蓖康,我在D盤建立了一個(gè)名為 path的目錄铐炫,并把它的路徑加入到環(huán)境變量的 path 項(xiàng)中,快捷方式放在 D:\path目錄中蒜焊。即便重裝系統(tǒng)倒信,只要在環(huán)境變量中重新加入此路徑,原來的程序大多可以直接以命令來運(yùn)行……我的許多朋友強(qiáng)烈要示我?guī)退麄冊O(shè)定這種啟動(dòng)方式泳梆,因?yàn)檫@確實(shí)很方便:)

其實(shí)在Linux下鳖悠,所有的程序都可以通過命令運(yùn)行。雖然Linux也有GUI优妙,但是它并不比Windows的GUI更優(yōu)秀乘综!上面只是簡單的介紹了CLI(命令行界面)相對GUI的優(yōu)越之處,使用CLI還有更多的好處套硼,您會(huì)慢慢體會(huì)到的卡辰。

當(dāng)然了,在您的印象中邪意,CLI一定非常的不友善九妈,缺少親和力,冷漠而拒人于千里之外……您和CLI之間甚至有代溝的存在:)

命令

坦白的說雾鬼,冷不丁見到那么老長的一串命令萌朱,誰都會(huì)毛骨悚然。

也許您使用過DOS策菜,留下這種印象:命令先放一邊晶疼,光是正確的輸入目錄、文件名都夠瞧的做入。而且DOS不區(qū)分大小寫冒晰,要是像Linux一樣區(qū)分大小寫,那多恐怖熬箍椤:恕!浪秘!

其實(shí)Linux命令行具有補(bǔ)全功能蒋情,非常實(shí)用埠况。假設(shè)有這樣一個(gè)命令:

command path/file

如果只有一個(gè)以 c 起始的命令,鍵入 c 棵癣,再按一次 tab 鍵辕翰,系統(tǒng)將自動(dòng)補(bǔ)全該命令余下的部分。 只要 c tab 兩次按鍵狈谊,就可以完成 command 的輸入喜命。

如果不只一個(gè) c 起始的命令,那么您可以按兩次 tab 鍵河劝,系統(tǒng)會(huì)列出所有符合條件的選項(xiàng)壁榕,也就是以 c 起始的所有命令。進(jìn)一步輸入 o 赎瞎,如果只有一個(gè)以 co 起始的命令(一直輸入牌里,直到項(xiàng)符合條件的選項(xiàng)唯一),再按一次 tab 务甥,命令就被補(bǔ)全完整筛峭。

路徑和文件名也可以通過 tab 鍵來補(bǔ)全僧界。還有一種 遍歷補(bǔ)全 的方式藤乙,如果您的文件名是中文外盯,而您不想切換輸入法;甚至您的文件名中出現(xiàn)亂碼挺尿,無法輸入因妙,這時(shí) 遍歷補(bǔ)全 就可以大顯身手了。這部分內(nèi)容我們稍后再談:)

現(xiàn)在我們來了解命令的語法結(jié)構(gòu)票髓,這一部分相當(dāng)重要,您可得看仔細(xì)铣耘。

我們知道洽沟,任何語言都有特定的語法結(jié)構(gòu),以我們的中文為例:

我們鄭重地推薦您Ubuntu/Linux蜗细!

這個(gè)句子的語法盡管簡單裆操,卻是大部分的命令行采用的句型。讓我們看一下炉媒,這個(gè)句子里都有些什么:

我們

主語踪区,Linux命令的執(zhí)行者只有一個(gè),所以主語一概省略吊骤。

推薦

一個(gè)動(dòng)詞缎岗,作為謂語而存在。Linux命令中白粉,這一部分是必須的传泊。這一部分也是不同命令之間最根本的區(qū)別方式鼠渺,所以它通常作為命令名,寫在最前面眷细。鍵入 date 命令拦盹,您可以查看當(dāng)前的時(shí)間日期。( 應(yīng)用程序->附件->終端 )

鄭重的

狀語溪椎,用來修飾謂語普舆。與之相對應(yīng),Linux命令可以使用參數(shù)來精細(xì)調(diào)節(jié)程序的行為校读。為了與命令的操作對象相區(qū)別沼侣,參數(shù)前通常要加 - 或者 -- 符號(hào)。原則上地熄,在命令名之后华临,參數(shù)的位置可以隨意,但是為了養(yǎng)成一個(gè)良好的習(xí)慣端考,我們建議您在命令名后直接跟參數(shù)雅潭。

您 Ubuntu/linux

這兩個(gè)部分都是賓語,它們是命令的操作對象却特。大部分的命令只有一個(gè)操作對象扶供,也有一些命令是雙賓語結(jié)構(gòu)的,具有一個(gè)直接賓語和一個(gè)間接賓語裂明。比如 拷貝 這個(gè)命令 cp (copy)

分隔符

我們的漢語是象形文字椿浓,沒有分隔符。但是所有的拼音文字中都有分隔符闽晦,來分隔單詞扳碍。Linux命令中同樣使用空格作分隔符。

cp a /home 表示把當(dāng)前目錄下的 a 文件仙蛉,拷貝到 /home 目錄下笋敞。(命令的不同部分使用空格分隔,連續(xù)的空格視為一個(gè)空格)

上面的那句話荠瘪,翻譯成Linux的命令夯巷,應(yīng)該是這個(gè)樣子的:

推薦 --鄭重的 您 Ubuntu/Linux (按照傳統(tǒng),“-”后跟簡寫為單個(gè)字母的參數(shù)哀墓,“--”后跟完整單詞的參數(shù)趁餐。不過也有例外:)

哈,Linux的命令也蠻簡單吧篮绰?

Linux程序后雷、進(jìn)程

或許您會(huì)這樣想,Linux命令的句型確實(shí)不難,但是那么多命令喷面,我怎么知道它們都是作什么的呢星瘾?而且不同的系統(tǒng)中,可以使用的命令似乎也不太一樣惧辈,這真讓人困惑……

其實(shí)Linux的命令琳状,運(yùn)行的是Linux系統(tǒng)中的程序。只要您已安裝了程序盒齿,您就可以通過命令來運(yùn)行它念逞,并且可以使用參數(shù)來精細(xì)的調(diào)整它的運(yùn)行狀態(tài)。也可以通過點(diǎn)擊啟動(dòng)圖標(biāo)來運(yùn)行边翁,不過啟動(dòng)圖標(biāo)不能夠方便的調(diào)整參數(shù)翎承,并不是很方便。

舉一個(gè)例子:

mplayer -shuffle -loop 3 -playlist mymp3.list

可能您運(yùn)行上面命令符匾,系統(tǒng)會(huì)提示您 無法找到命令叨咖,那是因?yàn)槟鷽]有安裝mplayer這個(gè)程序。mplayer是我見過的支持格式最多的播放器啊胶,幾乎任何已知格式的多媒體文件甸各,都可以使用mplayer來播放。它包含一個(gè)圖形界面的前端焰坪,您可以在菜單中找到它趣倾,鼠標(biāo)點(diǎn)擊運(yùn)行;也可以通過執(zhí)行命令來運(yùn)行它的命令行版本。

如果您的系統(tǒng)中沒有mplayer播放器某饰,我們建議您安裝一個(gè)儒恋。關(guān)于程序的安裝,請參閱 軟件安裝 黔漂。

上面命令中诫尽, mplayer 調(diào)用了mplayer播放器程序。參數(shù) -shuffle 表示隨機(jī)播放炬守, -loop 表示循環(huán)播放箱锐,后面的3 為循環(huán)的次數(shù),如果為 0 ,則一直播放劳较。 -playlist 表示播放列表中的曲目。我們可以把mp3的路徑放到 mymp3.list文件中浩聋,讓mplayer來播放它們观蜗。

進(jìn)程為運(yùn)行中的程序,是程序在內(nèi)存中的鏡像衣洁。

好了墓捻,現(xiàn)在您已經(jīng)了解了 Shell 、 命令 、 程序 砖第、 進(jìn)程 的概念撤卢,您基本上也就了解了Linux(Linux系統(tǒng)真是非常簡潔,而且容易理解:)梧兼。

但只知道這些放吩,您并不能順暢使用。接下來的章節(jié)中羽杰,我們來進(jìn)一步介紹它的細(xì)節(jié)渡紫。

Linux系統(tǒng)簡介

路徑

路徑分為絕對路徑和相對路徑。

絕對路徑的起始點(diǎn)為根目錄 / 考赛,例如 /usr/local/bin 就是絕對路徑惕澎,它指向系統(tǒng)中一個(gè)絕對的位置,不受其它因素影響颜骤。

相對路徑的起始點(diǎn)為當(dāng)前目錄唧喉,如果您現(xiàn)在位于 /usr 目錄,那么相對路徑 local/bin 所指示的位置為 /usr/local/bin

也就是說忍抽,相對路徑所指示的位置八孝,除了相對路徑本身,還受到當(dāng)前位置的影響梯找。例如Linux系統(tǒng)中常見的目錄 /bin 唆阿、 /usr/bin、 /usr/local/bin 锈锤,如果只有一個(gè)相對路徑 bin驯鳖,那么它指示的位置可能上面三個(gè)目錄中的任意一個(gè),也可能是其它目錄久免。

如果我告訴您到 bin 目錄尋找一個(gè)文件浅辙,您可能搞不清楚是哪一個(gè) bin 目錄。只有當(dāng)前位置確定阎姥,相對路徑指示的位置才能夠確定记舆。

現(xiàn)在我說, /usr/local 目錄下呼巴,它的相對路徑 bin 中有某個(gè)文件泽腮,這樣就比較明確了。

在相對路徑中 . 表示當(dāng)前目錄衣赶, .. 表示當(dāng)前目錄的上一級目錄诊赊。

假設(shè)您安裝了一個(gè)程序,它的主程序沒有被放置到上面三個(gè) bin 目錄中的任何一個(gè)府瞄,或者其它系統(tǒng)能夠找到的地方碧磅,您就得告訴系統(tǒng),它的可執(zhí)行文件在哪里。

可以使用絕對路徑鲸郊,例如: /home/user/bin/可執(zhí)行文件

或者定位到 /home/user/bin 目錄丰榴,使用相對目錄來定位它 ./可執(zhí)行文件

如果您定位到了它的子目錄,比如 /home/user/bin/gui秆撮,您可以使用 .. 來表示它的上級目錄 ../可執(zhí)行文件

路徑相關(guān)命令

cd (change directory) 更改目錄四濒。

pwd (print working directory)顯示當(dāng)前路徑。

ls (list) 顯示當(dāng)前目錄中的文件列表像吻。

請嘗試以下操作:

cd /etc 進(jìn)入“/etc”目錄峻黍,這里使用的是絕對路徑

pwd 顯示當(dāng)前路徑,這個(gè)命令返回結(jié)果“/etc”

cd init.d 進(jìn)入“/etc”目錄的子目錄“init.d”拨匆,這里使用的是相對路徑

cd .. 進(jìn)入上一級目錄“/etc”

cd ../home “/etc” 目錄的上一級目錄為“/”姆涩,它的子目錄“home”為“/home”

cd - 回到上一次的目錄,我們在“/etc”目錄跳轉(zhuǎn)到“/home”目錄惭每,所以這次是回到“/etc”目錄

cd ~ “~”代表當(dāng)前用戶的“$HOME”目錄骨饿,也就是“/home/{用戶名}”目錄。

ls 在任何時(shí)候台腥,您都可以使用“l(fā)s”命令宏赘,來了解當(dāng)前目錄下都有哪些文件。

遠(yuǎn)程路徑:

遠(yuǎn)程路徑的表示方法為 協(xié)議://用戶名:密碼@位置/路徑:端口

大多數(shù)的遠(yuǎn)程路徑可以使用默認(rèn)端口匿名訪問黎侈,由此用戶名察署、密碼俩功、端口通常不需要填寫朽砰。例如:

http://www.ubuntu.org.cn/.../index.html

要求身份驗(yàn)證的遠(yuǎn)程路徑,您可以使用下面的方式訪問:

ftp://user:passwd@ftp.ubuntu.org.cn:21

軟件

Linux中沒有注冊表這個(gè)概念蕊肥。安裝軟件休吠,理論上講扳埂,只要拷貝所有相關(guān)文件,并運(yùn)行它的主程序就可以了瘤礁。

按照傳統(tǒng)阳懂,一個(gè)軟件通常分別拷貝到同級目錄下的 bin、etc柜思、lib岩调、share等文件夾。

Bin可執(zhí)行文件赡盘,程序的可執(zhí)行文件通常在這個(gè)目錄下誊辉。在環(huán)境變量中設(shè)定搜索路徑,就可以直接執(zhí)行亡脑,而不需要定位其路徑。

Etc配置文件,大部分系統(tǒng)程序的配置文件保存于 /etc 目錄霉咨,便于集中修改蛙紫。

Lib庫文件,集中在一起途戒,方便共享給不同程序坑傅。相較不同的軟件單獨(dú)保存庫文件,能夠節(jié)約一些磁盤空間喷斋。

Share程序運(yùn)行所需要的其它資源唁毒,例如圖標(biāo)、文本星爪。這部分文件是專有的浆西,不需要共享;而且目錄結(jié)構(gòu)相對復(fù)雜顽腾,混放在一起比較混亂近零,所以單獨(dú)存放。

還有一些軟件抄肖,占用一個(gè)單獨(dú)的目錄久信,所有的資源都在這個(gè)目錄中。類似于Windows下的綠色軟件漓摩,不推薦在Linux系統(tǒng)下這樣作裙士。

* 執(zhí)行時(shí),系統(tǒng)找不到可執(zhí)行文件(搜索所有路徑管毙,資源開銷過大腿椎,是不現(xiàn)實(shí)的),需要定位其位置锅风,像這樣 /home/user/bin/可執(zhí)行文件 酥诽,不夠方便。

* 許多系統(tǒng)軟件需要協(xié)作運(yùn)行皱埠,配置文件分別保存肮帐,定位它們非常麻煩

* 如果程序使用的庫文件,像圖形庫文件边器,都單獨(dú)存放训枢,那么磁盤空間的浪費(fèi)會(huì)非常嚴(yán)重。

有一些大型軟件忘巧,或者您布署的重要應(yīng)用恒界,您可以將它們單獨(dú)安裝在一個(gè)文件夾下。(通常源碼安裝支持這種方式砚嘴,將在 軟件安裝 部分介紹)

配置方式

Linux下沒有類似 注冊表 的系統(tǒng)十酣,系統(tǒng)和軟件都可以通過純文本的配置文件進(jìn)行設(shè)置涩拙。

事實(shí)上,圖形界面的配置工具耸采,通常就是以圖形界面的方式修改配置文件兴泥,適合設(shè)置一些比較簡單的程序。如果軟件有幾千個(gè)可以配置的選項(xiàng)虾宇,全部作成菜單搓彻,想象一下……開始發(fā)抖吧……

圖形界面的配置工具,可以看作特定配置文件專用編輯器嘱朽。您一樣可以使用通用文本編輯器來編輯配置文件旭贬,比如 Nano、Gedit搪泳、Knote稀轨、Vim或者Emacs等等。不考慮閱讀森书、修改配置文本占用的時(shí)間靶端,直接修改配置文件甚至更迅速。

如果只是要修改某一常用選項(xiàng)凛膏,而且時(shí)常修改杨名,比如主機(jī)的IP地址。使用文本編輯器猖毫,您要找到相應(yīng)的配置文件台谍,還要在配置文件中找到相應(yīng)的選項(xiàng),會(huì)浪費(fèi)掉您的時(shí)間和耐性吁断。

圖形配置工具經(jīng)常會(huì)受各種因素制約趁蕊,比如網(wǎng)絡(luò)服務(wù)器中不提供圖形服務(wù),圖形界面不夠穩(wěn)定……這時(shí)仔役,您可以使用命令行的配置工具來完成這些工作掷伙。

例如: 修改主機(jī)IP地址,可以使用ifconfig這個(gè)程序又兵,執(zhí)行下面的命令:

ifconfig eth0 192.168.0.1

在以后的章節(jié)中任柜,如果我們提示您修改某一文件,例如 /etc/fstab 沛厨,您可以使用任何順手的文本編輯器打開它宙地。

隱藏文件

Linux下,名稱中第一個(gè)字符為 . 的文件或者文件夾逆皮,系統(tǒng)默認(rèn)情況下將它們隱藏起來宅粥,

您可以嘗試以下操作:

cd ~ 進(jìn)入您的用戶目錄

ls 查看當(dāng)前目錄下的文件列表

ls -a 查看所有文件的文件列表(包括隱藏文件)。

現(xiàn)在电谣,您可以看到許多文件名以 . 起始的文件或者文件夾了吧秽梅?使用 ls 命令無法顯示它們

* 如果您只想查看隱藏文件抹蚀,而不包括這兩個(gè)特殊目錄,您可以使用 ls 命令的參數(shù) -A (ls -A)

* 每個(gè)目錄下都包含兩個(gè)特殊目錄 . 和 .. 企垦。您也許猜到了况鸣, . 代表當(dāng)前目錄, .. 代表上一級目錄竹观。目錄是一種特殊類型的文件!

文件類型

Linux系統(tǒng)主要根據(jù)文件頭信息來判斷文件類型潜索,擴(kuò)展名并非決定因素臭增。

現(xiàn)在使用 ls -l 命令,查看詳細(xì)信息格式的文件列表竹习,您將會(huì)看到如下內(nèi)容:

total 5

drwxr-x--- 4 user group 4096 Mar 10 00:37 filename

drwxr-xr-x 21 user group 4096 Mar 10 20:16 文件名

-rw------- 1 user group 524 Mar 10 00:40 a

-rw-r--r-- 1 user group 24 Jun 11 2000 b

drwx------ 2 user group 4096 Mar 9 11:06 c

共顯示了七列信息誊抛,從左至右依次為:權(quán)限、文件數(shù)整陌、歸屬用戶拗窃、歸屬群組、文件大小泌辫、創(chuàng)建日期随夸、文件名稱

其中要特別留意的是第一列:

drwxr-xr-x

一共有10個(gè)位置,可以分為4組:

d ???? rwx?? r-x?? r-x

第一組只有一個(gè)字符:

* d文件夾* -普通文件* l鏈接* b塊設(shè)備文件* c字符設(shè)備文件震放。

剩下的3組分別為歸屬用戶宾毒、歸屬群組、其它用戶或群組對于該文件的權(quán)限殿遂。我們看它的格式

rwx rwx?? rwx

* r可讀* w可寫* x可執(zhí)行

它們的順便不能顛倒诈铛,某一位置為空(-),則表示不具有相應(yīng)的權(quán)限墨礁。

說明:Linux下的可執(zhí)行文件并不是由擴(kuò)展名(例如 .exe )決定的幢竹,而是由其可執(zhí)行權(quán)限位決定。

權(quán)限

我們已經(jīng)知道了恩静,文件的權(quán)限分為 r (可讀)焕毫、 w (可寫)、 x (可執(zhí)行)三種類型蜕企,而一個(gè)文件可以針對歸屬用戶咬荷,歸屬群組,其它用戶用戶或群組分別設(shè)定權(quán)限轻掩。

這種權(quán)限管理的方式靈活幸乒、簡單、嚴(yán)密唇牧、明晰罕扎。盡管如此聚唐,在最初的階段,可能會(huì)有一點(diǎn)小小的不適腔召。因?yàn)樗鼰o所不在杆查,而您習(xí)慣了的Windows的權(quán)限管理卻不是這樣(非常混亂臀蛛,大多數(shù)時(shí)間形同虛設(shè)亲桦,偶爾用到卻讓人傷透腦筋)。

使用 chmod 命令更改文件的權(quán)限浊仆,使用 chown 來更改文件的歸屬客峭。例如:

chmod 755 xxx

chmod a+x xxx

chown user:group xxx 用來更改文件的歸屬用戶,也可以同時(shí)更改其歸屬群組

chgrp group xxx 用來更改文件的歸屬群組

上面命令中的 755 和 a+x 是兩種類型的表達(dá)式

我們將后面章節(jié)中詳細(xì)介紹 權(quán)限管理 用戶管理

執(zhí)行命令的權(quán)限

有一些命令抡柿,普通用戶也可以執(zhí)行舔琅,但是只有root用戶才能執(zhí)行成功,這是為什么呢洲劣?

例如在系統(tǒng)中增加一個(gè)新用戶 useradd

ls -l /usr/sbin/useradd

可以看到:

-rwxr-xr-x 1 root root 56156 2006-04-03 21:37 /usr/sbin/useradd

明明所有的用戶都可以執(zhí)行嘛备蚓?

這是因?yàn)椋?useradd 命令是修改 /etc/passwd 文件的一個(gè)工具,來看看這個(gè)文件:

ls -l /etc/passwd

-rw-r--r-- 1 root root 1835 2006-06-24 17:58 /etc/passwd

原來只有root用戶才能寫入修改結(jié)果囱稽,非root用戶執(zhí)行 useradd 命令當(dāng)然不會(huì)有結(jié)果郊尝。

執(zhí)行命令的身份

默認(rèn)情況下,您的命令提示符末位為 $ 粗悯,這表示您將以普通用戶的身份執(zhí)行命令虚循。

您可以使用 su (switch user)這個(gè)命令來切換其它用戶。

例如 su root 样傍,切換到root用戶横缔,如果 su 命令后面沒有切換目標(biāo),那么這個(gè)命令默認(rèn)切換到root用戶衫哥。

現(xiàn)在您執(zhí)行 su 這個(gè)命令茎刚,系統(tǒng)會(huì)提示您輸入密碼,請輸入管理員的密碼。這個(gè)時(shí)候,您會(huì)發(fā)現(xiàn)命令提示符末位變成了 # 蟹瘾,您將以root用戶的身份執(zhí)行命令堰汉。

Ubuntu系統(tǒng)默認(rèn)會(huì)隨機(jī)設(shè)定系統(tǒng)的root密碼圆裕,這樣會(huì)更安全一些,這個(gè)時(shí)候您可以執(zhí)行“sudo”命令,輸入當(dāng)前用戶密碼后,暫時(shí)以root

用戶的身份執(zhí)行命令奢入。(前提是sudoer列表中要包含您的ID。您在安裝Ubuntu系統(tǒng)時(shí)創(chuàng)建的用戶媳叨,默認(rèn)具有“sudo”權(quán)限)

如果您能夠執(zhí)行“sudo”命令腥光,那么您也就擁有了root權(quán)限关顷。在后面的章節(jié)中,如果我們提到了“root權(quán)限”武福,那么您可以通過以上兩種方式來實(shí)現(xiàn)

命令行

Shell议双、Console、Terminal

在前面的章節(jié)中捉片,我們曾提到平痰,電視機(jī)的遙控器,也是一種人機(jī)交互的界面伍纫,算是一種Shell觉增。

但是這個(gè)概念并不準(zhǔn)確,遙控器只是向Shell發(fā)送指令的工具翻斟,Shell接收到遙控器發(fā)出指令后,將指令轉(zhuǎn)換為系統(tǒng)命令说铃,由系統(tǒng)來執(zhí)行访惜。

例如我們按的遙控器上的 數(shù)字鍵1 ,遙控器將 切換為1頻道 的指令發(fā)送到Shell,Shell將指令轉(zhuǎn)換為系統(tǒng)可以識(shí)別的 頻道1 腻扇,系統(tǒng)執(zhí)行它债热,您就可以觀看1頻道的電視節(jié)目了。

通常每臺(tái)電視機(jī)只有一種Shell幼苛,比如有的電視機(jī)系統(tǒng)具有“畫中畫”的功能窒篱,那么Shell中便有相應(yīng)的功能定義,您可以通過遙控器上的“畫中畫”功能鍵來開啟它舶沿。假設(shè)您的電視機(jī)沒有此功能墙杯,Shell中也就沒有相應(yīng)的功能定義。擁有一個(gè)帶“畫中畫”功能控制鍵的遙控器括荡,即便信號(hào)兼容高镐,您還是不能夠使用這一功能:)

不用遙控器也可以控制電視機(jī),假設(shè)您的遙控器丟了畸冲,您還可以走到電視機(jī)前嫉髓,使用機(jī)身上的控制面板來控制它(相當(dāng)于使用Linux的控制臺(tái))。但是您一定不喜歡這種方式邑闲,除非您想鍛煉身體:)

在Linux系統(tǒng)中算行,由于圖形界面和控制臺(tái)的分辨率通常不一致,所以切換時(shí)要有一個(gè)延時(shí)苫耸。對于我們中文用戶來講州邢,控制臺(tái)下中文的顯示也比較麻煩。而且控制臺(tái)顯示內(nèi)容通常不如終端顯示的全面鲸阔。

所以我們推薦您使用終端來執(zhí)行命令偷霉,它使用起來感覺很像遙控器:)

rxvt-unicode

通常情況下迄委,您買一臺(tái)電視機(jī),只能獲得一個(gè)遙控器类少。雖然它為您的電視機(jī)量身定作叙身,能夠最大限度發(fā)揮電視機(jī)的能力,但您卻不一定喜歡它硫狞。說不定這個(gè)遙控器體形太大信轿,持握不方便;或者它體形太小,容易失蹤;又或者它的按鍵要么太硬残吩,要么太軟;它的鍵盤要么太大财忽,要么太小……您一般也可以容忍,畢竟遙控器使用頻率并不算高:)

如果您的終端有些地方不討您喜歡泣侮,比如說響應(yīng)太慢即彪,或者不能正常顯示中文……那就難以忍受了,您應(yīng)該換一個(gè)其它的試試活尊。

在前面的章節(jié)隶校,我們介紹您使用的終端為Gnome-Termianl,它是系統(tǒng)默認(rèn)使用的終端蛹锰,顯示中文不錯(cuò)深胳,不過響應(yīng)比較慢,您可能已經(jīng)處于水深火熱之中了铜犬。舞终。。

我們推薦您使用urxvt(mlterm也是不錯(cuò)的選擇)

您可以使用 sudo apt-get install rxvt-unicode 命令來安裝它癣猾。

urxvt 啟動(dòng)它 (urxvt不支持控制臺(tái)敛劝,您得在圖形界面下啟動(dòng)它。終端纷宇、Alt+F2攘蔽,建議您在啟動(dòng)欄里新建一個(gè)啟動(dòng)圖標(biāo))

rxvt-unicode還支持“服務(wù)器/客戶端”的運(yùn)行模式:

urxvtd 啟動(dòng)一個(gè)守護(hù)進(jìn)程daemon(支持控制臺(tái))

urxvtc 啟動(dòng)客戶端client。多個(gè)客戶端可以同時(shí)連接到一個(gè)urxvtd呐粘,以達(dá)到節(jié)省系統(tǒng)資源的目的满俗。

或許您對rxvt的默認(rèn)設(shè)置不滿意,您可以修改用戶配置文件 ~/.Xresources 來設(shè)定它作岖。修改全局配置文件 /etc/X11/Xresources/Xresources 唆垃,則對所有用戶生效,只有root才可以修改此文件痘儡。

這里有一些簡單的選項(xiàng):(以 ! 起始的行是注釋辕万,您可以直接拷貝此文件的內(nèi)容)

!!=============================================================================

!! RXVT-unicode setting

!!=============================================================================

!設(shè)置字體分辨率

Xft.dpi:96

!窗口大小

Rxvt.geometry: 80x40+80+80

!顏色

Rxvt.background:#333333

Rxvt.foreground:antiquewhite

Rxvt.inheritPixmap:False

Rxvt.colorBD:yellow

Rxvt.colorUL:antiquewhite

!滾動(dòng)條

Rxvt.scrollBar:True

Rxvt.scrollBar_left:True

Rxvt.scrollBar_floating:False

Rxvt.scrollstyle:next

Rxvt.scrollColor:#999999

!屏幕緩沖

Rxvt.saveLines:30000

Rxvt.color12:DodgerBlue

Rxvt.font:7x14,xft:AR PL New Sung

!輸入法一般設(shè)置為xim

!inputMethod:xim;Scim除外

!輸入法樣式可選:Root(置底) OverTheSpot(跟隨) OffTheSpot OnTheSpot,后兩種不是所有的都支持

Rxvt.preeditType:Root

Tip:右鍵點(diǎn)擊啟動(dòng)欄, 添加自啟動(dòng)器 渐尿, 自定義程序 醉途,便可以在添加自己的啟動(dòng)圖標(biāo)。

在線幫助系統(tǒng)

您可以使用命令 man 或者 info 來閱讀Linux命令的在線文檔砖茸。命令的格式非常簡單:

man xxx

大部分命令手冊為英文版隘擎,如果您的英文不太好,或許有些困難凉夯。在后面的 系統(tǒng)管理 章節(jié)中货葬,我們會(huì)盡力向您介紹命令的使用方法。

說明:在使用“man”瀏覽器的時(shí)候劲够,一些快捷鍵您可能會(huì)用到:

Ctrl+f(orward) 向下翻一頁 Ctrl+d(own) 向下翻半頁

Ctrl+b(ackward) 向上翻一頁 Ctrl+u(p) 向上翻半頁

/ 查找 q(uit) 退出

以上為VI風(fēng)格的鍵綁定震桶。您也可以使用Emacs風(fēng)格的鍵綁定

bash

好了,現(xiàn)在我們換了一個(gè)遙控器征绎,感覺順手多了《捉悖現(xiàn)在來操練一下,下載一首mp3:

我們使用 wget 這個(gè)程序人柿,它非秤俣拢可靠,完全值得您信賴顷扩。

首先找到一個(gè)可以下載的地址,復(fù)制鏈接慰毅,在終端窗口內(nèi)點(diǎn)擊鼠標(biāo)中鍵隘截,把它粘貼進(jìn)去。

現(xiàn)在終端中大概是這種情形:

http://www.download.net/xxx.mp3

按下 Ctrl+a 組合鍵汹胃,我們發(fā)現(xiàn)光標(biāo)移動(dòng)到了行首婶芭。輸入 wget 和 空格

wget http://www.download.net/xxx.mp3

回車后,終端中出現(xiàn)一些信息着饥,不一會(huì)兒工夫犀农,mp3便下載完成。

使用 Ctrl+a 組合鍵宰掉,我們就不需要使用方向鍵來移動(dòng)光標(biāo)呵哨,方向鍵每次只能移動(dòng)一個(gè)字符,沒有效率

您還可以使用 Ctrl+f 向前移動(dòng)光標(biāo)轨奄, Ctrl+b 向后移動(dòng)光標(biāo)孟害, Ctrl+e 將光標(biāo)移動(dòng)到行末……………… (鍵綁定)

Note

Linux的圖形界面中,鼠標(biāo)中鍵通常執(zhí)行“粘貼”的操作挪拟,如果您的鼠標(biāo)沒有中鍵挨务,您可以左右鍵同時(shí)按下。

中止正在運(yùn)行的程序

如果一個(gè)命令持續(xù)時(shí)間很長,以致于不能夠進(jìn)行其它操作谎柄,可以使用 Ctrl+c 來強(qiáng)行中止它丁侄。

Ctrl+s

出于意外,有時(shí)您會(huì)按下 Ctrl+s 這個(gè)組合鍵朝巫,Shell便被凍結(jié)鸿摇。嘗試使用 Ctrl+q 組合鍵,看能否恢復(fù)正常捍歪。

鍵綁定

等等户辱,有必要記這么多快捷鍵么?都這么復(fù)雜糙臼!

我們強(qiáng)烈建議您記住庐镐,以大幅度的提高操作效率。而且這是readline控件的鍵綁定变逃,在任何使用readline控件的程序中必逆,您都可以使用它們。例如bash揽乱、lftp名眉、gdb等程序;同時(shí),Linux下最著名的Emacs編輯器凰棉,也是這種風(fēng)格的鍵綁定(其實(shí)是readline使用了Emacs風(fēng)格的鍵綁定才對)损拢,甚至FireFox中,也可以使用類似風(fēng)格的快捷鍵H鱿(Linux下主要有兩種風(fēng)格的鍵綁定福压,一種是VI風(fēng)格,另一種是Emacs風(fēng)格或舞,我們會(huì)在 簡明VIM教程中介紹)

現(xiàn)在列舉一些ReadLine的鍵綁定荆姆,您可以自行嘗試。(運(yùn)行 man readline 命令映凳,來查看ReadLine手冊)

先來了解一些約定:

\C-a 表示 Ctrl+a

\M-a 表示 Meta+a Meta鍵在PC中通常為ALT鍵

A 表示 Shift+a

(下面括號(hào)中的\A代表Alt胆筒,\S代表Shift)

移動(dòng)命令:

\C-a移動(dòng)到行首Aheah?????????????? \C-e移動(dòng)到行末End?????????????????? \C-f向前移動(dòng)一個(gè)字符Forward

\C-b向后移動(dòng)一個(gè)字符Backward?????????????? \M-f向前移動(dòng)一個(gè)單詞\M-b向后移動(dòng)一個(gè)單詞

\C-l清空屏幕cLear這兩個(gè)命令也可以理解為移動(dòng)命令\C-p上翻,前一條命令Previous

\C-n下翻诈豌,后一條命令Next編輯命令:

\C-d刪除光標(biāo)后的一個(gè)字符\M-d刪除光標(biāo)后的一個(gè)單詞Delete

\BackSpace刪除光標(biāo)前的一個(gè)字符\M-BackSpace刪除光標(biāo)前的一個(gè)單詞

\C-k刪除光標(biāo)至行末的部分Kill????????????????? \C-u刪除光標(biāo)至行首的部分Unix-line-discard

\C-w刪除光標(biāo)前的一個(gè)單詞Word????????????? \C-y粘貼(最后刪除的對象)Yank??????????? \C--撤消

搜索歷史紀(jì)錄:

\C-r連續(xù)使用``C-r``可以查找下一個(gè)\M-p?????????? \M-n

補(bǔ)全:

\Tab使用頻率最高的功能仆救!\C-o遍歷補(bǔ)全(未定義)

\M-? M-=列出所有可能選項(xiàng),相當(dāng)于按兩次Tab鍵(M-矫渔?實(shí)際按鍵為\A+\S+/)

\M-#注釋掉當(dāng)前命令派桩,用于將當(dāng)前命令暫存于歷史紀(jì)錄列表(\A+\S+3

\M-!補(bǔ)全命令,通常用來補(bǔ)全子命令蚌斩,例如``sudo``的子命令(\A+\S+1

\M-~補(bǔ)全用戶名(\A+\S+`\M-@補(bǔ)全主機(jī)名(\A+\S+2

\M-$補(bǔ)全變量(\A+\S+4\M-_補(bǔ)全歷史紀(jì)錄中的紀(jì)錄(\A+\S+-

\M-*將所有可能選項(xiàng)放到命令行中(\A+\S+8

自定義鍵綁定

通過修改 /etc/inputrc 文件铆惑,可以更改鍵綁定范嘱。建議您使用默認(rèn)的鍵綁定,以避免不必要的煩惱员魏。當(dāng)然了丑蛤,Emacs風(fēng)格的鍵綁定是通用的吁系,隨時(shí)都有可能用到汉矿。

在文件中添加該行,可以將ReadLine的鍵綁定設(shè)為VI風(fēng)格动猬。(Bash虏束、Lftp等使用ReadLine的軟件同時(shí)生效)

set editing-mode vi

找到這一行:

$if mode=emacs

在它的下面添加如下內(nèi)容

"\C-o": menu-complete

###這兩行不是必須的棉饶,視情況而定###

"\c-p": non-incremental-reverse-search-history

"\c-n": non-incremental-forward-search-history

重新登錄Shell,您就可以使用 \C-o (Ctrl+o)來遍歷補(bǔ)全镇匀。假如您的文件名為中文照藻,或者出現(xiàn)亂碼時(shí),您可以使用 \M-*

將所有文件名放入命令行汗侵,再刪除多余的幸缕,這真是麻煩極了!所以您可以使用 \C-o 遍歷補(bǔ)全晰韵,將所有可能的選項(xiàng)輪流放入命令行发乔。

或者使用Vim編輯器編輯 /etc/inputrc 文件,在插入模式下使用 Ctrl+v 組合鍵雪猪。按下 Ctrl+o 栏尚,這時(shí)編輯區(qū)新增一個(gè) ^O 字符,等價(jià)于 \C-o

通配符

使用 ? 代表任意單個(gè)字符只恨。例如 ???lo 译仗,表示 lo 前有三個(gè)字符,它可以匹配 Hello

使用 * 代表隨意幾個(gè)任意字符坤次。例如 *.iso ,代表所有iso格式的文件斥赋。

說明:您可以將遍歷補(bǔ)全和通配符結(jié)合使用缰猴,以提高效率。

例如:

cd */ 則遍歷補(bǔ)全只補(bǔ)全文件夾

chmview *.chm 則遍歷補(bǔ)全只補(bǔ)全chm文件

任務(wù)管理

&--------------------------------在命令的末尾加上一個(gè) & 符號(hào)疤剑,表示背景任務(wù)滑绒,例如:

wget http://www.download.net/xxx/mp3 &

;----------------------------------使用 ; 將多個(gè)命令連結(jié)起來,則表示任務(wù)按順序執(zhí)行

&&------------------------------使用 && 將多個(gè)命令連結(jié)起來隘膘,則表示只有前面的命令執(zhí)行成功疑故,后面的命令才能得以執(zhí)行

``-----------------------------------`<命令>` ,如果一個(gè)命令中包含以 `` (Esc鍵下方的按鍵)括起來的子命令弯菊,那么子命令將被優(yōu)先執(zhí)行纵势,執(zhí)行結(jié)果被代入上一級命令繼續(xù)執(zhí)行,例如創(chuàng)建一個(gè)以當(dāng)前時(shí)間命名的文件:

touch `date +%m.%d_%H:%M:%S`

touch 命令能夠創(chuàng)建一個(gè)文件,它的操作對象钦铁,為 date +%m%d%H%M%S 命令的輸出 06.06_06:06:60

這樣软舌,我們創(chuàng)建了一個(gè)名為 06.06_06:06:60 的文件(六月六日六時(shí)六分剛過六十秒-_-!)

Ctrl+z

將當(dāng)前Shell中的任務(wù)掛起

這個(gè)時(shí)候任務(wù)的狀態(tài)為

[1]+ Stopped xxx

Bg-------------------------------------------------將掛起的任務(wù)背景運(yùn)行。這時(shí)它的狀態(tài)為[1]+ xxx &

Fg-------------------------------------------------將背景任務(wù)調(diào)到前臺(tái)執(zhí)行jobs

方括號(hào)中的數(shù)字為命令的任務(wù)編號(hào)牛曹,您可以使用 jobs 命令來查看所有背景任務(wù)

如果后臺(tái)運(yùn)行多個(gè)任務(wù)佛点,您可以在 bg 或者 fg 后跟任務(wù)編號(hào),作為操作對象黎比,例如:bg 2

管道超营、重定向

>-----------------------重定向符號(hào),它的作用是將命令的輸出重定向到一個(gè)文件中阅虫。比如我們想把命令 ls 的結(jié)果保存為 FileList 文件演闭,作一個(gè)清單,我們可以使用重定向符號(hào)來完成它:

ls -l > FileList

>>----------------------作用與 > 基本相同书妻,不同點(diǎn)在于船响, >> 以追加的方式,將命令的輸出寫入文件的末尾躲履。

<-----------------------是從文件到命令的重定向见间,將文件的內(nèi)容作為命令的輸入。

|------------------------為管道符號(hào)工猜,它的作用是將前一個(gè)命令的輸出米诉,作為下一個(gè)命令的輸入。假設(shè)一個(gè)目錄下的文件太多篷帅,使用 ls命令不能夠在屏幕中完全顯示史侣,這個(gè)時(shí)候您可以將 ls 命令的輸出,通過管道符號(hào)魏身,作為瀏覽器 less 的輸入惊橱。就可以使用瀏覽器的功能翻頁、查找:ls -al | less

說明: less 瀏覽器的鍵綁定幾乎與 man 相同箭昵,請參閱 在線幫助系統(tǒng)

脫字符

Shell中的一些功能是通過特殊符號(hào)作為控制字符來實(shí)現(xiàn)的税朴,上面已經(jīng)介紹了很多了。這產(chǎn)生一個(gè)問題家制,如果一個(gè)文件名中正林,剛好包含了這些字符,比如 ; 颤殴,就很難對它進(jìn)行操作觅廓。使用 less 瀏覽這個(gè)文件

less ;xxx

less 會(huì)很快返回一個(gè)錯(cuò)誤信息,因?yàn)椴]有一個(gè)文件名作為操作對象涵但。接著杈绸,Shell會(huì)報(bào)告帖蔓,系統(tǒng)中沒有 xxx 這個(gè)命令。

這是因?yàn)镾hell將文件名中的 ; 解析為按順序執(zhí)行命令蝇棉。

或者您的文件名以空白起始讨阻,而在Shell中,無論多少個(gè)空格篡殷,都將被解析為一個(gè)分隔符钝吮。您甚至不是使用命令重命名此文件。

這個(gè)時(shí)候就要用到脫字符 \ 了板辽,它能夠?qū)⒁粋€(gè)具有特殊涵義的字符轉(zhuǎn)換普通字符奇瘦。上面的兩個(gè)任務(wù),可以在文件名中每個(gè)特殊字符前加一個(gè) \ 劲弦,像這樣

less \;xxx

less \ \xxx

less \;\ \&\xxx

說明:也可以使用 " 將文件名括起來耳标,例如 less "; &xxx" ,在很多情況下邑跪,這樣甚至更方便次坡。

脫字符在Shell中也可以作為換行符,在一個(gè)命令的末尾添加一個(gè) \ 画畅,然后回車砸琅,在下一行繼續(xù)輸入命令剩余的部分,將一個(gè)命令拆分為多行且不影響它的執(zhí)行(如果執(zhí)行一個(gè)很長的命令轴踱,請將它拆分為多行以便于閱讀)

事實(shí)上換行符也符合脫字符的定義症脂。回車鍵有兩個(gè)涵義淫僻,一個(gè)是 執(zhí)行 (Enter)诱篷,另一個(gè) 換行 (折線箭頭)。在Shell中它作為控制字符 執(zhí)行 雳灵,使用脫字符后棕所,它便代表排版字符 換行 了。

Fish

the friendly interactive shell

正如它的名字悯辙,F(xiàn)ish是一款非常友好的Shell琳省,大力推薦!使用命令 sudo apt-get install fish 安裝它笑撞。完成后岛啸,運(yùn)行命令 fish 切換到fish钓觉, exit 返回bash茴肥。

簡單介紹一下它的優(yōu)點(diǎn):

1.自動(dòng)補(bǔ)全、語法高亮

bash的自動(dòng)補(bǔ)全默認(rèn)只是補(bǔ)全命令荡灾、路徑瓤狐,如果想補(bǔ)全變量瞬铸、參數(shù)等,通常需要使用復(fù)雜的組合鍵(見上面bash的介紹)础锐,即便您能夠記住它們嗓节,快

速準(zhǔn)確的按下這些組合鍵,也是一種嚴(yán)峻的考驗(yàn)皆警。而FISH的自動(dòng)補(bǔ)全可以自動(dòng)識(shí)別語法拦宣,補(bǔ)全正確的內(nèi)容。并且具有語法高亮的功能信姓,比如用MPLAYER放

MP3:

mpl(ayer) -l(oop) (0)

-sh(uffle) -pl(aylist) (mp3_playlist)

一陣猛按 鍵鸵隧,一個(gè)蠻長的命令就完成了。

補(bǔ)全結(jié)果不唯一時(shí)給出的提示中含有簡短的說明意推,這樣通常也不用看幫助了:)比如:

mplayer -l

后豆瘫,自動(dòng)將參數(shù)補(bǔ)全為 -lo 然后給出提示

-{lo}adidx (Load index from file) -{lo}op (Loop playback) {花括號(hào)中為青色文字}

它的語法高亮功能十分有用,如果你輸入的命令是正確的菊值,則用青色顯示外驱,正確的參數(shù)用白色顯示,錯(cuò)誤的則一律用紅色腻窒。

2.方便的歷史紀(jì)錄搜索

還是上面的那個(gè)命令

mplayer -loop 0 -shuffle -playlist mp3_playlist

用上翻配合下翻瀏覽命令歷史昵宇,直到找到這個(gè)命令,當(dāng)然那樣太慢了定页。

還可以輸入以上命令中的某一部分趟薄,如 uffle 只要翻一次就可以找到了

(還可以META+上翻在已輸入部分中插入某一歷史單詞)

3.文件夾歷史紀(jì)錄

dirh (dir history)就可以顯示當(dāng)前會(huì)話中進(jìn)入的文件夾紀(jì)錄

使用 prevd 和 nextd 跳轉(zhuǎn)

假如曾進(jìn)入過1 2 3 4 5 這幾個(gè)文件夾, prevd 4 可以讓你在 5 中直接跳到 1

4.其它的功能

fish基本是兼容bash的典徊。鍵綁定也非常的相似杭煎,少數(shù)的鍵綁定不盡一致,例如:

\C-h 刪除光標(biāo)前的一個(gè)字符(bash為退格鍵卒落,不方便)

修改 /etc/fish_inputrc 這個(gè)文件羡铲,增加以下行:

"\C-n": history-search-forward

"\C-p": history-search-backward

現(xiàn)在使用Ctrl+p上翻,使用Ctrl+n下翻儡毕。如果已經(jīng)在命令行中輸入字符也切,那么Ctrl+p就是在歷史紀(jì)錄向上查找您輸入的字符,Ctrl+n為向下查找腰湾,非常的方便雷恃。

設(shè)定您的默認(rèn)Shell

如果能夠擁有root權(quán)限,可以直接修改 /etc/passwd 文件费坊。找到您用戶ID起始的行

user:x:1000:112:user,,,:/home/user:/bin/bash

最后一個(gè)字段為登錄后的默認(rèn)Shell倒槐, /bin/bash 是程序 bash 的主程序路徑。 fish 主程序的路徑通常為 /usr/bin/fish 附井。

/etc/shells 中列出系統(tǒng)中所有可用Shell( /bin/false 代表禁用Shell)

也可以使用如下命令更改您的默認(rèn)Shell

chsh -s /usr/bin/fish

(需要輸入您的密碼)

Tip:可以使用 whereis xxx 命令讨越,來查找 xxx 程序的安裝位置两残,詳見搜索

設(shè)定命令的搜索路徑

使用 echo $PATH ,可以顯示 $PATH 變量把跨,輸出如下:

/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/bin/X11 /usr/games /usr/X11R6/bin

它是一個(gè)環(huán)境變量人弓,代表執(zhí)行命令時(shí),Shell的搜索路徑着逐。

執(zhí)行一個(gè)命令時(shí)崔赌,Shell會(huì)到 $PATH 變量定義的路徑去搜索,并運(yùn)行與命令同名的可執(zhí)行文件耸别。如果程序峰鄙、腳本等可執(zhí)行文件并不在上面的路徑中,就必須使用絕對路徑或者相對路徑定位可執(zhí)行文件太雨。

例如:

/usr/local/mplayer -menu xxx.rmvb

/etc/init.d/powernowd start

cd /usr/local/ && ./mplayer -menu xxx.rmvb

可以修改 /etc/environment 文件來設(shè)定您的命令搜索路徑吟榴,找到 PATH 起始的行

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"

在雙引號(hào)中添加您的自定義路徑,并以 : 分隔囊扳。

Ubuntu系統(tǒng)簡介

Ubuntu系統(tǒng)目錄結(jié)構(gòu)

以下為Ubuntu目錄的主要目錄結(jié)構(gòu)吩翻,您稍微了解它們都包含了哪些文件就可以了,不需要記憶锥咸。

/ 根目錄

├boot/ 啟動(dòng)文件狭瞎。所有與系統(tǒng)啟動(dòng)有關(guān)的文件都保存在這里

│ └grub/ Grub引導(dǎo)器相關(guān)的文件

├dev/ 設(shè)備文件

├proc/ 內(nèi)核與進(jìn)程鏡像

├m(xù)nt/ 臨時(shí)掛載

├m(xù)edia/ 掛載媒體設(shè)備

├root/ root用戶的$HOME目錄

├home/

│ ├user/ 普通用戶的$HOME目錄

│ └.../

├bin/ 系統(tǒng)程序

├sbin/ 管理員系統(tǒng)程序

├lib/ 系統(tǒng)程序庫文件

├etc/ 系統(tǒng)程序和大部分應(yīng)用程序的全局配置文件

│ ├init.d/ SystemV風(fēng)格的啟動(dòng)腳本

│ ├rcX.d/ 啟動(dòng)腳本的鏈接煮寡,定義運(yùn)行級別

│ ├network/ 網(wǎng)絡(luò)配置文件

│ ├X11/ 圖形界面配置文件

├usr/

│ ├bin/ 應(yīng)用程序

│ ├sbin/ 管理員應(yīng)用程序

│ ├lib/ 應(yīng)用程序庫文件

│ ├share/ 應(yīng)用程序資源文件

│ ├src/ 應(yīng)用程序源代碼

│ ├local/

│ │ ├soft/ 用戶程序

│ │ └.../ 通常使用單獨(dú)文件夾

│ ├X11R6/ 圖形界面系統(tǒng)

├var/ 動(dòng)態(tài)數(shù)據(jù)

├temp/ 臨時(shí)文件

├lost+found/ 磁盤修復(fù)文件

啟動(dòng)流程

Linux系統(tǒng)主要通過以下步驟啟動(dòng):

1.讀取MBR的信息壳澳,啟動(dòng)Boot Manager

Windows使用NTLDR作為Boot

Manager,如果您的系統(tǒng)中安裝多個(gè)版本的Windows礁遣,您就需要在NTLDR中選擇您要進(jìn)入的系統(tǒng)雪侥。

Linux通常使用功能強(qiáng)大碗殷,配置靈活的GRUB作為Boot Manager,我們將在啟動(dòng)管理章節(jié)中向您介紹它的使用方式速缨。

2.加載系統(tǒng)內(nèi)核锌妻,啟動(dòng)init進(jìn)程

init進(jìn)程是Linux的根進(jìn)程,所有的系統(tǒng)進(jìn)程都是它的子進(jìn)程旬牲。

3.init進(jìn)程讀取 /etc/inittab文件中的信息仿粹,并進(jìn)入預(yù)設(shè)的運(yùn)行級別,按順序運(yùn)行該運(yùn)行級別對應(yīng)文件夾下的腳本原茅。腳本通常以 start 參數(shù)啟動(dòng)吭历,并指向一個(gè)系統(tǒng)中的程序。

通常情況下擂橘, /etc/rcS.d/ 目錄下的啟動(dòng)腳本首先被執(zhí)行晌区,然后是 /etc/rcN.d/ 目錄。例如您設(shè)定的運(yùn)行級別為3,那么它對應(yīng)的啟動(dòng)目錄為 /etc/rc3.d/ 。

4.根據(jù) /etc/rcS.d/文件夾中對應(yīng)的腳本啟動(dòng)Xwindow服務(wù)器 xorg

Xwindow為Linux下的圖形用戶界面系統(tǒng)契讲。

5.啟動(dòng)登錄管理器,等待用戶登錄

Ubuntu系統(tǒng)默認(rèn)使用GDM作為登錄管理器滑频,您在登錄管理器界面中輸入用戶名和密碼后捡偏,便可以登錄系統(tǒng)。(您可以在 /etc/rc3.d/ 文件夾中找到一個(gè)名為 S13gdm 的鏈接)

更改運(yùn)行級別

在 /etc/inittab 文件中找到如下內(nèi)容:

# The default runlevel.

id:2:initdefault:

這一行中的數(shù)字 2 ,為系統(tǒng)的運(yùn)行級別峡迷,默認(rèn)的運(yùn)行級別涵義如下:

0關(guān)機(jī)?????? 1單用戶維護(hù)模式???????? 2~5多用戶模式???????? 6重啟

服務(wù)管理

更改啟動(dòng)服務(wù)

在運(yùn)行級別對應(yīng)的文件夾中银伟,您可以看到許多文件名以 S## 和 K## 起始的啟動(dòng)腳本鏈接。例如:

/etc/rcS.d/S35mountall.sh 掛載文件系統(tǒng)

/etc/rcS.d/S40networking 啟用網(wǎng)絡(luò)支持

/etc/rc2.d/S13gdm 啟動(dòng)登錄管理器

/etc/rc2.d/S20makedev 創(chuàng)建設(shè)備文件

/etc/rc2.d/S23xinetd 啟動(dòng)超級進(jìn)程

init進(jìn)程將以 start 為參數(shù)绘搞,按文件名順序執(zhí)行所有以 S## 起始的腳本彤避。腳本名稱中的數(shù)字越小,它將被越早執(zhí)行夯辖。例如在

/etc/rc2.d/ 文件夾中琉预, S13gdm 文件名中的數(shù)字小于 S23xinetd , S13gdm 將比 S23xinetd 先執(zhí)行。

如果一個(gè)腳本鏈接蒿褂,以 K## 起始圆米,表示它將以 stop 參數(shù)被執(zhí)行。如果相應(yīng)服務(wù)沒有啟動(dòng)啄栓,則不執(zhí)行該腳本娄帖。例如:

/etc/rc2.d/K20powernowd 針對某種硬件的電源管理支持

如果您想禁止某一服務(wù)在啟動(dòng)時(shí)自動(dòng)運(yùn)行,您可以將相應(yīng)運(yùn)行級別中的腳本由 S##xxx 重命名為 K##xxx 昙楚。

手動(dòng)控制服務(wù)

您也可以手動(dòng)運(yùn)行帶有以下參數(shù)的啟動(dòng)腳本近速,來控制系統(tǒng)服務(wù)。

- start啟動(dòng) ?????- stop停止 ?????- restart重啟

例如:

/etc/rc2.d/K20powernowd start

有時(shí)您并不清楚當(dāng)前運(yùn)行級別堪旧,該運(yùn)行級別下未必有相應(yīng)腳本削葱;而且此類腳本的前三位字符并不固定,不便于記憶淳梦。這時(shí)佩耳,可以直接使用

/etc/init.d/ 文件夾中的啟動(dòng)腳本( /etc/rcX.d/ 中的啟動(dòng)腳本鏈接到 /etc/init.d/

文件夾下相應(yīng)腳本),這也是推薦的方式谭跨。

例如:

/etc/init.d/powernowd start

Note:以上命令的位置并沒有包含在環(huán)境變量的搜索路徑中干厚,所以要輸入完整路徑。

常用系統(tǒng)服務(wù)

acpi-support 高級電源管理支持????????? acpid acpi守護(hù)程序.這兩個(gè)用于電源管理螃宙,非常重要

alsa 聲音子系統(tǒng)?????????????????? alsa-utils

anacron cron的子系統(tǒng)蛮瞄,將系統(tǒng)關(guān)閉期間的計(jì)劃任務(wù),在下一次系統(tǒng)運(yùn)行時(shí)執(zhí)行谆扎。

apmd acpi的擴(kuò)展???????????????? atd 類似于cron的任務(wù)調(diào)度系統(tǒng)挂捅。建議關(guān)閉

binfmt-support 核心支持其他二進(jìn)制的文件格式。建議開啟????????????????? bluez-utiles 藍(lán)牙設(shè)備支持

bootlogd 啟動(dòng)日志堂湖。開啟它???????????????? cron 任務(wù)調(diào)度系統(tǒng)闲先,建議開啟

cupsys 打印機(jī)子系統(tǒng)状土。????????????? dbus 消息總線系統(tǒng)(message bus system)。非常重要

dns-clean 使用撥號(hào)連接時(shí)伺糠,清除dns信息蒙谓。

evms 企業(yè)卷管理系統(tǒng)(Enterprise Volumn Management system)

fetchmail 郵件用戶代理守護(hù)進(jìn)程,用于收取郵件????????????????? gdm gnome登錄和桌面管理器训桶。

Gdomap????????????? gpm 終端中的鼠標(biāo)支持累驮。?????????? halt 別動(dòng)它。

hdparm 調(diào)整硬盤的腳本舵揭,配置文件為 /etc/hdparm.conf谤专。???????????? hibernate 系統(tǒng)休眠

hotkey-setup 筆記本功能鍵支持。支持類型包括: HP, Acer, ASUS, Sony, Dell, 和IBM

hotplug and hotplug-net 即插即用支持午绳,比較復(fù)雜置侍,建議不要?jiǎng)铀?/p>

hplip HP打印機(jī)和圖形子系統(tǒng)???????????? ifrename 網(wǎng)絡(luò)接口重命名腳本。如果您有十塊網(wǎng)卡拦焚,您應(yīng)該開啟它

inetd 在文件 /etc/inetd.conf 中墅垮,注釋掉所有你不需要的服務(wù)。如果該文件不包含任何服務(wù)耕漱,那關(guān)閉它是很安全的算色。????????????? klogd 重要。

linux-restricted-modules-common 受限模塊支持螟够。 /lib/linux-restricted-modules/ 文件夾中的模塊為受限模塊灾梦。例如某些驅(qū)動(dòng)程序,如果您沒有使用受限模塊妓笙,就不需要開啟它若河。

lvm 邏輯卷管理系統(tǒng)支持。???????????????? makedev 創(chuàng)建設(shè)備文件寞宫,非常重要萧福。?????????? mdamd 磁盤陣列

module-init-tools 從/etc/modules加載擴(kuò)展模塊,建議開啟辈赋。

networking 網(wǎng)絡(luò)支持鲫忍。按 /etc/network/interfaces 文件預(yù)設(shè)激活網(wǎng)絡(luò),非常重要钥屈。

ntpdate 時(shí)間同步服務(wù)悟民,建議關(guān)閉。??????????? pcmcia pcmcia設(shè)備支持篷就。?????????? powernowd 移動(dòng)CPU節(jié)能支持

ppp and ppp-dns 撥號(hào)連接?????????????????? readahead 預(yù)加載庫文件射亏。????????? reboot 別動(dòng)它

resolvconf 自動(dòng)配置DNS??????????? rmnologin 清除nologin???????????????? rsync rsync守護(hù)程序

sendsigs 在重啟和關(guān)機(jī)期間發(fā)送信號(hào)?????????? single 激活單用戶模式???????????????? ssh ssh守護(hù)程序。建議開啟

stop-bootlogd 在2,3智润,4及舍,5運(yùn)行級別中停止bootlogd服務(wù)?????????????????? sudo 檢查sudo狀態(tài)。重要

sysklogd 系統(tǒng)日志????????????? udev & udev-mab 用戶空間dev文件系統(tǒng)(userspace dev filesystem)窟绷。重要

umountfs 卸載文件系統(tǒng)?????????????? urandom 隨機(jī)數(shù)生成器??????????????? usplash 開機(jī)畫面支持

vbesave 顯卡BIOS配置工具锯玛。保存顯卡的狀態(tài)??????????? xorg-common 設(shè)置X服務(wù)ICE socket。

adjtimex 調(diào)整核心時(shí)鐘的工具????????????? dirmngr 證書列表管理工具,和gnupg一起工作钾麸。

hwtools irqs優(yōu)化工具?????????????????? libpam-devperm 系統(tǒng)崩潰之后,用于修理設(shè)備文件許可的守護(hù)程序炕桨。

lm-sensors 板載傳感器支持????????????????? mdadm-raid 磁盤陳列管理器

screen-cleanup 清除開機(jī)屏幕的腳本???????????? xinetd 管理其他守護(hù)進(jìn)程的一個(gè)inetd超級守護(hù)程序

重要配置文件

饭尝!無論任何情況下,修改配置文件之前献宫,先備份它钥平!

建議使用這個(gè)命令: sudo cp xxx xxx_`date +%y%m%d_%H:%M` 。

當(dāng)然這很麻煩姊途,您可以新建一個(gè)名為 bak 的文件涉瘾,內(nèi)容如下:

#!/bin/bash

sudo cp $1 $1_`date +%y%m%d_%H:%M`

把它放在您能夠記住的目錄下,比如 /home 捷兰,執(zhí)行命令 sh /home/bak xxx 立叛,就可以將當(dāng)前文件夾下的文件 xxx 另存為 xxx_yymmdd_HH:MM 的格式了

全局配置文件

系統(tǒng)初始化

/etc/inittab 運(yùn)行級別、控制臺(tái)數(shù)量??????????????? /etc/timezone 時(shí)區(qū)?????????????? /etc/inetd.conf 超級進(jìn)程

文件系統(tǒng)

/etc/fstab 開機(jī)時(shí)掛載的文件系統(tǒng)????????????????? /etc/mtab 當(dāng)前掛載的文件系統(tǒng)

用戶系統(tǒng)

/etc/passwd 用戶信息?????????????????? /etc/shadow 用戶密碼?????????????????? /etc/group 群組信息

/etc/gshadow 群組密碼???????????????? /etc/sudoers Sudoer列表(請使用“visudo”命令修改此文件贡茅,而不要直接編輯)

Shell

/etc/shell 可用Shell列表????????????? /etc/inputrc ReadLine控件設(shè)定????????????? /etc/profile 用戶首選項(xiàng)

/etc/bash.bashrc bash配置文件

系統(tǒng)環(huán)境

/etc/environment 環(huán)境變量?????????? /etc/updatedb.conf 文件檢索數(shù)據(jù)庫配置信息????????????????? /etc/issue 發(fā)行信息

/etc/issue.net???????????????? /etc/screenrc 屏幕設(shè)定

網(wǎng)絡(luò)

/etc/iftab 網(wǎng)卡MAC地址綁定????????????? /etc/hosts 主機(jī)列表???????????? /etc/hostname 主機(jī)名

/etc/resolv.conf 域名解析服務(wù)器地址???????????? /etc/network/interfaces 網(wǎng)卡配置文件

用戶配置文件

/etc/ 目錄下的文件秘蛇,只有root用戶才有權(quán)修改。應(yīng)用軟件的全局配置文件顶考,通常普通用戶也不能夠修改赁还,如果要通過配置軟件,來適應(yīng)特殊需求驹沿,您可以修改用戶配置文件艘策。

用戶配置文件通常為全局配置文件的同名隱藏文件,放在$HOME目錄下渊季,例如:

/etc/inputrc /home/user/.inputrc

/etc/vim/vimrc /home/user/.vim/vimrc

也有少數(shù)例外朋蔫,通常是系統(tǒng)程序

軟件安裝

DPKG

Linux系統(tǒng)中,軟件通常以源代碼或者預(yù)編譯包的形式提供却汉。

軟件源代碼需要編譯為二進(jìn)制的機(jī)器代碼才能夠使用斑举,安裝比較耗時(shí),不過您可以自行調(diào)節(jié)編譯選項(xiàng)病涨,決定需要的功能或組件富玷,或者針對硬件平臺(tái)作一些優(yōu)化。

預(yù)編譯的軟件包,通常是由軟件的發(fā)布者進(jìn)行編譯赎懦,您只要將軟件拷貝到系統(tǒng)中就可以了雀鹃。考慮到預(yù)編譯軟件包的適用性励两,預(yù)編譯軟件包通常不會(huì)針對某種硬件平臺(tái)優(yōu)化黎茎。它所包含的功能和組件也是通用的組合。

Ubuntu系統(tǒng)中当悔,軟件通常以 deb 格式的包文件發(fā)布傅瞻,它是一種預(yù)編譯軟件包。deb包中除了包含已編譯的軟件盲憎,通常還包括軟件的拷貝路徑嗅骄、對其它軟件包的依賴關(guān)系紀(jì)錄、比較通用的配置文件以及軟件的描述饼疙、版本溺森、作者、類別窑眯、占用空間等信息屏积。

deb軟件包命令遵行如下約定:

soft_ver-rev_arch.deb

soft軟件包名稱ver軟件版本號(hào)revUbuntu修訂版本號(hào)arch目標(biāo)架構(gòu)名稱

例如: azureus_2.4.0.2-0ubuntu2_all.deb

您需要使用 dpkg 命令來管理deb軟件包:

dpkg -i | --install xxx.deb 安裝deb軟件包

dpkg -r | --remove xxx.deb 刪除軟件包

dpkg -r -P | --purge xxx.deb 連同配置文件一起刪除

dpkg -I | -info xxx.deb 查看軟件包信息

dpkg -L xxx.deb 查看包內(nèi)文件

dpkg -l 查看系統(tǒng)中已安裝軟件包信息

dpkg-reconfigure xxx 重新配置軟件包

有些時(shí)候,您使用 dpkg 安裝一個(gè)軟件包磅甩,系統(tǒng)會(huì)提示您該軟件包依賴其它軟件包炊林。這時(shí),您先安裝其它軟件包卷要,直到滿足依賴關(guān)系為止铛铁。或者同時(shí)安裝多個(gè)軟件包

dpkg -i aaa.deb bbb.deb ccc.deb

APT

如果一個(gè)軟件依賴關(guān)系過于復(fù)雜却妨,使用 dpkg

來安裝它饵逐,并不是一個(gè)明智的選擇,這個(gè)時(shí)候您就需要用到APT軟件包管理系統(tǒng)彪标。APT可以自動(dòng)的檢查依賴關(guān)系倍权,通過您預(yù)設(shè)的方式來獲得相關(guān)軟件包,并自動(dòng)

安裝配置它捞烟。事實(shí)上薄声,在多數(shù)情況下,我們推薦您使用APT軟件包管理系統(tǒng)题画。

APT系統(tǒng)需要一個(gè)軟件信息數(shù)據(jù)庫和至少一個(gè)存放著大量deb包的軟件倉庫默辨,我們稱之為 源 。 源 可以是網(wǎng)絡(luò)服務(wù)器苍息,安裝CD或者本地軟件倉庫缩幸。您需要修改 /etc/apt/sources.list 文件壹置,使APT系統(tǒng)能夠連接到 源。

從以下頁面中獲得網(wǎng)絡(luò)安裝源的列表表谊,并且根據(jù)您的網(wǎng)絡(luò)環(huán)境钞护,選擇速度較快的源悔据。

http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E......%97/DapperDrake

APT系統(tǒng)主要包括 apt-get 和 apt-cache 等命令探越。通常是復(fù)合命令洁桌,包含若干個(gè)子命令檬果。

apt-get install xxx 安裝xxx

-d僅下載-f強(qiáng)制安裝

apt-get remove xxx 卸載xxx

apt-get update 更新軟件信息數(shù)據(jù)庫

apt-get upgrade 進(jìn)行系統(tǒng)升級

apt-cache search 搜索軟件包

說明:建議您經(jīng)常使用 sudo apt-get update 命令來更新您的軟件信息數(shù)據(jù)庫

APT系統(tǒng)修復(fù)

由于各種意外,APT系統(tǒng)可能會(huì)出現(xiàn)問題介陶,使用如下命令鞠呈,嘗試進(jìn)行修復(fù):apt-get -f install

源碼包

對于絕大多數(shù)軟件藐唠,我們建議您使用APT系統(tǒng)來安裝它跨算。在少數(shù)情況下爆土,例如某軟件沒有以deb包的格式發(fā)布,或者需要定制適合自己的軟件漂彤,您可以通過編譯源代碼的方式安裝它雾消。

首先需要下載軟件的源碼包灾搏,并且將它解包為一些源代碼文件挫望。并了便于管理,建議將下載的源碼包移動(dòng)到 /usr/local/src/ 目錄下狂窑,并在這里解包媳板。

sudo mv xxx.tar.gz /usr/local/src 移動(dòng)源碼包

cd /usr/local/src 進(jìn)入“/usr/local/src/”目錄

sudo tar -xzvf xxx.tar.gz 解包源碼

cd xxx_ver/ 進(jìn)行解包后的源碼目錄

源碼目錄中通常有一個(gè) configure 腳本,用來配置即將開始的編譯過程泉哈。您可以執(zhí)行它

sudo ./configure [--prefix=/usr/loca/xxx ......]

它會(huì)自動(dòng)檢測軟件的編譯環(huán)境和依賴關(guān)系蛉幸,并且生成 Makefile 文件。

使用帶參數(shù)的命令 ./configure --help 丛晦,或者閱讀 INSTALL 文件奕纫,查看該腳本允許的參數(shù)。例如使用

--prefix=/usr/local/xxx 參數(shù)烫沙,將軟件的安裝目錄設(shè)定為 /usr/local/xxx/

匹层。(如果一定要將軟件安裝在單獨(dú)目錄下,建議您安裝在這里)

現(xiàn)在執(zhí)行 make 命令锌蓄,系統(tǒng)會(huì)根據(jù) Makefile 文件中的設(shè)定升筏,通過 make 工具調(diào)用編譯器和所需資源文件,將源代碼編譯成目標(biāo)文件瘸爽。

sudo make

執(zhí)行 make install 命令您访, make 工具會(huì)自動(dòng)連接目標(biāo)文件和庫文件,將最終生成的文件拷貝到 Makefile 文件設(shè)定的路徑中剪决,并且完成更改文件的屬性灵汪,刪除殘留文件等活動(dòng)檀训。

sudo make install

現(xiàn)在,編譯安裝已經(jīng)完成识虚,為了更方便的使用它肢扯,需要給程序的可執(zhí)行文件作一個(gè)符號(hào)鏈接。

sudo ln -sf /usr/local/xxx/可執(zhí)行文件 /usr/local/bin/可執(zhí)行文件

Tip:為了順利的進(jìn)行編譯担锤,至少需要安裝 build-essential 軟件包蔚晨。

sudo apt-get install build-essential

Xwindow簡介

Xwindow是工作站圖形系統(tǒng)的工業(yè)標(biāo)準(zhǔn),它有多種不同的實(shí)現(xiàn)肛循,Ubuntu系統(tǒng)中使用的為Xorg铭腕。

(比較前衛(wèi)的圖形界面系統(tǒng)XGL,實(shí)際代替X服務(wù)器的作用多糠,另外還有與之配套的窗口管理器)

歷史

當(dāng)然累舷,Xwindow有悠久的歷史和傳統(tǒng),不過那不在我們討論的范圍夹孔。您要注意的有兩點(diǎn):

* Xwindow 和 Xbox 中的“X”本意是不同的被盈, X 只是 W 后的一個(gè)字母,差不多應(yīng)該這樣理解搭伤,Xwindow 是 Window 的接班人 (注意只怎,Window不是Windows)

* 同樣,也不要把 Xwindow 說成是 Xwindows怜俐,那是一種褻瀆身堡!一切偉大的創(chuàng)造,都應(yīng)得到應(yīng)有的理解和尊重拍鲤。

架構(gòu)及原理

Xwindow使用服務(wù)器-客戶端架構(gòu)贴谎。無論本地圖形界面,還是遠(yuǎn)程圖形界面季稳,都以同樣的流程工作擅这。這樣便不需要分別進(jìn)行設(shè)計(jì)和維護(hù),極大的提高了網(wǎng)絡(luò)透明性景鼠。

本地X客戶端 ┐ ┌ 鍵盤

遠(yuǎn)程X客戶端 ┼ X協(xié)議 ─ X服務(wù)器 ─ 硬件規(guī)范 ┼ 鼠標(biāo)

遠(yuǎn)程X客戶端 ┘ └ 顯示器

Xserver

Xwindow系統(tǒng)服務(wù)器端仲翎,通過驅(qū)動(dòng)程序(硬件規(guī)范)來管理硬件資源。

例如:當(dāng)我們移動(dòng)鼠標(biāo)時(shí)莲蜘,通過驅(qū)動(dòng)程序谭确,向 Xserver 發(fā)送信息:

“向右移動(dòng)200點(diǎn),向上移動(dòng)100點(diǎn)”(向右上移動(dòng))票渠;“按下左鍵”……

Xserver作出如下響應(yīng):

1逐哈、上一次鼠標(biāo)停止的坐標(biāo)為600,500

2、向右200问顷,向上100“和海現(xiàn)在鼠標(biāo)位于坐標(biāo)800,600

3禀梳、坐標(biāo)800,600處,為窗口Firefox的“關(guān)閉”按鈕

4肠骆、根據(jù)預(yù)設(shè)動(dòng)作算途,將 “點(diǎn)擊Firefox窗口的關(guān)閉按鈕” 翻譯為 “關(guān)閉窗口Firefox”

5、向X客戶端Firefox發(fā)送一個(gè)“退出”消息

6蚀腿、Xserver通過顯示子系統(tǒng)(顯卡嘴瓤、顯示器),全程顯示鼠標(biāo)的位置和移動(dòng)

* 事實(shí)上莉钙,向程序發(fā)送“退出”信號(hào)廓脆,通常窗口管理器完成……為了描述方便,這里暫不區(qū)分磁玉。稍后停忿,我們將向您介紹 窗口管理器 的其它一些細(xì)節(jié)。

大多數(shù)的鼠標(biāo)不需要專門的驅(qū)動(dòng)程序蚊伞,因?yàn)樗鼈兎夏骋挥布?guī)范席赂,例如:有四個(gè)移動(dòng)方向和三個(gè)鍵

Xclient

Xwindow系統(tǒng)客戶端,通過X協(xié)議时迫,實(shí)現(xiàn)與Xserver 的交互颅停。

例如:

1、Xclient (假設(shè)Firefox) 接收Xserver的消息: 輸入焦點(diǎn)在地址欄的范圍內(nèi)别垮,“ubuntu.org.cn”便监,回車

2扎谎、Firefox根據(jù)預(yù)設(shè)動(dòng)作碳想,將這些消息識(shí)別為 “打開鏈接 ubuntu.org.cn”

3、Firefox向域名服務(wù)器請求 鏈接 “ubuntu.org.cn”毁靶。域名服務(wù)器將這個(gè)請求轉(zhuǎn)換為 “http://ubuntu.org.cn/” 和 IP地址211.148.131.7胧奔,發(fā)送回 Firefox

4、Firefox將 “http://ubuntu.org.cn/”顯示在地址欄(向Xserver發(fā)送請求预吆,在地址欄位置顯示這個(gè)地址)

5龙填、Firefox向地址 211.148.131.7 請示顯示頁面。

6拐叉、Firefox將服務(wù)器發(fā)送回的頁面顯示在主窗口中

Xprotocol

Xwindow系統(tǒng)協(xié)議岩遗,Xserver和Xclient之間進(jìn)行通信的規(guī)則

窗口管理器

Window Manager,一種特殊的Xclient凤瘦。

使用窗口管理器時(shí)宿礁,Xserver并不直接與其它Xclient通信,而是通過WM中轉(zhuǎn)蔬芥,當(dāng)一些消息被定義為WM指令時(shí)梆靖,它們會(huì)被攔截控汉。例如Alt+F4關(guān)閉窗口、拖動(dòng)標(biāo)題欄……

消息“打開鏈接 ubuntu.org.cn”返吻,具體內(nèi)容如下:

輸入焦點(diǎn)在地址欄的范圍內(nèi)姑子,“ubuntu.org.cn”,回車

Xserver并不能直接判斷焦點(diǎn)测僵,而是這樣:

1街佑、Xserver向WM發(fā)送位置和點(diǎn)擊的信息,WM根據(jù)當(dāng)前的“焦點(diǎn)策略”確定激活(最上層)的窗口為Firefox

2捍靠、Xserver將Firefox顯示在最上層舆乔,高亮顯示它的標(biāo)題欄

3、在窗口Firefox內(nèi)點(diǎn)擊地址欄剂公,或者 Ctrl+L希俩,Xserver將位置信息發(fā)送給WM,WM再發(fā)送給Firefox

4纲辽、Firefox判斷當(dāng)前焦點(diǎn)后颜武,顯示一個(gè)閃動(dòng)的文字輸入光標(biāo)

5、Firefox將輸入光標(biāo)通過WM發(fā)送給Xserver拖吼,Xserver在屏幕相應(yīng)位置進(jìn)行顯示

那么鳞上,“窗口管理器”到底能作些什么呢?其實(shí)它所作的一切都是管理窗口吊档。例如:

1.最上層的窗口會(huì)把其它窗口擋住

2.它通常是一個(gè)“已激活窗口”篙议,根據(jù)不同的“焦點(diǎn)策略”,窗口管理器確定被激活的窗口怠硼。

激活窗口標(biāo)題欄高亮顯示鬼贱,接收大部分的鍵盤消息和窗口內(nèi)的鼠標(biāo)點(diǎn)擊消息。

3.為了美觀和容易分辨香璃,大多數(shù)窗口都要有標(biāo)題欄和邊框这难。

為了方便,標(biāo)題欄上還要有一些按鈕葡秒,比如:最小化姻乓,最大化,關(guān)閉(這些按鈕是窗口管理器請求的小窗口)

4.一個(gè)窗口可以在另一個(gè)窗口旁邊顯示眯牧,而不一定完全被遮擋蹋岩。為了實(shí)現(xiàn)這一點(diǎn),就要控制窗口顯示的位置

5.為了控制窗口的顯示位置学少,需要將整個(gè)屏幕用座標(biāo)描述剪个,最好的辦法是繪制一個(gè)填充整個(gè)屏幕的窗口,也就是根窗口旱易。

6.因?yàn)楦翱谑亲畲蟮慕耍运梢試?yán)嚴(yán)實(shí)實(shí)的遮擋任何窗口腿堤,為了避免這一點(diǎn),根窗口永遠(yuǎn)在最底層如暖。

這很形象的說明了為什么它叫作“根窗口” ……root

7.根窗口不一定只有一個(gè)笆檀,大多數(shù)的窗口管理器可以使用 “工作區(qū)” ,來切換顯示多個(gè)根窗口

8.根窗口固定位置上通常放置一些其它Xclient的窗口盒至,例如底部面板酗洒,頂部面板,側(cè)面板枷遂,程序啟動(dòng)圖標(biāo)

9.面板上又可以放一些其它的Xclient窗口樱衷,如任務(wù)條,啟動(dòng)欄酒唉,菜單……

任務(wù)條可以以圖標(biāo)顯示正在運(yùn)行的任務(wù)矩桂,還可以作其它的雜活,像自動(dòng)掛載USB設(shè)備……

啟動(dòng)流程

我們知道 init 是linux的根進(jìn)程痪伦,是所有進(jìn)程的父進(jìn)程侄榴。同樣, xinit是所有Xwindow進(jìn)程的根進(jìn)程

Startx

startx 命令可以在命令行下啟動(dòng)圖形界面网沾。執(zhí)行startx 命令時(shí)癞蚕,實(shí)際執(zhí)行這一命令:

xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc

根據(jù)腳本 /etc/X11/xinit/xserverrc 啟動(dòng)Xserver,同時(shí)根據(jù)腳本 /etc/X11/xinit/xinitrc 啟動(dòng)指定Xclient進(jìn)程辉哥,例如窗口管理器

腳本 /etc/X11/xinit/xserverrc 以預(yù)設(shè)的參數(shù)運(yùn)行程序 /usr/bin/X11/X

/etc/X11/xinit/xinitrc 腳本則指向 /etc/X11/Xsession 桦山,依次啟動(dòng) /etc/X11/Xsession.d 目錄中的腳本

* 您可以在用戶配置文件 ~/.Xsession 中定義使用的WM,它的優(yōu)先級高于全局配置文件(對于GDM會(huì)話不起作用)

* startx啟動(dòng)時(shí)醋旦,并不會(huì)再進(jìn)行身份認(rèn)證恒水。因?yàn)樗鼏?dòng)的是 /etc/X11/Xsession.d/gnome-session ,而不是 GDM會(huì)話

GDM會(huì)話

Ubuntu系統(tǒng)啟動(dòng)時(shí)自動(dòng)進(jìn)入圖形界面浑度,不需要運(yùn)行 startx 命令

在某些啟動(dòng)級別中寇窑,包含了gdm的啟動(dòng)腳本哎媚,例如 : /etc/rc2.d/S13gdm

1. 指向 /etc/gdm/gdm-cdd.conf 文件古胆,加載預(yù)設(shè)視覺主題改鲫,啟動(dòng) /usr/lib/gdm/gdmgreeter(登錄屏幕)

2. 用戶身份認(rèn)證完成后,啟動(dòng) /etc/X11/default-display-manager 這個(gè)文件中設(shè)定的默認(rèn)窗口管理器 /usr/sbin/gdm

gdm在啟動(dòng)時(shí)先慷,會(huì)要求用戶名和密碼,也就是我們看到的登錄屏幕(gdmgreeter)

* /usr/share/xsessions 目錄下為所有可用登錄會(huì)話的腳本

配置文件

X服務(wù)器

X服務(wù)器的主要配置文件為 /etc/X11/xorg.conf

布局

Section "ServerLayout"

Identifier "Default Layout"

Screen "Default Screen" 0 0

InputDevice "Generic Keyboard"

InputDevice "Configured Mouse"

EndSection

* 定義了 布局標(biāo)識(shí) 咨察、 屏幕標(biāo)識(shí) 论熙、 鍵盤標(biāo)識(shí) 、 鼠標(biāo)標(biāo)識(shí)

模塊

Section "Module"

Load "i2c"

Load "bitmap"

Load "ddc"

Load "dri"

Load "extmod"

Load "freetype"

Load "glx"

Load "int10"

Load "type1"

Load "vbe"

EndSection

X核心字體路徑

Section "Files"

FontPath "/usr/share/X11/fonts/75dpi"

FontPath "/usr/share/X11/fonts/100dpi"

FontPath "/usr/share/X11/fonts/misc"

FontPath "/usr/share/X11/fonts/cyrillic"

FontPath "/usr/share/X11/fonts/100dpi/:unscaled"

FontPath "/usr/share/X11/fonts/75dpi/:unscaled"

FontPath "/usr/share/X11/fonts/Type1"

FontPath "/usr/share/fonts/Chinese/wqy-bitmapfont"

EndSection

屏幕

Section "Screen"

Identifier "Default Screen"

Device "ATI Technologies, Inc. RV370 5B62 [Radeon X600 (PCIE)]"

Monitor "DELL E176FP"

DefaultDepth 24

SubSection "Display"

Depth 1

Modes "1280x1024" "1152x864" "1024x768" "800x600" "720x400" "640x480"

………………

EndSubSection

EndSection

* DefaultDepth 24 默認(rèn)色深

* SubSection 可用色深及分辨率

顯卡

Section "Device"

Identifier "ATI Technologies, Inc. RV370 5B62 [Radeon X600 (PCIE)]"

Driver "fglrx"

Option "KernelModuleParm" "agplock=0"

VideoRam 131072

EndSection

* Identifier 顯卡標(biāo)識(shí)

* Driver 顯卡驅(qū)動(dòng)(如不同正常啟用圖形界面摄狱,首先嘗試"vesa")

* Option 顯卡參數(shù)

* VideoRam 顯存大小

顯示器

Section "Device"

Identifier "ATI Technologies, Inc. RV370 5B62 [Radeon X600 (PCIE)]"

Driver "fglrx"

Option "KernelModuleParm" "agplock=0"

VideoRam 131072

EndSection

配置文件內(nèi)部結(jié)構(gòu)

/

├/ "ServerLayout" 布局

│├ "InputDevice" keyboard 鍵盤

│├ "InputDevice" mouse 鼠標(biāo)

││

│└/ "Screen" 顯示子系統(tǒng)

│ ├ "Monitor" 顯示器

│ ├ "Device" videocard 顯卡

├ "Files" 字體

└ "Module" 模塊

X客戶端

在 /etc/X11/Xsession 文件中可以發(fā)現(xiàn)下列內(nèi)容

OPTIONFILE=/etc/X11/Xsession.options

SYSRESOURCES=/etc/X11/Xresources

USRRESOURCES=$HOME/.Xresources

SYSSESSIONDIR=/etc/X11/Xsession.d

USERXSESSION=$HOME/.xsession

ALTUSERXSESSION=$HOME/.Xsession

ERRFILE=$HOME/.xsession-errors

* OPTIONFILE=/etc/X11/Xsession.options 設(shè)定X進(jìn)程的啟動(dòng)參數(shù)脓诡。例如允許用戶進(jìn)程allow-user-xsession

* Xresources X資源文件无午。許多程序保留了X接口,允許X服務(wù)器管理一些視覺選項(xiàng)祝谚,例如窗口內(nèi)的字體宪迟,配色等

* xsession X進(jìn)程〗还撸可以設(shè)置一些啟動(dòng)時(shí)自動(dòng)運(yùn)行的程序次泽,也可以用來設(shè)定自己的窗口管理器(窗口管理器和桌面環(huán)境或者登錄管理器是無關(guān)的)

字體

freetype渲染引擎

作為Xorg服務(wù)器的一個(gè)模塊,freetype的功能包括讀取Truetype字體信息席爽,如大小意荤、分辨率、編碼等只锻,并以之為依據(jù)渲染字體 -

freetype2.x相對于freetype1.x 增加了抗鋸齒等功能 - ( /etc/X11/xorg/conf 的 Module

字段中玖像,可以選擇字體渲染模塊,建議使用默認(rèn)的 freetype )

freetype只負(fù)責(zé)渲染字體齐饮。而查找字體御铃,則可以由X服務(wù)器、X客戶端或者字體服務(wù)器來完成沈矿。找到字體后上真,使用freetype引擎就地渲染

X核心字體

X服務(wù)器根據(jù)X客戶端的請求(字符編碼),查找字體并進(jìn)行渲染羹膳,然后顯示睡互,我們稱之為

Xft字體

X客戶端自行查找字體并進(jìn)行渲染,X服務(wù)器只負(fù)責(zé)顯示

由于Xft字體的渲染在客戶端完成陵像,所以它可以動(dòng)態(tài)的加載就珠,而不需要隨同X服務(wù)器一同啟動(dòng)

字體服務(wù)器

另外還有一種字體服務(wù)器模式,例如 XFT字體:當(dāng)客戶端請求字體時(shí)醒颖,X服務(wù)器將請求轉(zhuǎn)發(fā)到字體服務(wù)器妻怎,由字體服務(wù)器查找字體,并使用freetype引擎渲染泞歉,將結(jié)果傳回X服務(wù)器逼侦,X服務(wù)器進(jìn)行顯示……

X核心字體

/etc/X11/xorg.conf 中可以配置X核心字體的搜索路徑

Section "Files"

FontPath "/usr/X11R6/lib/X11/fonts/misc/"

FontPath "/usr/X11R6/lib/X11/fonts/Type1/"

FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"

FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"

FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"

EndSection

*

當(dāng)X客戶端向X服務(wù)器請求顯示文字的時(shí)候,X服務(wù)器會(huì)按上面列表的先后順序查找字體

例如顯示中文時(shí)腰耙,如果第一個(gè)路徑中的字體不包含中文榛丢,則查找下面的路徑,直到發(fā)現(xiàn)中文字體

*

請將您偏好的字體放在靠前的位置

要使安裝的字體能夠作為X核心字體使用挺庞,將字體的安裝路徑添加到上面的列表中晰赞,使用 mkfontscale 、 mkfontdir

掃瞄文件夾中的字體,并生成索引掖鱼,就可以了(建議使用 ttmkfdir 生成 fonts.scale 然走,將其復(fù)制為 fonts.dir )

字體的選擇及顯示風(fēng)格,可以修改GTK1的配置文件戏挡,或者在Xresources文件中對程序單獨(dú)進(jìn)行定義

事實(shí)上丰刊,在我們的日常應(yīng)用中,X核心字體環(huán)境并不常見增拥,使用GTK1圖形庫的程序啄巧、某些類型的終端……

* Emacs也是這樣一個(gè)老派的程序……不過Emacs23中剛剛加入了xft字體的支持

XFT字體

Xft字體相關(guān)選項(xiàng)在 /etc/fonts/fonts.conf 文件中配置

可以使用 fc-cache 命令,遞歸掃瞄以下目錄中的字體(包括子文件夾中的字體)掌栅,建立字體緩存

/usr/share/X11/fonts

/usr/share/fonts

/usr/local/share/fonts

~/.fonts

* /etc/fonts/fonts.conf 文件的 字段

多數(shù)支持GTK2或者Qt圖形庫的X客戶端能夠使用Xft字體渲染技術(shù)

* GTK2為Gnome使用的圖形庫秩仆,Qt為KDE使用的圖形庫。相對來說猾封,GTK2圖形庫在程序的GUI設(shè)計(jì)中更加通用

安裝字體澄耍,只要將字體拷貝到以上任意目錄, fc-cache -fv 刷新字體緩存即可 (參數(shù): -f 強(qiáng)制刷新; -v 顯示過程)

使用命令 fc-list 列出所有可用字體

字體的選擇及顯示風(fēng)格晌缘,可以修改GTK2或者Qt的配置文件齐莲,建議使用圖形界面配置

* 一般情況下,桌面環(huán)境中附帶了相關(guān)程序磷箕,例如 gnome-font-properties

系統(tǒng)管理

一些細(xì)節(jié)

Linux是大小寫敏感的系統(tǒng)选酗,所有的命令、路徑岳枷、參數(shù)芒填、變量……都區(qū)分大小寫

使用 TAB 鍵補(bǔ)全命令,無論任何時(shí)候空繁,多按幾次TAB總會(huì)有所幫助

Shell的功能鍵能夠協(xié)助您更高效的編輯命令殿衰,請熟悉其鍵綁定,盡量使用它

命令由 命令名 盛泡、 分隔符 闷祥、 參數(shù) 、 操作對象 構(gòu)成

命令名

標(biāo)識(shí)命令的功能傲诵,例如cp(copy)凯砍、mv(move)、rm(remove)……

有些命令包含一些子命令掰吕,您可以認(rèn)為它的命令名由兩個(gè)單詞構(gòu)成果覆,例如“apt”軟件包管理系統(tǒng):

apt-get install 安裝一個(gè)軟件

apt-get remove 刪除一個(gè)軟件

分隔符

通常為空格,多個(gè)連續(xù)的空格視為一個(gè)空格殖熟,下面兩個(gè)命令相同:

cp a b

cp a b

有一些特殊符號(hào)也屬于分隔符,例如管道 | 斑响、重定向 > 菱属、 >> 钳榨、 < 、后臺(tái)運(yùn)行 & 纽门、序列執(zhí)行 && 薛耻、 ; 。使用這些符號(hào)時(shí)赏陵,您不需要再使用空格作為分隔符饼齿,例如:

ls -al|less

寫為以下形式,是為了讓您更容易的閱讀它:

ls -al | less

參數(shù)

精細(xì)調(diào)節(jié)命令的行為蝙搔,以 - 引導(dǎo)缕溉,通常為參數(shù)名的首字母。許多軟件都可以使用 -h 參數(shù)來閱讀使用說明吃型,例如:

apt-get -h

也可以使用參數(shù)的全名证鸥,一般以 -- 引導(dǎo),例如:

apt-get --help

多數(shù)命令中勤晚,使用 - 引導(dǎo)多個(gè)字符枉层,將會(huì)被視為多個(gè)參數(shù),例如:

apt-get -help

系統(tǒng)會(huì)解讀為以下命令

apt-get -h -e -l -p

少數(shù)命令的參數(shù)赐写,不需要以 - 引導(dǎo)鸟蜡,或者使用 - 引導(dǎo)參數(shù)全名,例如:

ps aux

/etc/init.d/gdm start

mplayer -loop xxx

需要對多個(gè)對象進(jìn)行操作時(shí)挺邀,可以使用空格分隔符將它們隔開:

touch 1 2 3 4 5 6

使用空格分隔的多個(gè)對象矩欠,視為一個(gè)整體,作為命令的一個(gè)操作對象:

mv 1 2 3 4 5 6 /home/

這個(gè)命令把“1 2 3 4 5 6”作為一個(gè)操作對象悠夯,移動(dòng)到另一個(gè)操作對象癌淮,“/home/”目錄

遞歸 表示在子層次中重復(fù)相同操作。例如遞歸復(fù)制某目錄沦补,不但復(fù)制當(dāng)前目錄及其下的所有文件乳蓄;而且對當(dāng)前目錄的子目錄,也進(jìn)行遞歸復(fù)制的操作夕膀。

格式約定

使用 [] 表示可選項(xiàng)虚倒,實(shí)際輸入為方括號(hào)中的內(nèi)容,例如

ls [-al]

ls是必須的产舞,參數(shù)不需要以方括號(hào)括起來魂奥。

使用 <> 表示必需項(xiàng),實(shí)際輸入為尖括號(hào)中的內(nèi)容

使用 | 表示 或 易猫,以 | 分隔的項(xiàng)目不能同時(shí)使用耻煤,例如

tar [-z|j c|x vf] <歸檔文件> [源文件]

參數(shù)通常緊跟命令名,除非必要,在命令格式中哈蝇,我們通常省略它們

系統(tǒng)信息

uptime

聯(lián)機(jī)信息-時(shí)間棺妓,顯示如下

11:27pm up 9 days, 7:12, 3 user, load average: 0.07, 0.12, 0.14

當(dāng)前系統(tǒng)時(shí)間 系統(tǒng)運(yùn)行時(shí)間 當(dāng)前在線用戶數(shù) 系統(tǒng)負(fù)荷 1分鐘前 5分鐘前 15分鐘前

w

聯(lián)機(jī)信息-已登錄用戶,顯示如下

01:04:10 up 1:34, 2 users, load average: 0.25, 0.16, 0.11

uptime 信息

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

user tty1 192.168.0.1 23:30 1:33 0.14s 0.12s -bash

用戶名 登錄方式 來源地址 登錄時(shí)間 發(fā)呆時(shí)間 資源占用 當(dāng)前任務(wù)

Tip:w [用戶名稱] : 顯示某一用戶相關(guān)信息

who

聯(lián)機(jī)信息炮赦,常用參數(shù)

-r運(yùn)行級別

whoami

顯示當(dāng)前用戶名

last

最近用戶登錄信息

-<數(shù)字> 使用數(shù)字作為參數(shù)怜跑,控制顯示條目。例如

last -10 顯示10條紀(jì)錄

uname

系統(tǒng)信息

-s內(nèi)核名稱(默認(rèn)參數(shù))-a全部-p CPU信息-n主機(jī)名

-r內(nèi)核發(fā)行信息(版本號(hào))-v內(nèi)核版本信息

date

顯示吠勘、設(shè)定系統(tǒng)時(shí)間

-u 顯示格林尼洛時(shí)間(UTC)

MMDDhhmm[[CC]YY][.ss] 設(shè)定時(shí)間性芬,需要管理員權(quán)限。例如: date 12292359

MM 月份 DD 天數(shù) hh 小時(shí) mm 分鐘 CC 年份前兩位 YY 年份后兩位 ss 秒鐘

秒鐘剧防、年份為可選植锉,例如: date 122923592006.59

+[%X]設(shè)定顯示格式,以下為date默認(rèn)輸出格式:

date +%Y年%m月%d日%A%H:%M:%S%Z

格式控制??????????? %n 換行???????????? %t 制表符

小時(shí)??????????????????? %H(00~23) %I(01~12) %k(0~23) %l(1~12) %p(AM|PM)

分诵姜、秒??????????????? %M分鐘(00~59)????????????????? %S秒(00..61)????????????? %T(hh:mm:ss) %r(hh:mm:ss [AM|PM])

%s 從1970年1月1日00:00:00 UTC到目前為止的秒數(shù)????????????? %X(%H:%M:%S)???????????????? %Z時(shí)區(qū)

星期??????????????????? %a(Sun~Sat) %A(Sunday~Saturday) %w : 一周中的第幾天 (0..6)

年份??????????????????? %Y(0000~9999) %y(00~99)

月份??????????????????? %m(01~12) %b %h(Jan~Dec) %B(January~December)

日期??????????????????? %d(01~31) %j(001~366)

%x(本地格式mm/dd/yy) %D(mm/dd/yy) %c

一年中的第幾周

%U(00~53)以Sunday為一周的第一天 %W(00~53)以Monday為一周的第一天

cal

顯示日歷

文件管理

一些細(xì)節(jié)

/ 目錄為文件系統(tǒng)根目錄汽煮,所有目錄都是它的子目錄

絕對路徑以 / 起始,相對路徑以當(dāng)前所在目錄起始

目錄是一種特殊類型的文件棚唆,如果沒有特別指明暇赤, 文件 包括文件和目錄

.. 表示上一級目錄, . 表示當(dāng)前目錄宵凌,它們是兩個(gè)特殊目錄

鏈接

為當(dāng)前文件建立在其它路徑中的訪問方法鞋囊。例如將系統(tǒng)中其它位置的可執(zhí)行文件,鏈接到 /usr/local/bin 目錄下瞎惫,使用命令調(diào)用溜腐。

ls [路徑]

顯示當(dāng)前目錄文件列表

--color 不同屬性以不同顏色顯示(默認(rèn)參數(shù))

-a全部顯示-i顯示inode-l詳細(xì)信息

-F顯示文件類型后綴目錄/鏈接@可執(zhí)行文件*端口文件=管道文件| >

-A顯示隱藏文件-R遞歸顯示子目錄文件列表-S按文件大小排序

-t按修改時(shí)間排序-u按訪問時(shí)間排序-d只顯示目錄,不遞歸顯示目錄下的文件

cd [目錄路徑] | [特殊路徑]

切換目錄

目錄路徑可以使用絕對路徑或者相對路徑特殊路徑:

~ $HOME目錄(默認(rèn)值)-上一次目錄..上一級目錄.當(dāng)前目錄

說明:您可以通過修改 /etc/environment 文件瓜喇,來定義 $CDPATH 變量挺益,設(shè)定“cd”命令的搜索路徑。

pwd

顯示當(dāng)前路徑

file <文件名>

顯示文件類型

-i顯示mime類型

du [路徑]

計(jì)算文件或目錄空間占用

-h人性化顯示乘寒。自動(dòng)以G望众、MK為單位顯示占用空間大小-l重復(fù)計(jì)算硬鏈接文件大小

-L計(jì)算符號(hào)鏈接文件大小-a顯示當(dāng)前目錄子目錄中的文件-c顯示文件數(shù)

less <文件名>

瀏覽文件伞辛,使用VI和Emacs兩種風(fēng)格的鍵綁定烂翰。以下為VI風(fēng)格鍵綁定

Ctrl+f(orward)向下翻一頁Ctrl+d(own)向下翻半頁

Ctrl+b(ackward)向上翻一頁Ctrl+u(p)向上翻半頁/查找q(uit)退出

touch <目標(biāo)文件>

觸碰,在不修改文件的前提下蚤氏,更改其時(shí)間屬性甘耿。通常用來創(chuàng)建一個(gè)空文件

mkdir <文件夾>

創(chuàng)建文件夾

-p <多級目錄>按路徑創(chuàng)建多級目錄-m <數(shù)字權(quán)限值>設(shè)定權(quán)限

cp <源文件> <目標(biāo)目錄|文件>

將源文件復(fù)制為目錄文件,或者將源文件復(fù)制到目標(biāo)目錄竿滨。多個(gè)源文件使用空格分隔

cp <源目錄> <目標(biāo)目錄>

將源目錄復(fù)制到目標(biāo)目錄中佳恬,如果復(fù)制多個(gè)源目錄捏境,需要使用 -R 參數(shù)

-a相當(dāng)于-dpr參數(shù)-d保留鏈接-f強(qiáng)制復(fù)制,覆蓋目標(biāo)文件-i覆蓋時(shí)詢問用戶

-p保留修改時(shí)間和訪問權(quán)限-r -R遞歸復(fù)制(目錄=>目錄)-l創(chuàng)建鏈接

-v顯示過程

rm <目標(biāo)目錄|文件>

刪除

-r -R遞歸刪除-f強(qiáng)制刪除(無需確認(rèn)殿怜,直接刪除典蝌。慎用J锷啊)-i交互式刪除(詢問用戶)

rmdir <目標(biāo)目錄>

刪除目錄時(shí)头谜,建議您使用“rm -r”命令

mv <源文件> <目標(biāo)目錄|文件>

相當(dāng)于cp后刪除源文件,也可以作為“重命名”使用鸠澈。

mv <源目錄> <目標(biāo)目錄>

-r -R遞歸

ln <源文件> <鏈接>

鏈接

-s符號(hào)鏈接-f強(qiáng)制鏈接柱告,覆蓋目標(biāo)文件-i覆蓋前詢問用戶

文件操作

nano

一個(gè)簡單輕便的文本編輯器,使用Emacs風(fēng)格的鍵綁定笑陈。

split <源文件> [目標(biāo)文件名前綴]

將源文件按一定規(guī)則分割成若干個(gè)目標(biāo)文件际度。默認(rèn)文件名前綴為 x

-<行數(shù)>按行數(shù)分割文件-l <行數(shù)>同上

-b <字節(jié)>按大小分割文件『祝可以使用b乖菱、km作單位蓬网,不指定單位的情況下窒所,默認(rèn)單位為b

-C <字節(jié)>按大小分割文件,并盡量保持每行的完整

示例:split -C 100k file.split x

cat <文件名>

輸出文件內(nèi)容帆锋。用空格分隔多個(gè)文件名吵取,可以將多個(gè)文件內(nèi)容連接到一起輸出。使用重定向合并為一個(gè)文件

-n在輸出中添加行號(hào)-b在輸出中添加行號(hào)锯厢,空行不編號(hào)

-s將兩行或以上的空行皮官,合并為一個(gè)空行

示例:cat xaa xab xac > file.split

sort [-o <輸出文件>] [-t <分隔字符>] [+<起始字段> - <結(jié)束字段>] [文件]

對文本內(nèi)容排序

-m合并文件-c檢查文件是否已按規(guī)則排序-b忽略行首空格字符

-u忽略內(nèi)容重復(fù)行-f忽略大小寫-l忽略非打印字符-M作為月份比較

-d按字典順序排序,按照字母实辑、數(shù)字捺氢、空格盯仪、制表符排序-r逆序輸出

more

查看文件內(nèi)容疏咐,我們建議您使用 less

diff <文件名>

比較文件

cksum [文件名]

計(jì)算文件的CRC值实昨。不指定文件名則從標(biāo)準(zhǔn)輸入設(shè)備讀入數(shù)據(jù)耀鸦,例如:

echo xxx | cksum

md5sum [文件名] 計(jì)算文件的md5值粟瞬。同上

權(quán)限管理

一些細(xì)節(jié)

一個(gè)文件主要包含下列屬性琢感, ls -l

- rwx rwx rwx user group date filename

111 101 101

其中宇攻,第一組為歸屬用戶的權(quán)限型雳,第二組為歸屬群組的權(quán)限萍摊,第三組為其它用戶群組的權(quán)限挤茄。user為文件的歸屬用戶,group為文件的歸屬群組冰木,date為日期信息穷劈,filename為文件名笼恰。

對于文件夾,必須擁有它的可執(zhí)行權(quán)限歇终,才能夠使用 cd 命令進(jìn)入該文件夾社证;擁有可讀權(quán)限,才能夠使用 ls 命令查看該文件夾的文件列表评凝。

root用戶擁有最高權(quán)限追葡。

可以使用3位的二進(jìn)制數(shù)字來描述一組權(quán)限,某一權(quán)限對應(yīng)的數(shù)字為1,則表示具有該種權(quán)限奕短,為0,則不具有該種權(quán)限宜肉。

使用二進(jìn)制數(shù)字來描述一組權(quán)限,雖然非常直觀翎碑,但是3組權(quán)限需要用9位數(shù)來表示谬返,使用不夠方便。因此我們將三組權(quán)限使用3位8進(jìn)制數(shù)字來表示日杈。它們的對應(yīng)關(guān)系為:

r 100 4

w 010 2

x 001 1

將這三位8進(jìn)制數(shù)字相加的結(jié)果遣铝,就可以表示該組權(quán)限的具體內(nèi)容,例如:

7=4+2+1=rwx

5=4+1=rx

755=4+2+1 4+1 4+1=rwx r-x r-x

還可以使用 a 莉擒、 u 酿炸、 g 、 o 表示歸屬關(guān)系啰劲,使用 = 梁沧、 + 、 - 表示權(quán)限變化蝇裤,使用 r 廷支、 w 、 x 表示權(quán)限內(nèi)容栓辜,

a 所有用戶 u 歸屬用戶 g 歸屬群組 o 其它用戶

= 具有權(quán)限 + 增加權(quán)限 - 去除權(quán)限

r 可讀權(quán)限 w 可寫權(quán)限 x 可執(zhí)行權(quán)限

例如:

a+x 給所有用戶增加可執(zhí)行權(quán)限

go-wx 將歸屬群組和其它用戶的可寫恋拍、可執(zhí)行權(quán)限去掉

u=rwx 歸屬用戶具有可讀、可寫藕甩、可執(zhí)行權(quán)限

chmod <權(quán)限表達(dá)式> <文件|目錄>

更改文件的權(quán)限施敢。權(quán)限的表達(dá)式可以使用三位8進(jìn)制數(shù)字表示,或者使用 augo +-= rxw-s 來表示

-R 遞歸

-v 顯示過程

-c 類似“-v”狭莱,僅顯示更改部分

--reference=<參考文件或目錄> 以指定文件為參考更改權(quán)限

示例:

chmod -R a+x path

chmod -Rv 755 path

chown <歸屬用戶>[:歸屬群組] <文件|目錄>

更改文件的歸屬用戶僵娃。可以使用用戶名或者UID

-R遞歸-v顯示過程-c類似-v腋妙,僅顯示更改部分

--reference=<參考文件或目錄> 以指定文件為參考更改權(quán)限

示例:

chown user:admin path?????????????????? chown -R user.admin path????????????? chown user path

chgrp <歸屬群組> <文件|目錄>

更改文件的歸屬群組默怨。可以使用群組名或者GID

參數(shù)同上

SUID骤素、SGID匙睹、Sticky bit

某些情況下愚屁,需要以可執(zhí)行文件歸屬用戶的身份執(zhí)行該文件,可以為該文件設(shè)置SUID痕檬。同樣霎槐,設(shè)置SGID能夠以該文件歸屬群組的身份執(zhí)行它。

例如:用戶自行設(shè)定密碼梦谜。出于安全方面的考慮丘跌, /etc/shadow 只能由root用戶直接修改。

-rw------- root root /etc/shadow

這個(gè)時(shí)候改淑,可以為程序 /usr/bin/passwd

設(shè)置SUID碍岔,當(dāng)普通用戶執(zhí)行“passwd”命令時(shí)浴讯,便能夠以該程序歸屬用戶root的身份修改 /etc/shadow

文件朵夏。而“passwd”程序自身帶有身份驗(yàn)證機(jī)制,不能通過驗(yàn)證時(shí)拒絕執(zhí)行榆纽,從而保證了安全仰猖。

ls -l /usr/bin/passwd

-r-s--x--x root root /usr/bin/passwd

我們發(fā)現(xiàn),歸屬用戶的可執(zhí)行權(quán)限位使用 s 奈籽,表示SUID饥侵。同樣,歸屬群組的可執(zhí)行權(quán)限位使用 s 衣屏,表示SGID躏升。任何用戶或群組都擁有

其它用戶 的權(quán)限,所以不需要以 其它用戶 身份執(zhí)行文件狼忱,其它用戶的可執(zhí)行權(quán)限位便不會(huì)出現(xiàn) s 膨疏。該權(quán)限位可能出現(xiàn)的屬性為 t

,也就是粘著位Sticky bit钻弄。

ls -ld /tmp

drwxrwxrwt root root /tmp

粘著位表示任何用戶都可能具有寫權(quán)限佃却,但只有該歸屬用戶或root用戶才能夠刪除

SUID、SGID窘俺、Sticky bit也可以像權(quán)限一樣饲帅,使用一個(gè)八進(jìn)制數(shù)表示,如下:

4 SUID

2 SGID

1 Sticky bit

通過在“chmod”命令中使用4個(gè)八進(jìn)制數(shù)的表達(dá)式瘤泪,如 4755 灶泵,用第一位表示SUID、SGID对途、或Sticky bit赦邻,便能夠?yàn)槲募O(shè)置這些特殊權(quán)限。示例:

chmod -R 4755 path

lsattr [路徑]

查看文件的特殊屬性

-a全部顯示-d只顯示目錄-R遞歸

特殊屬性包括:

a:僅供附加用途b:不更新最后存取時(shí)間c:壓縮后存放d:排除在傾倒操作之外

i:不得任意更動(dòng)文件或目錄s:保密性刪除文件或目錄S:即時(shí)更新文件或目錄

u:預(yù)防以外刪除

chattr +|-|=<屬性> <路徑>

更改文件特殊屬性

-R遞歸-V顯示過程

壓縮解壓

tar -c|x|u|r|t[z|j][v] -f <歸檔文件> [未打包文件]

將多個(gè)文件打包為一個(gè)歸檔文件掀宋,可以在打包的同時(shí)進(jìn)行壓縮深纲。支持的格式為tar(歸檔)仲锄、gz(壓縮)、bz2(壓縮率更高湃鹊,比較耗時(shí))

-c創(chuàng)建-x解包-u更新-r添加-t查看

-d比較壓縮包內(nèi)文件和文件-Atar文件添加到歸檔文件中-z使用gz壓縮格式

-j使用bz2壓縮格式-v顯示過程-f <文件名>歸檔文件的文件名

-C <解壓路徑>將壓縮包中的文件解壓到指定目錄

[未打包文件] 創(chuàng)建儒喊、更新時(shí)必須填寫

示例:

tar -zcvf xxx.tar.gz xxx/ xxx1 xxx2 xxx3 多個(gè)待打包文件以空格分隔

tar -zcvf xxx.tar.gz /home/user/xxx/ 使用絕對路徑打包,解包也使用絕對路徑

tar -zxvf xxx.tar.gz 按相對路徑解包到當(dāng)前目錄下币呵,或按絕對路徑解包

tar -zcvf xxx.tar.gz xxx | split -b 1m 打包后怀愧,使用split分割為1m大小的多個(gè)文件

其它參數(shù)

-P使用絕對路徑壓縮時(shí),保留根目錄“/”???????????? -W校驗(yàn)-p還原文件權(quán)限

-w詢問用戶--totals統(tǒng)計(jì)-T <表達(dá)式>處理符合條件的文件

-X <表達(dá)式>排除符合條件的文件

zip [參數(shù)] <壓縮包> <源文件>

使用zip格式打包文件

-r遞歸余赢,將指定目錄下的所有文件和子目錄一并處理-S包含系統(tǒng)和隱藏文件

-y直接保存符號(hào)連接芯义,而非該連接所指向的文件-X不保存額外的文件屬性

-m將文件壓縮并加入壓縮文件后,刪除源文件

-<壓縮級別> 1~9妻柒,數(shù)字越大扛拨,壓縮率越高

-F嘗試修復(fù)已損壞的壓縮文件-T檢查備份文件內(nèi)的每個(gè)文件是否正確無誤

-q不顯示指令執(zhí)行過程-g將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件

-u更新壓縮包內(nèi)文件

-f更新壓縮包內(nèi)文件举塔。如果符合條件的文件沒有包含在壓縮包中绑警,則壓縮后添加

-$保存第一個(gè)被壓縮文件所在磁盤的卷標(biāo)-j只保存文件名稱及其內(nèi)容

-D壓縮文件內(nèi)不建立目錄名稱-i <表達(dá)式>壓縮目錄時(shí),只壓縮符合條件的文件

-x <表達(dá)式>排除符合條件的文件-n <文件名后綴>排除指定文件名后綴的文件

-b <緩存路徑>指定臨時(shí)文件目錄-d <表達(dá)式>從壓縮文件內(nèi)刪除指定的文件

-t <日期時(shí)間>把壓縮文件的日期設(shè)成指定的日期

-o以壓縮文件內(nèi)擁有最新更改時(shí)間的文件為準(zhǔn)央渣,將壓縮文件的更改時(shí)間設(shè)成和該文件相同

-A調(diào)整可執(zhí)行的自動(dòng)解壓縮文件-c替每個(gè)被壓縮的文件加上注釋

-z替壓縮文件加上注釋-k使用MS-DOS兼容格式的文件名稱计盒。

-l壓縮文件時(shí),把LF字符置換成LF+CR字符芽丹。-ll壓縮文件時(shí)北启,把LF+CR字符置換成LF字符。

unzip [參數(shù)] <壓縮文件> [壓縮包中將被釋放的文件]

解壓zip壓縮包文件

-P <密碼> zip壓縮包的密碼-d <路徑>指定解壓路徑-n解壓縮時(shí)不覆蓋原有文件

-f覆蓋原有文件-o不經(jīng)詢問拔第,直接覆蓋原有文件

-u覆蓋原有文件咕村,并將壓縮文件中的其他文件解壓縮到目錄中

-l顯示壓縮文件內(nèi)所包含的文件-t檢查壓縮文件是否正確-z顯示壓縮包注釋

-Z unzip -Z等于執(zhí)行zipinfo指令-j不處理壓縮文件中原有的目錄路徑

-C壓縮文件中的文件名稱區(qū)分大小寫-L將壓縮文件中的全部文件名改為小寫

-s將文件名中的空格轉(zhuǎn)換下劃線-X解壓縮時(shí)保留文件原來的UID/GID

-q執(zhí)行時(shí)不顯示任何信息-v執(zhí)行是時(shí)顯示詳細(xì)的信息

-c將解壓縮的結(jié)果顯示到屏幕上,并對字符做適當(dāng)?shù)霓D(zhuǎn)換

-p-c參數(shù)類似楼肪,會(huì)將解壓縮的結(jié)果顯示到屏幕上培廓,但不會(huì)執(zhí)行任何的轉(zhuǎn)換

-a對文本文件進(jìn)行必要的字符轉(zhuǎn)換-b不要對文本文件進(jìn)行字符轉(zhuǎn)換

-x <表達(dá)式>處理里排除壓縮包中的指定文件-M將輸出結(jié)果送到more程序處理

7z|7za <子命令> [參數(shù)] <壓縮包> [文件]

子命令

a添加d刪除e解壓x帶路徑解壓l列表查看t測試u更新

參數(shù)

-m<壓縮方式>??????????? -m0=<壓縮算法>默認(rèn)使用lzma????????????????? -mx=<1~9>壓縮級別

-mfb=64 number of fast bytes for LZMA = 64?????????? -md=<字典大小>設(shè)置字典大小,例如-md=32m

-ms=是否固實(shí)壓縮-o<輸出目錄>設(shè)置輸出目錄-p[密碼]使用密碼

-r[數(shù)字]遞歸春叫,使用數(shù)字定義遞歸子目錄的深度-sfx[<模塊名稱>]使用自解壓模塊

-si從標(biāo)準(zhǔn)輸入設(shè)備讀入數(shù)據(jù)-so將數(shù)據(jù)寫入標(biāo)準(zhǔn)輸出設(shè)備-y所有詢問均回答Yes

-w<工作目錄>

rar <子命令> [參數(shù)] <壓縮包> [文件|文件列表|路徑]

子命令

x帶路徑解壓e解壓到當(dāng)前目錄a將文件添加到壓縮包內(nèi)d從壓縮包中刪除文件

u更新壓縮包內(nèi)文件f更新壓縮包內(nèi)文件肩钠,并添加壓縮包內(nèi)不存在的文件m添加并刪除源文件

r修復(fù)l列表查看壓縮包內(nèi)文件信息lt更詳細(xì)信息lb簡短信息c添加壓縮包注釋

cf <文件名> 將文件內(nèi)容添加為注釋

cw <文件名> 將注釋保存為文件

t 測試壓縮包????????????? rr 添加恢復(fù)紀(jì)錄????????????????? rv 恢復(fù)到文件

參數(shù)

-p<密碼> 設(shè)置密碼

-m<0~5> 設(shè)置壓縮級別,數(shù)字越大暂殖,壓縮級別越高

搜索

whereis <程序名稱>

查找軟件的安裝路徑

-b只查找二進(jìn)制文件-m只查找?guī)椭募?/i>-s只查找源代碼-u排除指定類型文件

-f只顯示文件名-B <目錄>在指定目錄下查找二進(jìn)制文件

-M <目錄>在指定目錄下查找?guī)椭募?/i>-S <目錄>在指定目錄下查找源代碼

locate <文件名稱>

在文件索引數(shù)據(jù)庫中搜索文件

-d <數(shù)據(jù)庫路徑> 搜索指定數(shù)據(jù)庫

updatedb 更新文件索引數(shù)據(jù)庫

find [路徑] <表達(dá)式>

查找文件

-name <表達(dá)式> 根據(jù)文件名查找文件

-iname <表達(dá)式> 根據(jù)文件名查找文件价匠,忽略大小寫

-path <表達(dá)式> 根據(jù)路徑查找文件

-ipath <表達(dá)式> 根據(jù)路徑查找文件,忽略大小寫

-amin <分鐘> 過去N分鐘內(nèi)訪問過的文件

-atime <天數(shù)> 過去N天內(nèi)訪問過的文件

-cmin <分鐘> 過去N分鐘內(nèi)修改過的文件

-ctime <天數(shù)> 過去N天內(nèi)修改過的文件

-anewer <參照文件> 比參照文件更晚被讀取過的文件

-cnewer <參照文件> 比參照文件更晚被修改過的文件

-size <大小> 根據(jù)文件大小查找文件呛每,單位b c w k M G

-type <文件類型> 根據(jù)文件類型查找文件踩窖。b 塊設(shè)備 c 字符設(shè)備 d 目錄 p 管道文件 f 普通文件 l 鏈接 s 端口文件

-user <用戶名> 按歸屬用戶查找文件

-uid 按UID查找文件

-group <群組名> 按歸屬群組查找文件

-gid 按GID查找文件

-empty 查找空文件

grep <字符串>|"<正則表達(dá)式>" [文件名]

其它

echo <字符串>

回顯。較復(fù)雜的字符串晨横,可以使用 " 括起來洋腮。

-n輸出內(nèi)容不換行-E不解析脫字符-e解析脫字符

控制字符

\反斜線a警告b退格n換行r回車t水平制表符

clear

消除屏幕

alias <輸入內(nèi)容> <實(shí)際內(nèi)容>

別名箫柳,為命令指定一個(gè)別名,以簡化輸入啥供。例如:

alias ls='ls --color=auto'

alias ls="l -CF"

可以將您的定義保存在 ~/.bashrc 文件中悯恍。

export <變量名稱>

將變量導(dǎo)出為環(huán)境變量,常寫變量賦值一同使用伙狐,例如:

export PATH="$PATH:xxx"

其中 $PATH 表示變量 PATH 原值

shutdown

關(guān)閉計(jì)算機(jī)涮毫,向根進(jìn)程 init 發(fā)送信號(hào),更改 runlevel 為 0 (halt)

-h關(guān)閉電源-r重啟-n強(qiáng)行關(guān)機(jī)贷屎,不向init進(jìn)程發(fā)送信號(hào)

-k模擬關(guān)機(jī)罢防,向登錄者發(fā)送關(guān)機(jī)警告-t <> N秒后關(guān)機(jī)time <時(shí)間>定時(shí)關(guān)機(jī)

-c [說明信息]取消關(guān)機(jī)-f重啟時(shí)忽略檢測文件系統(tǒng)-F重啟時(shí)強(qiáng)制檢測文件系統(tǒng)

halt

關(guān)閉計(jì)算機(jī)。 調(diào)用 shutdown -h 唉侄,結(jié)束系統(tǒng)進(jìn)程咒吐,同步文件系統(tǒng),停止內(nèi)核美旧。

-n不同步文件系統(tǒng)-w模擬關(guān)機(jī)渤滞,寫/var/log/wtmp紀(jì)錄-f不調(diào)用shutdown ,強(qiáng)行關(guān)機(jī)

-p默認(rèn)選項(xiàng),關(guān)機(jī)時(shí)調(diào)用poweroff???????????? -i關(guān)機(jī)前斷開網(wǎng)絡(luò)

reboot

重新啟動(dòng)計(jì)算機(jī)榴嗅。參數(shù)與 halt 相似

chroot <路徑>

Change Root 更改根目錄,重新定義會(huì)話的運(yùn)行環(huán)境陶舞。

用戶管理

一些細(xì)節(jié)

root 用戶為根用戶嗽测,也就是 系統(tǒng)管理員 擁有全部權(quán)限

一個(gè)用戶只能擁有一個(gè) GID ,但是還可以歸屬于其它附加群組

用戶管理的重要配置文件:

/etc/passwd 用戶名 密碼位 UID 歸屬GID 姓名 $HOME目錄 登錄Shell

/etc/shadow 用戶名 已加密密碼 密碼改動(dòng)信息 密碼策略

/etc/group 群組名 密碼位 GID 組內(nèi)用戶

/etc/gshadow 群組密碼相關(guān)文件肿孵,不重要

/etc/sudoers 用戶名 權(quán)限定義 權(quán)限

可以使用 pwconv 命令創(chuàng)建影子密碼唠粥,將 /etc/passwd 文件中的密碼轉(zhuǎn)換到 /etc/shadow 文件

su [用戶名]

切換到其它用戶,默認(rèn)切換到root用戶停做。提示密碼為將切換用戶密碼

-f快速切換晤愧,忽略配置文件-l重新登錄-m-p不更改環(huán)境變量

-c <命令>切換后執(zhí)行命令蛉腌,并退出切換

sudo [命令]

以其它用戶的身份執(zhí)行命令官份,默認(rèn)以root的身份執(zhí)行。提示密碼為當(dāng)前用戶密碼

-s切換為root shell????????????? -i切換為root shell烙丛,并初始化-u <用戶名|UID>執(zhí)行命令的身份

-l顯示自己的權(quán)限

passwd [用戶名]

設(shè)定用戶密碼

-d清除密碼-l鎖定用戶-e使密碼過期舅巷,在下次登錄時(shí)更改密碼

-S顯示密碼認(rèn)證信息-x <天數(shù)>密碼過期,最大使用時(shí)間

-n <天數(shù)>凍結(jié)密碼河咽,最小使用時(shí)間-s更改登錄Shell???????????????? -f更改用戶信息

示例:

$passwd

Changing password for user

(current) UNIX password: 原密碼

Enter new UNIX password: 新密碼

Retype new UNIX password: 確認(rèn)新密碼

chsh [-s ] [用戶名]

更改登錄Shell

usermod <用戶名>

修改用戶賬號(hào)

-d <目錄>設(shè)定$HOME目錄-m設(shè)定$HOME目錄時(shí)自動(dòng)建立

-s 修改用戶登錄Shell????????????? -l <新用戶名>修改為新用戶名

-u 修改用戶UID????????????????????? -g <群組名>修改用戶歸屬群組

-G <群組名>修改用戶歸屬附加群組-L鎖定帳戶-U解除鎖定

-e <過期時(shí)間>設(shè)定用戶賬號(hào)過期時(shí)間-f <緩沖天數(shù)>設(shè)定密碼過期后多長時(shí)間關(guān)閉賬號(hào)

-c <字符串>修改用戶備注

useradd <用戶名>

新建用戶

-d <目錄>設(shè)定$HOME目錄-m自動(dòng)建立$HOME目錄-M不自動(dòng)建立$HOME目錄

-s 修改用戶登錄Shell????????????? -l <用戶名>修改為新用戶名-u 修改用戶UID

-g <群組名>修改用戶歸屬群組-G <群組名>修改用戶歸屬附加群組

-n不建立以用戶名為名稱的群組-e <過期時(shí)間>設(shè)定用戶賬號(hào)過期時(shí)間

-f <緩沖天數(shù)>設(shè)定密碼過期后多長時(shí)間關(guān)閉賬號(hào)-c <字符串>修改用戶備注

-D [表達(dá)式]更改預(yù)設(shè)值(預(yù)設(shè)值保存于/etc/default/useradd文件中)

新建用戶規(guī)則保存于 /etc/login.defs 文件中

新建用戶默認(rèn)文件保存于 /etc/skel/ 目錄中钠右。新建用戶時(shí),系統(tǒng)自動(dòng)拷貝此目錄下的文件至新建用戶的 $HOME 目錄

userdel <用戶名>

刪除用戶

-r刪除用戶相關(guān)文件和目錄

id [用戶名]

顯示用戶 UID GID 歸屬附加群組

finger [用戶名]

顯示用戶信息

進(jìn)程管理

一些細(xì)節(jié)

進(jìn)程一般分為交互進(jìn)程忘蟹、批處理進(jìn)程和守護(hù)進(jìn)程三類飒房。

守護(hù)進(jìn)程總是活躍搁凸,在系統(tǒng)啟動(dòng)時(shí)通過腳本自動(dòng)啟動(dòng),或由root啟動(dòng)狠毯,通常在后臺(tái)運(yùn)行坪仇。

一個(gè)進(jìn)程可以擁有子進(jìn)程。當(dāng)父進(jìn)程終止時(shí)垃你,它的子進(jìn)程也隨之終止椅文;而子進(jìn)程終止時(shí),父進(jìn)程通诚模可以繼續(xù)運(yùn)行皆刺。

init 進(jìn)程為根進(jìn)程,所有進(jìn)程都是它的子進(jìn)程

ps

顯示進(jìn)程信息凌摄,參數(shù)可省略 -

auxBSD風(fēng)格顯示進(jìn)程(常用)?????????????????? -efHSystem V風(fēng)格顯示進(jìn)程

-e , -A顯示所有進(jìn)程a顯示終端上所有用戶的進(jìn)程x顯示無終端進(jìn)程

u顯示詳細(xì)信息f樹狀顯示w完整顯示信息l顯示長列表

示例:

ps alx 另一種常用輸出格式

ps aux | less 將輸出通過管道羡蛾,使用 less 查看

ps aux | grep <關(guān)鍵字> 通過關(guān)鍵字查找進(jìn)程

輸出字段

USER 進(jìn)程所有者?????????????? PID 進(jìn)程ID?????????????? PPID 父進(jìn)程????????????? %CPU CPU占用率

%MEM 內(nèi)存占用率?????????? NI 進(jìn)程優(yōu)先級。數(shù)值越大锨亏,占用CPU時(shí)間越少????????????????? VSZ 進(jìn)程虛擬大小

RSS 頁面文件占用????????????? TTY 終端ID????????????? STAT 進(jìn)程狀態(tài)

D 不可中斷 Uninterruptible sleep (usually IO)?????????????? R 正在運(yùn)行痴怨,或在隊(duì)列中的進(jìn)程

S 處于休眠狀態(tài)?????????????????? T 停止或被追蹤????????????????? Z 僵尸進(jìn)程

W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無效)?????????? X 死掉的進(jìn)程??????????? < 高優(yōu)先級???????????????? N 低優(yōu)先級

L 有些頁被鎖進(jìn)內(nèi)存????????? s 包含子進(jìn)程????????????? + 位于后臺(tái)的進(jìn)程組;

l 多線程器予,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

pstree

樹狀顯示進(jìn)程信息

-a顯示完整命令及參數(shù)-c重復(fù)進(jìn)程分別顯示-c顯示進(jìn)程ID PID?? -nPID排列進(jìn)程

pgrep <進(jìn)程名>

顯示進(jìn)程的PID

-l顯示進(jìn)程名和進(jìn)程PID??????????? -o進(jìn)程起始ID?????????? -n進(jìn)程終止ID

xkill

在圖形界面中點(diǎn)殺進(jìn)程浪藻。執(zhí)行此命令后,鼠標(biāo)指針變?yōu)轺俭t圖案(一定看過《加勒比海盜》吧)乾翔。在窗口中點(diǎn)擊左鍵殺死進(jìn)程爱葵,右鍵取消

pkill <進(jìn)程名>

結(jié)束進(jìn)程族。如果結(jié)束單個(gè)進(jìn)程反浓,請用 kill

kill [信號(hào)代碼] <進(jìn)程PID>

根據(jù)PID向進(jìn)程發(fā)送信號(hào)萌丈,常用來結(jié)束進(jìn)程,默認(rèn)信號(hào)為 -9

-l [信號(hào)數(shù)字] 顯示雷则、翻譯信號(hào)代碼

-9 , -KILL 發(fā)送 kill 信號(hào)退出

-6 , -ABRT 發(fā)送 abort 信號(hào)退出

-15 , -TERM 發(fā)送 Termination 信號(hào)

-1 , -HUP 掛起

-2 , -INT 從鍵盤中斷辆雾,相當(dāng)于 Ctrl+c

-3 , -QUIT 從鍵盤退出,相當(dāng)于 Ctrl+d

-4 , -ILL 非法指令

-11 , -SEGV 內(nèi)存錯(cuò)誤

-13 , -PIPE 破壞管道

-14 , -ALRM

-STOP 停止進(jìn)程月劈,但不結(jié)束

-CONT 繼續(xù)運(yùn)行已停止的進(jìn)程

-9 -1 結(jié)束當(dāng)前用戶的所有進(jìn)程

renice <優(yōu)先級表達(dá)式> <進(jìn)程表達(dá)式>

重新設(shè)定進(jìn)程優(yōu)先級(無此必要)

優(yōu)先級表達(dá)式:

+|-|=

nice取值范圍: -20~19

進(jìn)程表達(dá)式:

-p 通過進(jìn)程ID進(jìn)行設(shè)定

-g 通過進(jìn)程群組ID

-u 通過進(jìn)程擁有者UID設(shè)定

top

動(dòng)態(tài)崔梗、交互式進(jìn)程管理器

-c 顯示進(jìn)程啟動(dòng)狀態(tài)棒坏,包括參數(shù)靠欢、操作對象等放妈;而不只是進(jìn)程名

-d <秒> 刷新頻率。 -d 5湿右,表示5秒刷新一次

-n <次> 刷新次數(shù)诅妹,然后退出。 -n 5,表示刷新5次后退出吭狡;

-b 以批量模式運(yùn)行尖殃,讓輸出能夠使用管道或重定向。但不能進(jìn)行交互划煮,最好和 -n <次> 參數(shù)一同使用

-i 禁止顯示空閑進(jìn)程或僵尸進(jìn)程送丰;

-p PID 僅監(jiān)視指定進(jìn)程的ID;PID是一個(gè)數(shù)值弛秋;

-s 安全模式運(yùn)行器躏,禁用一些效互指令;

-S 累積模式蟹略,輸出每個(gè)進(jìn)程的總的CPU時(shí)間登失,包括已死的子進(jìn)程;

交互命令:

立即刷新

k 交互式殺死進(jìn)程挖炬,提示輸入進(jìn)程 PID (默認(rèn)發(fā)送信號(hào)15)

r 設(shè)定renice揽浙,提示輸入PID和renice值

s 改變兩次刷新時(shí)間間隔,以秒為單位

n 設(shè)定顯示進(jìn)程數(shù)意敛, 0 為不作限制

i 隱藏空閑進(jìn)程和僵尸進(jìn)程

S 切換到累積時(shí)間模式

l 開關(guān)馅巷,在頂部顯示 uptime 信息

t 開關(guān),在頂部顯示 進(jìn)程和CPU狀態(tài)

m 開關(guān)草姻,在頂部顯示 free 信息

c 顯示方式切換: 進(jìn)程名/進(jìn)程啟動(dòng)狀態(tài)

A 按進(jìn)程啟動(dòng)順序進(jìn)行排序钓猬。由新到舊

M 按內(nèi)存占用排序。由大到小

N 以進(jìn)程ID排序碴倾。由大到小

P 按CPU占用排序逗噩。由大到小

T 按時(shí)間/累積時(shí)間排序

f ,F(xiàn) 設(shè)定顯示字段跌榔。設(shè)定完成后空格退出

o,O 設(shè)定顯示字段的排序。大寫向前移動(dòng)捶障,小寫向后移動(dòng)僧须,空格退出

h,? 顯示有關(guān)安全模式和累積模式的幫助信息

W 把當(dāng)前的配置寫到~/.toprc中;

nohup <命令>

將任務(wù)提交到后臺(tái)项炼,輸出附加到 ~/nohup.out 文件担平。即便用戶退出登錄,提交的命令仍繼續(xù)執(zhí)行锭部。

<命令> &

背景執(zhí)行此命令暂论,如果用戶退出登錄,則命令停止執(zhí)行

<命令1> ; <命令2> ; ......

命令隊(duì)列拌禾,從左向右取胎,依次執(zhí)行以 ; 分隔的命令

<命令1> && <命令2> && ......

命令隊(duì)列,從左向右,依次執(zhí)行以 && 分隔的命令闻蛀。前一個(gè)命令執(zhí)行成功匪傍,后一個(gè)命令才能執(zhí)行

<命令>

掛起當(dāng)前Shell中的任務(wù)

jobs

顯示背景任務(wù)

bg [任務(wù)編號(hào)]

將掛起的任務(wù)背景執(zhí)行

fg [任務(wù)編號(hào)]

將背景任務(wù)調(diào)到前臺(tái)執(zhí)行

計(jì)劃任務(wù)

磁盤和內(nèi)存管理

一些細(xì)節(jié)

Linux中,設(shè)備用/dev/目錄下的文件表示觉痛。例如

/dev/hda1 第一塊硬盤的第一主分區(qū)

/dev/hdb5 第二塊硬盤的第一邏輯分區(qū)

/dev/sda4 第一塊SATA硬盤的第四主分區(qū)役衡,或者擴(kuò)展分區(qū)

/dev/null 黑洞設(shè)備

關(guān)于磁盤設(shè)備,詳見 分區(qū)概念

mount <設(shè)備文件> [掛載路徑]

掛載文件系統(tǒng)

-t 指定文件系統(tǒng)的類型薪棒。通常不必指定手蝎,mount自動(dòng)檢測。下面是常用的格式

reiserfs ReiserFS 3.6版

jfs IBM技術(shù)

xfs SGI技術(shù)(適合高級服務(wù)器俐芯,桌面用戶慎用)

ext3 Linux傳統(tǒng)文件系統(tǒng)

vfat fat fat32

ext2 不帶日志的ext3

ntfs WINNT

iso9660 光盤

smbfs Windows文件共享

-o [選項(xiàng)1] [選項(xiàng)2] ......

loop 環(huán)設(shè)備棵介。光盤、ISO鏡像等

ro | rw 只讀readonly泼各;可讀寫read-write

sync | async 同步模式|異步模式鞍时。決定修改是否立即寫入文件系統(tǒng)

atime | noattime 讀取時(shí)是否修改訪問時(shí)間。對于寫入敏感設(shè)備扣蜻,例如閃存逆巍、軟盤,建議使用 *noatime*

auto | noauto 自動(dòng)掛載模式

exec | noexec 是否允許可執(zhí)行權(quán)限

defaults 使用預(yù)設(shè)的選項(xiàng) rw, suid, dev, exec, auto, nouser, async

iocharset=UTF-8 指定字符集莽使,可簡寫為 utf8

codepage=936 指定代碼頁锐极,可簡寫為 cp936 西文系統(tǒng)代碼頁為 437

umask=<權(quán)限掩碼> 設(shè)定權(quán)限掩碼

uid= 設(shè)定歸屬用戶

gid= 設(shè)定歸屬群組

remount 以不同選項(xiàng)重新掛載

-L <卷標(biāo)> 將帶有特殊卷標(biāo)的分區(qū)

Tip

權(quán)限掩碼

權(quán)限=777-權(quán)限掩碼(三位) | 7777-權(quán)限掩碼(四位)

假如權(quán)限掩碼為 022 ,則新建對象權(quán)限為 755 rwxr-xr-x

可以使用 umask 命令設(shè)置權(quán)限掩碼

mount -a

掛載 /etc/fstab 文件中定義的所有設(shè)備

示例:

sudo mount -t iso9660 -o loop /dev/cdrom0 /media/cdrom

sudo mount -t vfat -o remount iocharset=utf8,codepage=cp936 /dev/hda5 /media/hda5

umount <設(shè)備文件> | <掛載路徑>

卸載已掛載文件系統(tǒng)

df

查看已掛載文件系統(tǒng)的磁盤空間占用

-a 顯示所有文件系統(tǒng)的磁盤使用情況芳肌,包括0塊(block)的文件系統(tǒng)灵再,如/proc文件系統(tǒng)

-T 顯示文件系統(tǒng)類型????????????????? -k 以k字節(jié)為單位顯示???? ???????? -i 顯示i節(jié)點(diǎn)信息,而不是磁盤塊

-t <文件系統(tǒng)類型> 顯示指定類型的文件系統(tǒng)的磁盤空間使用情況

-x <文件系統(tǒng)類型> 列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況(與t選項(xiàng)相反)亿笤。

-l 只顯示本地文件系統(tǒng)

free

查看內(nèi)存翎迁、緩沖區(qū)、交換空間的占用

-b 以字節(jié)為單位顯示數(shù)值?????????? -k 以千字節(jié)為單位顯示數(shù)值??????????????? -m 以兆字節(jié)為單位顯示數(shù)值

-g 以吉字節(jié)為單位顯示數(shù)值??????????????? -l 顯示內(nèi)存占用峰值????????? -o 不顯示緩沖區(qū)占用?????????????????? -t 統(tǒng)計(jì)結(jié)果

-s <秒> 刷新頻率

sync

同步文件系統(tǒng)净薛。將緩沖區(qū)中的數(shù)據(jù)寫入文件系統(tǒng)

fdisk <磁盤設(shè)備文件>

分區(qū)表修改工具

交互命令:

m 使用幫助??????????????? l 查看已知文件系統(tǒng)類型???????????? p 顯示分區(qū)信息

n 新建分區(qū) (p:主分區(qū) l:擴(kuò)展分區(qū) 參見 分區(qū)概念 )????????? d 刪除分區(qū)???????????????? t 改變分區(qū)類型

w 將改動(dòng)寫入分區(qū)表?????????????????? q 放棄改動(dòng)并退出

* 磁盤設(shè)備名稱為整塊磁盤汪榔,而不是磁盤中的分區(qū)。例如 /dev/hda 肃拜,而不是 /dev/hda1

fdisk -l

查看所有磁盤分區(qū)信息

cfdisk

更加友善的分區(qū)表修改工具

mkfs.<文件系統(tǒng)類型> <分區(qū)設(shè)備文件>

將分區(qū)格式化為文件系統(tǒng)痴腌。 文件系統(tǒng)類型

示例:

sudo mkfs.reiserfs /dev/hda1

mkfs <分區(qū)設(shè)備文件>

-t <文件系統(tǒng)類型> 指定文件系統(tǒng)類型????????????????? -c 格式化前檢查磁盤

mkisofs -o <鏡像文件> [源文件目錄]

用光盤或者文件制作iso鏡像

-b 可啟動(dòng)鏡像

hdparm <磁盤設(shè)備文件>

設(shè)置硬盤參數(shù)

-d <0|1> DMA模式開關(guān)????????????? -a <0|1> 預(yù)計(jì)模式開關(guān)???????????????? -t 性能測試???????????????? -T 緩存性能測試

-c <0|1|3> 32位傳輸模式開關(guān)?????????????? -g 顯示柱面,扇區(qū)等信息?????????? -i -I 顯示磁盤信息

網(wǎng)絡(luò)和硬件管理

ifconfig

配置網(wǎng)絡(luò)接口

-a 顯示所有網(wǎng)絡(luò)接口

ifconfig <網(wǎng)卡> up|down

激活|禁用網(wǎng)卡

示例: ::

sudo ifconfig eth0 up

ifconfig <網(wǎng)卡> add [ netmask <子網(wǎng)掩碼> ]

給網(wǎng)卡指定IP地址或子網(wǎng)掩碼

route

配置路由及網(wǎng)關(guān)

route add -net <路由地址> gw <網(wǎng)關(guān)地址> [ netmask <子網(wǎng)掩碼> ] dev <網(wǎng)卡>

指定路由及網(wǎng)關(guān)

route del -net <網(wǎng)關(guān)地址> gw <網(wǎng)關(guān)地址> [ netmask <子網(wǎng)掩碼> ]

刪除路由及網(wǎng)關(guān)

ip

配置網(wǎng)絡(luò)

子命令:

link 網(wǎng)卡配置???????????? address 配置地址燃领。相當(dāng)于 ifconfig?????????????? route 配置路由士聪。相當(dāng)于 route

參數(shù):

show 顯示(默認(rèn))???????????????? set 設(shè)置???????????? add 添加??????????? del 刪除

示例:

ip link show 顯示網(wǎng)卡配置

ip link set eth0 name xxx 重命名網(wǎng)絡(luò)接口

ping

向目標(biāo)地址發(fā)送ICMP封包,常用來測試網(wǎng)絡(luò)

-b <廣播地址> ping整個(gè)網(wǎng)段?????????????? -c 發(fā)送封包次數(shù)????????????????? -s <封包大小> 默認(rèn)為64字節(jié)

netstat

網(wǎng)絡(luò)連接狀態(tài)

-r 顯示路由表猛蔽,同 route???????????? -a 所有連接??????????????? -t 只顯示TCP協(xié)議??????????? -U 只顯示UDP協(xié)議

-l 只顯示正在監(jiān)聽的端口??????????? -p 顯示PID和進(jìn)程名????????????????? -c <秒> 刷新頻率

* http/ftp/ssh…… 為應(yīng)用層協(xié)議????????????????? * TCP/UDP為傳輸層協(xié)議?????????? * IP/ICMP為網(wǎng)絡(luò)層協(xié)議

lspci

查看PCI總線連接的設(shè)備

lsusb

查看USB接口連接的設(shè)備

lsmod

查看已加載模塊

* /lib/modules/uname -r 目錄下為所有可用模塊

modprobe <模塊名稱>

簡明VIM教程

VIM簡介

我們使用的大多數(shù)編輯器剥悟,都可以直接在編輯區(qū)輸入字符,并且能夠通過一些快捷鍵來完成一些控制功能,比如使用方向鍵移動(dòng)光標(biāo)懦胞,使用

BackSpack 或者 Delete 鍵刪除文字替久,使用 PgUp 和 PgDn 翻頁,使用 Home 和 End 來定位行首和行末……

而Vim是一個(gè)帶模式的編輯器躏尉,同樣的按鍵蚯根,在不同模式下,具有不同的功能定義胀糜。例如 h j k l 在 編輯模式 下輸入相應(yīng)的字符颅拦,在 普通模式 下卻相當(dāng)于方向鍵的作用。

由于需要切換模式教藻,Vim的使用起來略顯繁瑣距帅。不過優(yōu)點(diǎn)也顯而易見:您只要把手安安穩(wěn)穩(wěn)的放在打字區(qū)就可以了,而不需要使用諸如方向鍵括堤、排版鍵碌秸、小鍵盤等

需要挪開雙手的鍵位,從而提高了您的效率和專注程度悄窃。事實(shí)上讥电,Vim的前身Vi誕生的時(shí)候,鍵盤上還沒有方向鍵轧抗、排版鍵和小鍵盤:)

命令

使用Vim編輯文件:

vi [文件名]

vim [文件名]

教學(xué)模式:

vimtutor [語言]

vim教程恩敌,相當(dāng)于使用Vim編輯器以只讀模式打開教程文件。您無論對這個(gè)文件作了什么横媚,都會(huì)在退出后恢復(fù)原來的樣貌纠炮。與只讀模式的區(qū)別在于,它不會(huì)沒有眼色的提醒您灯蝴,現(xiàn)在的狀態(tài)為只讀模式恢口。您可以使用它作一些練習(xí)

您可以指定教程文件的語言,如果使用本地語言(ZH_cn)出現(xiàn)亂碼穷躁,您可以嘗試使用英語

vimtutor en

使用Vim比較文件區(qū)別

vimdiff [文件1] [文件2] [其它文件]……

配置文件

Vim的全局配置文件為 /etc/vim/vimrc 弧蝇,用戶配置文件為 ~/.vimrc , " 起始的行為注釋行折砸。我們提供的配置項(xiàng),您直接加入配置文件就可以了

您可以先對Vim進(jìn)行一些簡單的配置:

"設(shè)定文件編碼

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

"開啟語法加亮

syntax on

"配色風(fēng)格

colorscheme pablo

"設(shè)定行距 GUI界面中生效

set linespace=4

"設(shè)定GUI選項(xiàng)

"set guioptions=gmrLtT m:菜單 T:工具欄

set guioptions=gmrLt

"設(shè)定Tab鍵縮進(jìn)的空格數(shù)

set tabstop=4

"設(shè)定編輯器將多少空格視為一個(gè)縮進(jìn)

set shiftwidth=4

"將縮進(jìn)轉(zhuǎn)換為空格

"set expandtab

"設(shè)定折疊方式

"set foldmethod=indent

"以下字符將被視為單詞的一部分 (ASCII):

"set iskeyword+=33-47,58-64,91-96,123-128

模式介紹

Vim常見的模式有: 普通模式 沙峻、 插入模式 睦授、 命令模式 ,另外我們也會(huì)經(jīng)常用到 可視模式 摔寨。

Vim啟動(dòng)時(shí)進(jìn)入 普通模式 去枷;或者在其它模式下,按下 Esc 鍵,便可以回到普通模式删顶。

使用 vimtutor en 命令進(jìn)入教程竖螃,現(xiàn)在是普通模式。隨便按幾下 j 逗余、 k 特咆、 l 、 h 鍵录粱,您會(huì)發(fā)現(xiàn)光標(biāo)的位置發(fā)生改變腻格。

按下 i 鍵,編輯器底部出現(xiàn)了 -- 插入 -- 或者 -- insert -- 啥繁,您進(jìn)入了插入模式菜职。隨便按幾下 j 、 k 旗闽、 l酬核、 h,您會(huì)發(fā)現(xiàn)相應(yīng)的字符出現(xiàn)在編輯區(qū)适室,現(xiàn)在還可以通過方向鍵來移動(dòng)光標(biāo)嫡意。可能您覺得使用方向鍵移動(dòng)光標(biāo)不是什么問題亭病,但是習(xí)慣了Vim后鹅很,您會(huì)認(rèn)為方向鍵太麻煩了,簡直不能容忍罪帖!好了促煮,現(xiàn)在按下 Esc 鍵回到普通模式,我們又可以使用 j 整袁、 k 菠齿、 l 、 h 來移動(dòng)光標(biāo)了坐昙。

在普通模式下绳匀,按下 : 鍵(也就是 Shift+; ),在編輯器底部出現(xiàn)了一個(gè) : 炸客,您進(jìn)入了命令模式疾棵。在 : 后輸入一個(gè)命令 new ,回車后痹仙,編輯器被分割為上下兩欄是尔。為了方便起見,我們在命令前加一個(gè) : 來表示命令模式下輸入的命令开仰,像這樣

:vnew

一個(gè)命令能夠以一些規(guī)則簡化拟枚,上面的命令也可以寫為這種形式

:vne

現(xiàn)在您的編輯區(qū)一定弄的四分五裂薪铜,您可以使用命令“:quit”來關(guān)閉當(dāng)前欄,直接用簡寫就可以了

:q

這個(gè)命令是退出編輯器恩溅,如果編輯區(qū)被分成多欄隔箍,則是退出當(dāng)前欄。

執(zhí)行完一個(gè)命令(按下回車后)脚乡,編輯器會(huì)自動(dòng)回到普通模式蜒滩。如果您想不執(zhí)行當(dāng)前命令,直接回到普通模式每窖,您可以按下Esc鍵帮掉。

按下 v 鍵,您進(jìn)入了可視模式窒典,可以使用 j 蟆炊、 k 、 l 瀑志、 h 移動(dòng)光標(biāo)涩搓,高亮選取文本 。

事實(shí)上劈猪,可視模式相當(dāng)于高亮選取文本后的普通模式昧甘。

可視模式具有子模式,以行為單位進(jìn)行選取的可視行模式战得,使用 V 鍵進(jìn)入(也就是 Shift+v )充边;和以塊為單位進(jìn)行選取的可視塊模式,使用 Ctrl+v 鍵進(jìn)入常侦。

模式切換

好了浇冰,現(xiàn)在我們總結(jié)一下模式間切換的方法

其它模式==>普通模式

Esc

普通模式==>插入模式

i 在光標(biāo)前插入 I 在行首插入????????????????????? a 在光標(biāo)后插入 A 在行末插入

o 在當(dāng)前行之下新建行 O 在當(dāng)前行之上新建行??????????????????? r 替換當(dāng)前字符 R 從當(dāng)前字符開始替換

普通模式==>命令模式???????????????? 普通模式==>可視模式???????????????? v 可視模式???????????????? V 可視塊模式

可視塊模式

移動(dòng)

在普通模式中,您可以使用以下方式移動(dòng)光標(biāo)

j 向下???????????????? k 向上??????????????? l 向右 h l?????????? h 向左 j

您可以使用其它更有效率的方式移動(dòng)光標(biāo)

w 下一個(gè)單詞詞首 W 將特殊符號(hào)視為單詞的一部分 ?????????????????? b 上一個(gè)單詞詞首 B 同上

e 單詞末尾 E 同上???????????? 0 行首 ^ 行首文字(行首空格之后)????????????????? $ 行末

H 頁面頂部??????????????? M 頁面中部?????????????? L 頁面底部

在其它模式中聋亡,您可以使用方向鍵移動(dòng)光標(biāo)肘习,不過我們不推薦您那樣作,您可以在配置文件中綁定插入模式下的功能鍵

noremap!

noremap!

noremap!

noremap!

………………

<作用范圍> <鍵位> <功能>

其中坡倔,map!綁定的鍵盤映射漂佩,作用于所有模式;inoremap!綁定的映射罪塔,僅作用于插入模式投蝉。

數(shù)字參數(shù)

您也可以使用數(shù)字參數(shù),來重復(fù)執(zhí)行征堪。例如

100j 執(zhí)行100次j鍵墓拜,向下100行

或者作為跳轉(zhuǎn)的行號(hào)、百分比请契。見下面的瀏覽部分

<行號(hào)> Ctrl+g 按行號(hào)跳轉(zhuǎn)

標(biāo)記

您可以在當(dāng)前光標(biāo)處作一個(gè)標(biāo)記咳榜,以便快速返回

m<標(biāo)記名稱> 定義標(biāo)記。標(biāo)記名稱為一個(gè)字符

`<標(biāo)記名稱> 返回標(biāo)記

mx 將當(dāng)前光標(biāo)處定義為標(biāo)記 x

`x 返回標(biāo)記 x

瀏覽

下翻一頁 下翻半頁??????????????? 上翻一頁 上翻半頁

gg 文件首行??????????????? G 文件末行??????????????? <行號(hào)>G 按行號(hào)轉(zhuǎn)到相應(yīng)行

<1~100>% 按百分比轉(zhuǎn)到相應(yīng)的行數(shù)?????????? zz 將光標(biāo)所在行調(diào)整至頁面中間

下卷一行????????????? 上卷一行

說明:gg 定位到文件首行爽锥, V 進(jìn)入可視行模式涌韩, G 定位到文件末行,實(shí)現(xiàn)類似“全選”的功能氯夷。依次按下 g g V(Shift+v) G(Shift+g)

編輯

x 剪切當(dāng)前字符??????????????????????????? dd 剪切當(dāng)前行?????????? y 復(fù)制可視模式選取字符??????????? yy 復(fù)制當(dāng)前行

p 在光標(biāo)后粘貼 P 在光標(biāo)前粘貼??????????????? u 撤消??????????????? 重做

逐字克隆上一行內(nèi)容???????????????????? 逐字克隆下一行內(nèi)容

寄存器操作

Vim可以將不同字段剪切或復(fù)制到不同寄存器中臣樱,您可以從不同寄存器中取出內(nèi)容后粘貼

"<寄存器名稱> 按下“"”鍵和另一個(gè)字符鍵,便可以定義一個(gè)寄存器腮考。例如:

"a "1

定義寄存器后直接進(jìn)行操作

"ayy 將當(dāng)前行復(fù)制到寄存器 a 中

"ap 將寄存器 a 中的內(nèi)容粘貼到光標(biāo)之后

* 通常情況下雇毫,寄存器 + ( " + Shift+= )對應(yīng)X下的剪貼板。您在其它程序中復(fù)制的內(nèi)容踩蔚,可以使用 "+p 粘貼到Vim中棚放;您在Vim中,可以使用 "+y 將內(nèi)容復(fù)制到剪貼板馅闽,再粘貼到其它程序中

* 沒有指定寄存器時(shí)飘蚯,Vim使用“無名寄存器”存儲(chǔ)內(nèi)容

搜索和替換

按下 / 鍵,編輯器底部會(huì)出現(xiàn) / 符號(hào)福也,接著輸入字符串局骤,便可以進(jìn)行搜索

/ 向下搜索 ? 向上搜索

n 搜索下一個(gè)

N 搜索上一個(gè)

:s/<源字符串>/<目標(biāo)字符串> 將源字符串替換為目標(biāo)字符串

:s/<源字符串>/<目標(biāo)字符串>/g 替換當(dāng)前行中所有符合條件的字符串

:<行號(hào)1>,<行號(hào)2>s/<源字符串>/<目標(biāo)字符串>/g 在指定行中進(jìn)行替換

:%s/<源字符串>/<目標(biāo)字符串>/g 全文替換

正則表達(dá)式

在搜索和替換時(shí),可以使用正則表達(dá)式進(jìn)行匹配

您可以將一系列的操作錄制為一個(gè)宏暴凑,然后執(zhí)行它

q<宏名稱> 開始錄制宏叫挟。宏名稱為一個(gè)字符

q 錄制中按下“q”鍵,結(jié)束錄制

@<宏名稱> 執(zhí)行宏

插入模式下的快捷鍵

<寄存器名稱> 輸入指定寄存器內(nèi)容

<2個(gè)字符> 輸入二合字符

<數(shù)字> 通過數(shù)字編碼輸入字符

<鍵位> 輸入鍵位的名稱

鍵綁定瘩将、縮寫

前面我們已經(jīng)向您介紹了鍵綁定锐涯,

map!

尖括號(hào)及其中的內(nèi)容,為Vim配置文件的約定拿穴,分別描述了按鍵和功能泣洞,表示將功能編寫到按鍵上。如果綁定的只是普通字符默色,例如:

map! xxx XXXXX

表示將 fXXXXX 綁定到 xxx 上球凰。當(dāng)您鍵入 xxx 時(shí),編輯器會(huì)自動(dòng)替換為 XXXXX 腿宰。

如果您只是想將字符串綁定為縮寫呕诉,方便輸入,我們建議您使用 iabbrev 來綁定吃度。例如:

iabbrev ubt Ubuntu

在插入模式下鍵入 ubt 甩挫,編輯器會(huì)自動(dòng)替換為 Ubuntu 。您可以將 iabbrev 命令縮寫為 iab 椿每,例如:

iab ubt Ubuntu

以上命令伊者,您可以直接在命令模式下輸入英遭,臨時(shí)啟用。也可以寫入配置文件亦渗,永久啟用挖诸。

單詞補(bǔ)全

下一個(gè)匹配項(xiàng)

上一個(gè)匹配項(xiàng)

您可以在配置文件中定義補(bǔ)全的方式

"自動(dòng)補(bǔ)全方式:(使用逗號(hào)分隔)

set complete=k,.

" . 當(dāng)前文件

" b 已被裝緩沖區(qū),但是沒有在窗口內(nèi)的文件

" d 在當(dāng)前的文件中定義和由#include包含進(jìn)來的文件

" i 由#include包含進(jìn)來的文件

" k 由dictionary選項(xiàng)定義的文件

" kfile 名為{file}的文件

" t 標(biāo)記(tags)文件

" u 沒有載入的緩沖區(qū)

" w 在其他窗口中的文件

"設(shè)定自動(dòng)補(bǔ)全字典 :

set dictionary=path

命令模式

前面介紹了普通模式和插入模式。我們發(fā)現(xiàn)法精,普通模式主要用來瀏覽和修改文本內(nèi)容多律,而插入模式則用來向文本中添加內(nèi)容。

而命令模式則多用于操作文本文件(而不是操作文本文件的內(nèi)容)搂蜓,例如保存文件狼荞;或者用來更改編輯器本身的狀態(tài),例如設(shè)定多欄窗口帮碰、標(biāo)簽或者退出編輯器……

w(rote) 將更改寫入文件

:w

q(uit) 退出編輯器:

:q

某些情況下相味,編輯器會(huì)阻止命令的執(zhí)行。例如您修改了文件收毫,而沒有保存攻走,那么您使用 :q 命令退出時(shí),編輯器就不會(huì)執(zhí)行這條命令此再,而是提醒您保存文件昔搂。

這個(gè)時(shí)候,您可以在命令末尾追加 ! 來強(qiáng)制執(zhí)行命令

:<命令>!

例如 :q! 输拇,即便您沒有保存已修改的文件摘符,使用此命令,編輯器也會(huì)放棄修改而強(qiáng)行退出

以 ! 引導(dǎo)一個(gè)Shell命令策吠,則可以從Vim臨時(shí)切換到Shell中逛裤,執(zhí)行一個(gè)Shell

:!<命令>

例如 :!ls

多欄窗口

您可以使用以下命令,將當(dāng)前窗口水平分為兩欄

:new

新建一欄空白窗口

:split

將當(dāng)前文件分兩欄顯示

同理猴抹,您可以使用下列命令带族,將當(dāng)前窗口垂直分為兩欄

:vnew

:vsplit

先按下 鍵,再按下方向鍵 j 蟀给、 k 蝙砌、 l 、 h 跋理,您可以切換到其它欄择克;在當(dāng)前欄中使用 :q 命令,可以退出當(dāng)前欄前普,也可以使用其它命令肚邢,對當(dāng)前欄作出修改

如果您希望當(dāng)前命令在所有欄中生效,您可以在命令的末尾追加 all

:<命令>all

例如:

:qall

如果您希望這條命令強(qiáng)制執(zhí)行拭卿,那么 ! 位于命令的最末

:<命令>all!

例如:

:qall! 強(qiáng)行退出所有欄窗口

標(biāo)簽頁

Vim在7以后的版本骡湖,開始支持標(biāo)簽頁的功能

:tabnew 新建一個(gè)標(biāo)簽

:tabnext 轉(zhuǎn)到下一個(gè)標(biāo)簽

:tabprevious 轉(zhuǎn)到上一個(gè)標(biāo)簽

多數(shù)情況下贱纠,您可以使用鼠標(biāo)點(diǎn)擊標(biāo)簽進(jìn)行切換。

引導(dǎo)管理器Grub

硬件基礎(chǔ)

一塊硬盤勺鸦,它起始的一部分扇區(qū)為主引導(dǎo)扇區(qū)并巍,包括MBR(主引導(dǎo)紀(jì)錄)和DPT(分區(qū)表,您可以閱讀分區(qū)概念章節(jié)中相關(guān)內(nèi)容)

每個(gè)分區(qū)起始的一部分扇區(qū)换途,為分區(qū)引導(dǎo)扇區(qū)。

在分區(qū)引導(dǎo)扇區(qū)之后的部分刽射,為文件系統(tǒng)的索引军拟,文件系統(tǒng)通過它定位文件在硬盤上的位置。不同的文件系統(tǒng)采用不同的索引誓禁,例如FAT文件系統(tǒng)使用文件分配表和目錄區(qū)懈息。

絕大多數(shù)操作系統(tǒng),對硬盤的讀寫操作摹恰,通過文件系統(tǒng)來完成辫继,因此引導(dǎo)扇區(qū)中的內(nèi)容,我們不能夠在文件系統(tǒng)中進(jìn)行操作俗慈,而需要專用軟件姑宽,比如引導(dǎo)管理器。

我們對文件進(jìn)行修改后闺阱,操作系統(tǒng)會(huì)將文件系統(tǒng)索引中的內(nèi)容同步炮车。

系統(tǒng)引導(dǎo)流程

1.系統(tǒng)啟動(dòng)時(shí),首先引導(dǎo)至MBR酣溃,將控制權(quán)移交安裝在MBR中的引導(dǎo)管理器

(Windows使用NTLDR瘦穆,Linux通常用Grub)

2.引導(dǎo)管理器讀取分區(qū)表

3.引導(dǎo)管理器讀取分區(qū)中的配置文件,并按配置文件中預(yù)設(shè)的參數(shù)運(yùn)行

例如赊豌,Grub讀取“/boot/grub/menu.lst”文件中內(nèi)容扛或,將可引導(dǎo)系統(tǒng)通過菜單顯示

4.引導(dǎo)管理器根據(jù)您的選擇,可能會(huì)有如下活動(dòng)

加載內(nèi)核碘饼,啟動(dòng)Linux系統(tǒng)檢查活動(dòng)分區(qū)熙兔,并引導(dǎo)它(單一Windows系統(tǒng))讀取相應(yīng)分區(qū)的引導(dǎo)扇區(qū),將控制權(quán)移交該扇區(qū)中的引導(dǎo)管理器派昧,Ubuntu系統(tǒng)在安裝Grub時(shí)黔姜,會(huì)提問您安裝在MBR或者分區(qū)引導(dǎo)扇區(qū)中。如果將Grub安裝在分區(qū)引導(dǎo)紀(jì)錄中蒂萎,您必須確保MBR中的引導(dǎo)管理器能夠正確的引導(dǎo)至分區(qū)引導(dǎo)扇區(qū)秆吵。

如果您在MBR中使用的是Windows的引導(dǎo)管理器NTLDR,完成這件工作會(huì)非常困難五慈,因而我們推薦您使用Grub纳寂。

Grub介紹

Grub主要有以下功能:

菜單式選擇

命令行模式

支持開機(jī)畫面

支持大硬盤

其它的功能還有很多主穗,就不一一介紹了。

您可以運(yùn)行命令 grub 啟動(dòng)它毙芜。會(huì)顯示一些版本信息和使用提示忽媒,當(dāng)然還有命令提示符,如下:

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For

the first word, TAB lists possible command

completions. Anywhere else TAB lists the possible

completions of a device/filename. ]

grub>

您可以使用 TAB 鍵補(bǔ)全命令和路徑腋粥,這非常重要晦雨,因?yàn)镚rub中路徑表示方式與操作系統(tǒng)是不同的,您可能比較陌生隘冲,所以盡量用TAB補(bǔ)全它闹瞧,既方便,也不容易出錯(cuò)展辞。

您可以在 grub> 提示符后按 TAB 鍵奥邮,會(huì)將所有可用的命令顯示出來。

呵呵罗珍,是不是有點(diǎn)暈洽腺,命令可真不少啊8埠怠U号蟆!

其實(shí)我們會(huì)用到的命令只有兩個(gè)通殃,

root

setup

Grub術(shù)語

在分區(qū)概念章節(jié)里度液,我們已經(jīng)介紹了Linux系統(tǒng)中表示分區(qū)的方法 /dev/hda5

/dev/hdMN M為a起始的小寫字母,表示硬盤序號(hào)画舌;N為1起始的數(shù)字堕担,表示分區(qū)序號(hào)

Grub中使用的表示方法為 hd0,1

hdX,Y X為0起始的數(shù)字,表示硬盤序號(hào)曲聂;Y為0起始的數(shù)字霹购,表示分區(qū)序號(hào)

您得留意它們之間的區(qū)別:

N從1開始計(jì)數(shù),X和Y從0開始計(jì)數(shù)

N為1~4朋腋,它是一個(gè)主分區(qū)齐疙;N為5或大于5,它是第(N-4)個(gè)邏輯分區(qū)旭咽。Y按分區(qū)在硬盤上排列的順序排列贞奋,無論它表示的是主分區(qū)還是邏輯分區(qū)。

舉例來說:

主 主 邏 邏 主

/dev/hdMN hda1 hda2 hda5 hda6 hda3

hdX,Y hd0,0 hd0,1 hd0,2 hd0,3 hd0,4

現(xiàn)在我們來看 root 和 setup 命令的使用:

grub>root (hd0,1)

這個(gè)命令將Grub的根分區(qū)定位為 “(hd0,1)”

grub>setup (hd0)

這個(gè)命令表示將Grub安裝在“(hd0)”穷绵,因?yàn)闆]有指定安裝的分區(qū)轿塔,所以安裝位置為MBR

Grub的根分區(qū) 為Grub配置文件 /boot/grub/menu.lst 所在分區(qū)。假如您單獨(dú)為 /boot 目錄掛載了一個(gè)分區(qū),那么Grub的根分區(qū)通常為您系統(tǒng)中 /boot 目錄所在的分區(qū)勾缭。

搞錯(cuò)了根分區(qū)揍障,Grub就不能正確讀取配置文件,自然不能正確引導(dǎo)俩由。

引導(dǎo)分區(qū) 毒嫡,Windows等系統(tǒng)的引導(dǎo)分區(qū)為它的安裝分區(qū),Linux系統(tǒng)的引導(dǎo)分區(qū)為它的 /boot 目錄所在的分區(qū)

系統(tǒng)根目錄所在分區(qū) 幻梯,Linux根目錄 / 的掛載分區(qū)兜畸。Linux系統(tǒng)的分區(qū)掛載信息保存在文件系統(tǒng)分配表 /etc/fstab 文件中

Grub首先讀取根分區(qū)中的 /boot/grub/menu.lst

文件,并轉(zhuǎn)到引導(dǎo)分區(qū)碘梢,如果是Windows等系統(tǒng)膳叨,則將控制權(quán)移動(dòng)分區(qū)引導(dǎo)扇區(qū)中的啟動(dòng)管理器。如果是Linux系統(tǒng)痘系,則加載內(nèi)核和設(shè)備,并根據(jù)

/etc/fstab 文件的內(nèi)容掛載文件系統(tǒng)饿自。

看這個(gè)例子:(假設(shè)Grub安裝在MBR中)

title Ubuntu

root (hd0,0)

kernel (hd0,1)/boot/vmlinuz-2.6.15-25-686 root=/dev/sda3 ro splash vga=0x31b

initrd (hd0,1)/boot/initrd.img-2.6.15-25-686

boot

Grub的安裝位置為 (hd0)

root (hd0,0) 汰翠,這一行表示Grub的根分區(qū)為第一塊硬盤的第一個(gè)分區(qū) (hd0,0) ,它讀取該分區(qū)中的配置文件 grub/menu.lst

kernel 和 initrd 行中的 (hd0,1) 昭雌,表示當(dāng)前系統(tǒng)的 /boot 目錄掛載到第一塊硬盤的第二個(gè)分區(qū) (hd0,1)

kernel 行的 root=/dev/sda3 复唤,表示當(dāng)前系統(tǒng)的 / 目錄掛載到第一塊硬盤的第三個(gè)分區(qū) (hd0,2) ,內(nèi)核根據(jù)該分區(qū)中的 /etc/fstab 文件來掛載文件系統(tǒng)

Grub配置文件

/boot/grub/menu.lst 文件烛卧,主要由一些下面這樣的塊構(gòu)成的

title Ubuntu

root (hd0,2)

kernel (hd0,2)/boot/vmlinuz-2.6.15-25-686 root=/dev/sda3 ro splash vga=0x31b

initrd (hd0,2)/boot/initrd.img-2.6.15-25-686

boot

title Windows xp

root (hd0,0)

makeactive

chainloader +1

每一塊代表一個(gè)操作系統(tǒng)佛纫,包含下面里幾個(gè)部分

title xxx 標(biāo)題,title和分隔符后的內(nèi)容為Grub菜單中顯示的條目

root (hdX,Y) 引導(dǎo)分區(qū)总放,可以留空呈宇,默認(rèn)為 grub/menu.lst 所在分區(qū)(根分區(qū)),可以使用 grub>root (hdX,Y) 命令設(shè)置局雄,或者在您安裝系統(tǒng)時(shí)自動(dòng)設(shè)置

如果您計(jì)劃引導(dǎo)至分區(qū)引導(dǎo)扇區(qū)甥啄,如Windows或者Unix系統(tǒng)(Unix和Linux系統(tǒng),您需要選擇將引導(dǎo)管理器安裝到分區(qū)中)炬搭,那么需要這樣配置

makeactive 設(shè)置活動(dòng)分區(qū)蜈漓,系統(tǒng)默認(rèn)設(shè)置,可以刪除

chainloader +1 鏈?zhǔn)揭龑?dǎo)宫盔,不要?jiǎng)铀?/p>

如果以這種方式引導(dǎo)系統(tǒng)融虽,上面 root (hdX,Y) 這一行通常需要配置, (hdX,Y) 為您的系統(tǒng)所在的分區(qū)灼芭。假如您的Windows在第一塊硬盤的第一個(gè)分區(qū)有额,則這樣寫 root (hd0,0)

如果您引導(dǎo)的是Linux系統(tǒng)(沒有在分區(qū)中安裝引導(dǎo)管理器,而是安裝到MBR),則需要這樣配置

kernel (hd0,2)/boot/vmlinuz-2.6.15-25-686 root=/dev/sda2 ro splash vga=0x31b

initrd (hd0,2)/boot/initrd.img-2.6.15-25-686 設(shè)備鏡像文件谆吴,與上一行保持一致

boot 不要?jiǎng)铀?/p>

kernel 這一行最關(guān)鍵倒源,它控制系統(tǒng)內(nèi)核的加載。行末以 ro 起始的部分為參數(shù)(ro只讀句狼,splash顯示啟動(dòng)畫面笋熬,vga設(shè)定啟動(dòng)屏幕分辨率)

之前的部分可以寫為這種形式:

kernel (hdX,Y)/boot/vmlinuz root=/dev/sdMN

(hdX,Y) 通常不是必須的,如果您安裝了多個(gè)Linux系統(tǒng)腻菇,或者 /boot``目錄與根目錄 ``/ 不在一個(gè)分區(qū)胳螟,則應(yīng)把它寫為 /boot 目錄所在分區(qū)。而后面的 root=/dev/sdMN 為系統(tǒng)根目錄 / 所在的分區(qū)筹吐。

initrd 這一行的 (hdX,Y) 與上一行保持一致糖耸。

Grub安裝

上面已經(jīng)向您介紹了Grub的安裝,不過更多的側(cè)重理論∏鹧Γ現(xiàn)在我們來實(shí)踐一下嘉竟,假設(shè)您的系統(tǒng)不能引導(dǎo),您可以嘗試下面的方法:)

1.

1. 找一張Ubuntu的LiveCD (Knoppix也是不錯(cuò)的選擇)

2. 也可以使用安裝光盤洋侨,啟動(dòng)后在 boot 提示符后輸入 linux rescue 舍扰,回車進(jìn)入救援模式。

2. 如果您擁有root權(quán)限希坚,命令行提示符為 # 边苹,如果是普通用戶,則為 $ 裁僧。

1. 在救援模式下个束,通常你已經(jīng)具有了root權(quán)限

b. 如果是LiveCD且沒有root權(quán)限,請?jiān)诮K端中輸入 su

命令切換到root聊疲,會(huì)提問你root的密碼茬底。如果不知道root密碼,可以使用這個(gè)命令 sudo su

售睹,只要你知道自己的密碼桩警,并且你在ID在sudoer列表中就可以了。

3. 在終端中輸入 grub 昌妹,會(huì)進(jìn)入到Grub的提示符界面

a. 輸入命令 root (hd 后按 Tab 鍵捶枢,屏幕上就會(huì)列出所有可用選項(xiàng)。比如我的是這樣的:

Possible disks are: hd0 hd1

這表示我裝了兩塊硬盤飞崖,如果你只有一塊硬盤的話烂叔,那么一定是hd0。

在 root(hd 后輸入 0 ,按 Tab 固歪,會(huì)自動(dòng)補(bǔ)上一個(gè) , 蒜鸡,現(xiàn)在你輸入的內(nèi)容成為這樣:

root(hd0,

再按 Tab 鍵胯努,會(huì)列出所有可用選項(xiàng),我的是這樣的逢防。

Possible partitions are:

Partition num: 0, Filesystem type unknown, partition type 0x7

Partition num: 1, Filesystem type is fat, partition type 0xc

Partition num: 2, Filesystem type is reiserfs, partition type 0x83

Partition num: 4, Filesystem type is reiserfs, partition type 0x83

Partition num: 5, Filesystem type unknown, partition type 0x82

Partition num: 6, Filesystem type unknown, partition type 0x7

Partition num: 7, Filesystem type is fat, partition type 0xc

輸入你的選擇叶沛,比如為 1 , Tab 一次后忘朝,結(jié)果是這樣的:

root (hd1,1)

現(xiàn)在回車

2.

輸入命令

setup (hd0)

將grub安裝在mbr中

3. quit 命令退出GRUB

Grub使用

命令行

在Grub啟動(dòng)菜單中灰署,您可以選擇您要的選項(xiàng),按下 e 鍵局嘁,進(jìn)入到命令行模式

修改您的啟動(dòng)參數(shù)溉箕,完成后回車

按 b 鍵,Grub將以您修改后的參數(shù)引導(dǎo)系統(tǒng)悦昵。

其它

在Grub啟動(dòng)菜單中肴茄,按下 c 進(jìn)入命令行模式

按下 d 刪除當(dāng)前選中的項(xiàng)

FAQ

我的D盤到哪里去了?

在使用Linux最初的幾天里但指,我感到有些不安寡痰。

Windows下,我可以把系統(tǒng)裝在C盤棋凳,軟件放在D盤氓癌,音樂放在E盤……如果系統(tǒng)出現(xiàn)問題,我只要重裝系統(tǒng)就可以了贫橙,大部分軟件都可以直接使用(養(yǎng)成使

用綠色軟件是一種好習(xí)慣:),而我辛辛苦苦收集起來的電影和音樂反粥,我總是把它們放在一個(gè)安全的地方卢肃,以免引發(fā)失眠的嚴(yán)重后果剔应。

其實(shí)Linux下硬盤也具有分區(qū)的概念灯荧,這一點(diǎn)和Windows沒有什么不同(分區(qū)的概念是由硬盤的物理特性產(chǎn)生的尸诽,而不是操作系統(tǒng))夺克。不同的是奋构,Linux可以將分區(qū)掛載到任意的目錄下柠并,而不像Windows揽乱,您的分區(qū)只能夠在“我的電腦”里面:)

那么這么作有什么好處么隙疚?

我們來看看Linux和Windows下路徑的表示方法:

Windows C:\Documents and Settings\Users\Documents\MyDocument

Linux /home/User/MyDocument

您一定注意到了尾组,在Windows下面忙芒,路徑中含有盤符“C:”,它通常代表您硬盤上的第一個(gè)分區(qū)讳侨。也就是說呵萨,在使用這些文件時(shí),您需要知道它們在硬盤上

存儲(chǔ)的相關(guān)物理細(xì)節(jié)跨跨。而在Linux下潮峦,您不需要知道這些,或者說,只要您設(shè)定好了分區(qū)掛載的目錄忱嘹,您就不需要再去理會(huì)什么分區(qū)嘱腥。

Windows下的路徑包含有分區(qū)、目錄和文件三部分內(nèi)容;而Linux下的路徑則只有目錄和文件拘悦,不包含任何分區(qū)信息齿兔,它的硬件抽象度更高!

Linux下的目錄用“/”表示窄做,這不標(biāo)準(zhǔn)吧愧驱??

完全相反椭盏,這才是標(biāo)準(zhǔn)的體現(xiàn)组砚。您只是習(xí)慣了Windows的目錄符號(hào),但是那并不意味著它是標(biāo)準(zhǔn)的掏颊。

看看Winodws下糟红,各種位置、路徑的表示方法:

http://www.ubuntu.org.cn

ftp://192.168.0.1

c:\Windows\

file:///C:/Windows/

\127.0.0.1\$C

……………………………………………………………………

操作系統(tǒng)是一種非常精密的高科技產(chǎn)品乌叶,怎么可能如此混亂E璩ァ!准浴!他們是怎么作到的事扭??乐横?

Linux下的病毒少求橄,是因?yàn)長inux的使用者少,駭客顯然不愿意浪費(fèi)氣力去攻擊沒有人使用的操作系統(tǒng)葡公。

您可能已經(jīng)知道了罐农,互聯(lián)網(wǎng)上用作重要用途的服務(wù)器,其中很大一部分是Linux系統(tǒng)催什,另外的一部分是Unix系統(tǒng):)如果駭客能夠搞掉Linux系統(tǒng)的話涵亏,那么整個(gè)互聯(lián)網(wǎng)就會(huì)陷于癱瘓!效果似乎更好一些蒲凶。

當(dāng)然了气筋,您一定會(huì)想:駭客也是人,他們也喜歡上網(wǎng)旋圆,兔子還不吃窩邊草呢……兔子那么笨裆悄,連烏龜都跑不過……駭客們可比兔子要聰明的多了!

是的臂聋,我承認(rèn)這一點(diǎn)……不過他們也不一定非得把互聯(lián)網(wǎng)干掉光稼。很多駭客作夢都想入侵美國軍方的服務(wù)器或南,美軍服務(wù)器中的絕密數(shù)據(jù),只要1kb艾君,應(yīng)該就可以買一臺(tái)頂級的個(gè)人電腦了:)

如果可以的話采够,駭客為什么不去入侵美軍的服務(wù)器,而要入侵您的電腦呢冰垄?

這是一個(gè)很有意思的觀點(diǎn)蹬癌,與之相映成趣,另一種論調(diào)也使人側(cè)目:Windows服務(wù)器占到了服務(wù)器操作系統(tǒng)xx%的份額虹茶。

或許這個(gè)現(xiàn)象可以用80:20法則來解釋:)

占服務(wù)器總數(shù)80%的Windows提供了服務(wù)總量的20%逝薪!

請您務(wù)必注意,這只是舉一個(gè)例子蝴罪,Windows服務(wù)器可能永遠(yuǎn)也不會(huì)占到服務(wù)器總數(shù)的80%董济!它提供的服務(wù),以我個(gè)人的角度要门,我不認(rèn)為可以達(dá)到20%虏肾,而且永遠(yuǎn)不會(huì)有那一天。

軟件安裝繁瑣

或許您已經(jīng)看過一些關(guān)于Linux軟件安裝的文章欢搜,但是您也不要忽略封豪,此類文章的數(shù)量,是不能夠和同類Windows文章相比的炒瘟。

當(dāng)然吹埠,使用源碼包安裝軟件確實(shí)有點(diǎn)麻煩,但卻不一定比Windows下的某些軟件復(fù)雜疮装。特別要提到藻雌,Ubuntu的包管理系統(tǒng),為您提供了一種高效快捷的

軟件管理方式斩个,您只要知道您需要什么軟件就可以了,甚至不需要關(guān)心它存放在網(wǎng)絡(luò)上的哪一臺(tái)服務(wù)器中驯杜,而且絕大多數(shù)的軟件都可以使用這種方式來安裝受啥。

詳情請參閱 APT

如果您有如下需求,您也可以嘗試以源碼的形式安裝軟件:

您需要某些軟件的技術(shù)預(yù)覽版本

您想測試您的機(jī)器的運(yùn)算能力

您找不到一種比安裝軟件更好的方式來消磨時(shí)間 | (試圖通過編譯源碼安裝來大幅提高系統(tǒng)性能鸽心,其結(jié)果很可能會(huì)讓您失望)

源碼保密性不強(qiáng)滚局,存在安全隱患

既然Linux下軟件都開放源代碼,那么會(huì)不會(huì)造成一些安全隱患呢顽频?比如說一名駭客會(huì)發(fā)現(xiàn)其中的漏洞藤肢,并利用它?

事實(shí)剛好相反糯景,一個(gè)軟件嘁圈,即便它不開放源碼省骂,駭客一樣可以找到其中的漏洞,雷蒙德的軟件巨頭就是最好的佐證最住。就像一把鎖钞澳,無論如何堅(jiān)固,它總是能被撬開涨缚!它的作用無外乎“聊備一格轧粟,以防君子”:)

而這把鎖,防住的恰恰是能夠改進(jìn)它的工程師脓魏!工程師知道了它的漏洞兰吟,卻不能夠去改進(jìn)它;駭客知道了它的漏洞,卻可以利用它……這把鎖正是封閉源碼茂翔!

這豈不是不妙混蔼?

軟件功能不夠強(qiáng)

雖然您很愿意使用Linux系統(tǒng),但是它的軟件并不能使您滿意檩电,甚至使您多愁善感的心靈又蒙上了一層陰影拄丰,“長太息以掩涕……”

首先您別忘了,《泰坦尼克》的特效就是在Linux系統(tǒng)下完成的俐末,連業(yè)界巨頭SGI都在向Linux遷移(盡管SGI的IRIX本來就是一種Unix系統(tǒng))料按。如果您不知道SoftImage,那么Maya您總聽說過吧卓箫?它最初就是多平臺(tái)的载矿。

對于電影特效處理時(shí)需要的高吞吐量的數(shù)據(jù)(以TB計(jì))和運(yùn)算能力,Windows系統(tǒng)恐怕連崩潰的機(jī)會(huì)都沒有=_=#(最新統(tǒng)計(jì)資料顯示烹卒,Top500計(jì)算機(jī)中闷盔,使用Linux的占到73.4%,包括最快的前兩名旅急。其中Linux系統(tǒng)367部逢勾,Unix系統(tǒng)98部,混合操作系統(tǒng)24部藐吮,AppleMacOS系統(tǒng)5部,BSD系統(tǒng)4部溺拱,Windows系統(tǒng),2部)類似于大氣模擬谣辞、基因解碼等等真正的科學(xué)運(yùn)算……Windows……前幾天我還在verycd.com上看到一套歐洲某天文臺(tái)的天文學(xué)軟件迫摔,只有Linux版!

當(dāng)然了泥从,Linux下功能強(qiáng)大的軟件大多是命令行的句占,圖形界面的程序只能視覺上強(qiáng)大,外強(qiáng)中干躯嫉!建議您多使用man這個(gè)命令來查詢各類軟件的使用方法纱烘,它排版美觀杨拐,格式工整,語法簡明凹炸,意韻流暢戏阅,實(shí)在是學(xué)習(xí)英語難得的教材。

界面不友好

如果您指的是系統(tǒng)的美觀程度啤它。Gnome默認(rèn)效果我認(rèn)為與Windows處于同一水平線奕筐,而KDE的效果就要略好一點(diǎn),很多高手用FVWM可以作出讓人眼花瞭亂的效果來……而Novell的XGL变骡,更是可以用“驚艷”來形容离赫。

如果您指的是操作,這屬于“易于上手難于精通”與“難于上手易于精通”兩種理念的沖撞塌碌。

當(dāng)然了渊胸,我指的精通主要針對效率而言。如果您經(jīng)常玩Blizzard出品的游戲台妆,您對于“易于上手難于精通”這種理念或許相當(dāng)了解翎猛,甚至非常欣賞。

不過這一理念只適用于競技游戲接剩!競技游戲要球能夠吸引大量的玩家切厘,所以要易于上手。但是競技游戲是為競技而生的懊缺,所以不可能人人是高手 ────事實(shí)上高手只是一小部分人疫稿!

而操作系統(tǒng)是給人們來用的,最好人人都成為高手鹃两,所以易于精通是很重要的……當(dāng)然最好也能夠易于上手遗座。但是考慮到效率的問題,這很難解決……

Linux怎么占用這么多內(nèi)存俊扳?

Linux會(huì)最大程度的利用物理內(nèi)存途蒋,避免使用交換空間;而不是盡量的回收內(nèi)存,使用頁面文件馋记。

又因?yàn)長inux系統(tǒng)的內(nèi)存管理非常優(yōu)秀号坡,程序退出時(shí)可以高效的回收內(nèi)存,所以更加沒有必要在程序運(yùn)行時(shí)就回收內(nèi)存抗果!

因此,Linux系統(tǒng)表面看來內(nèi)存開銷很大奸晴,實(shí)際上系統(tǒng)運(yùn)行是很穩(wěn)定的──Linux不會(huì)時(shí)而流暢冤馏,時(shí)而癱瘓。事實(shí)上寄啼,在正常情況下逮光,它運(yùn)行是非常流暢的代箭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涕刚,隨后出現(xiàn)的幾起案子嗡综,更是在濱河造成了極大的恐慌,老刑警劉巖杜漠,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件极景,死亡現(xiàn)場離奇詭異,居然都是意外死亡驾茴,警方通過查閱死者的電腦和手機(jī)盼樟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锈至,“玉大人晨缴,你說我怎么就攤上這事∠考瘢” “怎么了击碗?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長们拙。 經(jīng)常有香客問我稍途,道長,這世上最難降的妖魔是什么睛竣? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任晰房,我火速辦了婚禮,結(jié)果婚禮上射沟,老公的妹妹穿的比我還像新娘殊者。我一直安慰自己,他們只是感情好验夯,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布猖吴。 她就那樣靜靜地躺著,像睡著了一般挥转。 火紅的嫁衣襯著肌膚如雪海蔽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天绑谣,我揣著相機(jī)與錄音党窜,去河邊找鬼。 笑死借宵,一個(gè)胖子當(dāng)著我的面吹牛幌衣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼豁护,長吁一口氣:“原來是場噩夢啊……” “哼哼凯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起楚里,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤断部,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后班缎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝴光,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年吝梅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虱疏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苏携,死狀恐怖做瞪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情右冻,我是刑警寧澤装蓬,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站纱扭,受9級特大地震影響牍帚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乳蛾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一暗赶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肃叶,春花似錦蹂随、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹦魔,卻和暖如春激率,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勿决。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工乒躺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爸吮,地道東北人争涌。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像疯搅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子健爬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評論 2 34
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)么介,斷路器娜遵,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • 1、第八章 Samba服務(wù)器2壤短、第八章 NFS服務(wù)器3设拟、第十章 Linux下DNS服務(wù)器配站點(diǎn),域名解析概念命令:...
    哈熝少主閱讀 3,709評論 0 10
  • 1.Linux下如何用命令查看實(shí)時(shí)日志(完整命令) tail -f 路徑.log查看前多少行 tai-200f 路...
    qianyewhy閱讀 2,251評論 0 11
  • 1 初一開學(xué),因?yàn)槲壹夷澄挥H戚和班主任認(rèn)識(shí)帘撰,因此班主任一開始就給我開小灶跑慕,開學(xué)第一天就讓我當(dāng)了一個(gè)臨時(shí)班長,其實(shí)作...
    胖喵講故事閱讀 885評論 2 4