startx
如果你是以純文字環境啟動Linux的,預設的tty7是沒有東西的!萬一如此的話,那要怎麼啟動X視窗畫面呢? 你可以在tty1~tty6的任意一個終端介面使用你的帳號登入後(登入的方法下一小節會介紹), 然後下達如下的指令即可:
[vbird@www ~]$ startx |
不過startx這個指令並非萬靈丹,你要讓startx生效至少需要底下這幾件事情的配合:
剛剛我們談到的Linux啟動時可以選擇純文字或者是視窗環境,也談到了執行等級(run level)這東西! Linux預設提供了七個Run level給我們使用,其中最常用到的就是run level 3與run level 5這兩者了。 如果你想要讓Linux在下次開機時使用純文字環境(run level 3)來登入, 只要修訂一下/etc/inittab這個檔案的內容 ,就能夠在下次重新開機時生效了! 因為我們尚未提到vi 以及開機過程的詳細資訊 , 所以啊,這部分得到系統管理員篇幅的時候再說明!別擔心,再仔細的看下去吧!
date
1. 顯示日期的指令: date
如果在文字介面中想要知道目前Linux系統的時間,那麼就直接在指令列模式輸入date即可顯示:
[vbird@www ~]$ date |
上面顯示的是:星期一, 八月十七日, 17:02 分, 52秒,在 2009 年的 CST 時區!台灣在CST時區中啦! 請趕快動手做做看呦!好了,那麼如果我想要讓這個程式顯示出『2009/08/17』這樣的日期顯示方式呢? 那麼就使用date的格式化輸出功能吧!
[vbird@www ~]$ date +%Y/%m/%d
2009/08/17
[vbird@www ~]$ date +%H:%M
17:04
cal
2. 顯示日曆的指令: cal
那如果我想要列出目前這個月份的月曆呢?呵呵!直接給他下達cal即可!
[vbird@www ~]$ cal |
除了本月的日曆之外,連同今日所在處都會有反白的顯示呢!真有趣!cal (calendar)這個指令可以做的事情還很多,例如你可以顯示整年的月曆情況:
[vbird@www ~]$ cal 2009 |
基本上cal這個指令可以接的語法為:
[vbird@www ~]$ cal [month] [year] |
所以,如果我想要知道2009年10月的月曆,可以直接下達:
[vbird@www ~]$ cal 10 2009 |
那請問今年有沒有13月啊?來測試一下這個指令的正確性吧!下達下列指令看看:
[vbird@www ~]$ cal 13 2009 |
cal竟然會告訴我們『錯誤的月份,請使用1-12』這樣的資訊呢!所以, 未來你可以很輕易的就以cal來取得日曆上面的日期囉!簡直就是萬年曆啦! ^_^。 另外,由這個cal指令的練習我們也可以知道,某些指令有特殊的參數存在, 若輸入錯誤的參數,則該指令會有錯誤訊息的提示,透過這個提示我們可以藉以瞭解指令下達錯誤之處。 這個練習的結果請牢記在心中喔!
bc
3. 簡單好用的計算機: bc
如果在文字模式當中,突然想要作一些簡單的加減乘除,偏偏手邊又沒有計算機!這個時候要筆算嗎? 不需要啦!我們的Linux有提供一支計算程式,那就是bc喔。你在指令列輸入bc後,螢幕會顯示出版本資訊, 之後就進入到等待指示的階段。如下所示:
[vbird@www ~]$ bc |
事實上,我們是『進入到bc這個軟體的工作環境當中 』了! 就好像我們在Windows裡面使用『小算盤』一樣!所以,我們底下嘗試輸入的資料, 都是在bc程式當中在進行運算的動作。所以囉,你輸入的資料當然就得要符合bc的要求才行 ! 在基本的bc計算機操作之前,先告知幾個使用的運算子好了:
好!讓我們來使用bc計算一些咚咚吧!
[vbird@www ~]$ bc |
在上表當中,粗體字表示輸入的資料,而在每個粗體字的底下就是輸出的結果。 咦!每個計算都還算正確,怎麼10/100會變成0呢?這是因為bc預設僅輸出整數,如果要輸出小數點下位數,那麼就必須要執行 scale=number ,那個number就是小數點位數 ,例如:
[vbird@www ~]$ bc |
注意啊!要離開bc回到命令提示字元時,務必要輸入『quit』來離開bc的軟體環境喔! 好了!就是這樣子啦!簡單的很吧!以後你可以輕輕鬆鬆的進行加減乘除啦!
man
/usr/share/man
man page
嗄?不知道怎麼使用date這個指令?嘿嘿!不要擔心,我們Linux上面的線上求助系統已經都幫你想好要怎麼辦了, 所以你只要使用簡單的方法去尋找一下說明的內容,馬上就清清楚楚的知道該指令的用法了!怎麼看呢?就是找男人(man) 呀!喔!不是啦!這個man是manual(操作說明)的簡寫啦 !只要下達:『man date』 馬上就會有清楚的說明出現在你面前喔!如下所示:
[vbird@www ~]$ LANG="en" |
看(鳥哥沒罵人!)馬上就知道一大堆的用法了!如此一來,不就可以知道date的相關選項與參數了嗎?真方便! 而出現的這個螢幕畫面,我們稱呼他為man page , 你可以在裡頭查詢他的用法與相關的參數說明。如果仔細一點來看這個man page的話,你會發現幾個有趣的東西。
首先,在上個表格的第一行,你可以看到的是:『DATE(1)』,DATE我們知道是指令的名稱, 那麼(1)代表什麼呢?他代表的是『一般使用者可使用的指令』的意思!咦!還有這個用意啊!呵呵! 沒錯~在查詢資料的後面的數字是有意義的喔!他可以幫助我們瞭解或者是直接查詢相關的資料。 常見的幾個數字的意義是這樣的:
代號 | 代表內容 |
1 | 使用者在shell環境中可以操作的指令或可執行檔 |
2 | 系統核心可呼叫的函數與工具等 |
3 | 一些常用的函數(function)與函式庫(library),大部分為C的函式庫(libc) |
4 | 裝置檔案的說明,通常在/dev下的檔案 |
5 | 設定檔或者是某些檔案的格式 |
6 | 遊戲(games) |
7 | 慣例與協定等,例如Linux檔案系統、網路協定、ASCII code等等的說明 |
8 | 系統管理員可用的管理指令 |
9 | 跟kernel有關的文件 |
上述的表格內容可以使用『man 7 man』來更詳細的取得說明。透過這張表格的說明, 未來你如果使用man page在察看某些資料時,就會知道該指令/檔案所代表的基本意義是什麼了。 舉例來說,如果你下達了『man null』時,會出現的第一行是:『NULL(4)』,對照一下上面的數字意義, 嘿嘿!原來null這個玩意兒竟然是一個『裝置檔案』呢!很容易瞭解了吧!
再來,man page的內容也分成好幾個部分來加以介紹該指令呢!就是上頭man date那個表格內, 以NAME作為開始介紹,最後還有個SEE ALSO來作為結束。基本上,man page大致分成底下這幾個部分:
代號 | 內容說明 |
NAME | 簡短的指令、資料名稱說明 |
SYNOPSIS | 簡短的指令下達語法(syntax)簡介 |
DESCRIPTION | 較為完整的說明,這部分最好仔細看看! |
OPTIONS | 針對 SYNOPSIS 部分中,有列舉的所有可用的選項說明 |
COMMANDS | 當這個程式(軟體)在執行的時候,可以在此程式(軟體)中下達的指令 |
FILES | 這個程式或資料所使用或參考或連結到的某些檔案 |
SEE ALSO | 可以參考的,跟這個指令或資料有相關的其他說明! |
EXAMPLE | 一些可以參考的範例 |
BUGS | 是否有相關的臭蟲! |
有時候除了這些外,還可能會看到Authors與Copyright等,不過也有很多時候僅有NAME與DESCRIPTION等部分。 通常鳥哥在查詢某個資料時是這樣來查閱的:
大致上瞭解了man page的內容後,那麼在man page當中我還可以利用哪些按鍵來幫忙查閱呢?首先, 如果要向下翻頁的話,可以按下鍵盤的空白鍵,也可以使用[Page Up]與[Page Down]來翻頁呢!同時,如果你知道某些關鍵字的話, 那麼可以在任何時候輸入『/word』,來主動搜尋關鍵字!例如在上面的搜尋當中,我輸入了『/date』會變成怎樣?
DATE(1) User Commands DATE(1) |
看到了嗎,當你按下『/』之後,游標就會移動到螢幕的最下面一行, 並等待你輸入搜尋的字串 了。此時,輸入date後,man page就會開始搜尋跟date有關的字串, 並且移動到該區域呢!很方便吧!最後,如果要離開man page時,直接按下『 q 』就能夠離開了。 我們將一些在man page常用的按鍵給他整理整理:
按鍵 | 進行工作 |
空白鍵 | 向下翻一頁 |
[Page Down] | 向下翻一頁 |
[Page Up] | 向上翻一頁 |
[Home] | 去到第一頁 |
[End] | 去到最後一頁 |
/string | 向『下』搜尋 string 這個字串,如果要搜尋 vbird 的話,就輸入 /vbird |
?string | 向『上』搜尋 string 這個字串 |
n, N | 利用 / 或 ? 來搜尋字串時,可以用 n 來繼續下一個搜尋 (不論是 / 或 ?) ,可以利用 N 來進行『反向』搜尋。舉例來說,我以 /vbird 搜尋 vbird 字串, 那麼可以 n 繼續往下查詢,用 N 往上查詢。若以 ?vbird 向上查詢 vbird 字串, 那我可以用 n 繼續『向上』查詢,用 N 反向查詢。 |
q | 結束這次的 man page |
要注意喔!上面的按鍵是在man page的畫面當中才能使用的! 比較有趣的是那個搜尋啦!我們可以往下或者是往上搜尋某個字串,例如要在man page內搜尋vbird這個字串, 可以輸入 /vbird 或者是 ?vbird ,只不過一個是往下而一個是往上來搜尋的。而要 重複搜尋 某個字串時,可以使用 n 或者是 N 來動作即可呢! 很方便吧!^_^
既然有man page,自然就是因為有一些文件資料,所以才能夠以man page讀出來囉!那麼這些man page的資料 放在哪裡呢?不同的distribution通常可能有點差異性,不過,通常是放在/usr/share/man 這個目錄裡頭,然而,我們可以透過修改他的man page搜尋路徑來改善這個目錄的問題!修改/etc/man.config (有的版本為man.conf或manpath.conf) 即可囉!至於更多的關於man的訊息你可以使用『 man man 』來查詢呦!關於更詳細的設定,我們會在第十一章 bash 當中繼續的說明喔!
在某些情況下,你可能知道要使用某些特定的指令或者是修改某些特定的設定檔,但是偏偏忘記了該指令的完整名稱。 有些時候則是你只記得該指令的部分關鍵字。這個時候你要如何查出來你所想要知道的man page呢? 我們以底下的幾個例子來說明man這個指令有用的地方喔!
例題:
你可否查出來,系統中還有哪些跟『man』這個指令有關的說明文件呢?
答:
你可以使用底下的指令來查詢一下:
|
除此之外,我們還可以利用『關鍵字』找到更多的說明文件資料喔!什麼是關鍵字呢? 從上面的『man -f man』輸出的結果中,我們知道其實輸出的資料是:
當使用『man -f 指令』時,man只會找資料中的左邊那個指令(或檔案)的完整名稱,有一點不同都不行! 但如果我想要找的是『關鍵字』呢?也就是說,我想要同時找上面說的兩個地方的內容,只要該內容有關鍵字存在, 不需要完全相同的指令(或檔案)就能夠找到時,該怎麼辦?請看下個範例囉!
例題:
找出系統的說明檔中,只要有man這個關鍵字就將該說明列出來。
答:
|
事實上,還有兩個指令與man page有關呢!而這兩個指令是man的簡略寫法說~就是這兩個:
[vbird@www ~]$ whatis [指令或者是資料] <==相當於 man -f [指令或者是資料] |
而要注意的是,這兩個特殊指令要能使用,必須要有建立 whatis 資料庫才行!這個資料庫的建立需要以 root 的身份下達如下的指令:
[root@www ~]# makewhatis |
info
/usr/share/info
在所有的Unix Like系統當中,都可以利用 man 來查詢指令或者是相關檔案的用法; 但是,在Linux裡面則又額外提供了一種線上求助的方法,那就是利用info這個好用的傢伙啦!
基本上,info與man的用途其實差不多,都是用來查詢指令的用法或者是檔案的格式。但是與man page一口氣輸出一堆資訊不同的是,info page則是將文件資料拆成一個一個的段落,每個段落用自己的頁面來撰寫, 並且在各個頁面中還有類似網頁的『超連結』來跳到各不同的頁面中,每個獨立的頁面也被稱為一個節點(node) 。 所以,你可以將info page想成是文字模式的網頁顯示資料啦!
不過你要查詢的目標資料的說明文件必須要以info的格式來寫成才能夠使用info的特殊功能(例如超連結)。 而這個支援info指令的文件預設是放置在/usr/share/info/ 這個目錄當中的。 舉例來說,info這個指令的說明文件有寫成info格式,所以,你使用『 info info 』可以得到如下的畫面:
[vbird@www ~]$ info info |
仔細的看到上面這個顯示的結果,裡面的第一行顯示了很多的資訊喔!第一行裡面的資料意義為:
從第一行你可以知道這個節點的內容、來源與相關連結的資訊。更有用的資訊是,你可以透過直接按下N, P, U來去到下一個、上一個與上一層的節點(node) !非常的方便! 第一行之後就是針對這個節點的說明。在上表的範例中,第二行以後的說明就是針對info.info內的Top這個節點所做的。
再來,你也會看到有『Menu』那個咚咚吧!底下共分為四小節,分別是Getting Started等等的,我們可以使用上下左右按鍵來將游標移動到該文字或者『 * 』上面,按下Enter , 就可以前往該小節了!另外,也可以按下[Tab]按鍵,就可以快速的將游標在上表的畫面中的node間移動 , 真的是非常的方便好用。如果將info.info內的各個節點串在一起並繪製成圖表的話,情況有點像底下這樣:
如同上圖所示,info的說明文件將內容分成多個node,並且每個node都有定位與連結。 在各連結之間還可以具有類似『超連結』的快速按鈕,可以透過[tab]鍵在各個超連結間移動。 也可以使用U,P,N來在各個階層與相關連結中顯示!非常的不錯用啦! 至於在info page當中可以使用的按鍵,可以整理成這樣:
按鍵 | 進行工作 |
空白鍵 | 向下翻一頁 |
[Page Down] | 向下翻一頁 |
[Page Up] | 向上翻一頁 |
[tab] | 在 node 之間移動,有 node 的地方,通常會以 * 顯示。 |
[Enter] | 當游標在 node 上面時,按下 Enter 可以進入該 node 。 |
b | 移動游標到該 info 畫面當中的第一個 node 處 |
e | 移動游標到該 info 畫面當中的最後一個 node 處 |
n | 前往下一個 node 處 |
p | 前往上一個 node 處 |
u | 向上移動一層 |
s(/) | 在 info page 當中進行搜尋 |
h | 顯示求助選單 |
? | 指令一覽表 |
q | 結束這次的 info page |
info page是只有Linux上面才有的產物,而且易讀性增強很多~不過查詢的指令說明要具有info page功能的話,得用info page的格式來寫成線上求助文件才行!我們CentOS 5將info page的文件放置到/usr/share/info/ 目錄中!至於非以info page格式寫成的說明文件(就是man page),雖然也能夠使用info來顯示,不過其結果就會跟man相同。 舉例來說,你可以下達『info man』就知道結果了! ^_^
/usr/share/doc
其他有用的文件(documents)
剛剛前面說,一般而言,指令或者軟體製作者,都會將自己的指令或者是軟體的說明製作成『線上說明文件』! 但是,畢竟不是每個咚咚都需要做成線上說明文件的,還有相當多的說明需要額外的文件!此時,這個所謂的 How-To(如何做的意思)就很重要啦!還有,某些軟體不只告訴你『如何做』, 還會有一些相關的原理會說明呢。
那麼這些說明文件要擺在哪裡呢?哈哈!就是擺在/usr/share/doc 這個目錄啦!所以說,你只要到這個目錄底下, 就會發現好多好多的說明文件檔啦!還不需要到網路上面找資料呢!厲害吧!^_^ 舉例來說,你想要知道這一版的CentOS相關的各項資訊,可以直接到底下的目錄去瞧瞧:
那如果想要知道本章講過多次的bash 是什麼,則可以到/usr/share/doc/bash-3.2/ 這個目錄中去瀏覽一番!很多東西呦!而且/usr/share/doc這個目錄下的資料主要是以套件(packages)為主的, 例如GCC這個套件的相關資訊在/usr/share/doc/gcc-xxx(那個xxx表示版本的意思!)。 未來可得多多查閱這個目錄喔! ^_^
總結上面的三個咚咚(man, info, /usr/share/doc/),請記住喔: