初識Linux教程:Linux基礎(轉)

ba發表於2007-08-17
初識Linux教程:Linux基礎(轉)[@more@]  Shell

  可能您早已能夠熟練的使用GUI(圖形使用者介面),例如您可以使用滑鼠雙擊一個圖示,來開啟或者執行它。

  我們來看這個過程: 您使用滑鼠定位桌面上的一個程式圖示,按下左鍵兩次。系統讀取滑鼠指標的位置,並且判斷該位置下圖示的涵義,根據預設的雙擊動作,執行程式或者開啟檔案。

  這一套GUI系統,便是一種Shell,它的作用是實現人機互動。如果我們不能夠控制電腦,那麼電腦還不如電視機好玩,不是麼?電視機也可以選擇頻道(電視機的遙控器,也是一種人機互動的介面,不過相對於電腦,確實是相當簡單了:)

  易於上手、介面直觀是GUI的優點,但是GUI為不意味著簡單!或許您有類似經歷: 桌面上有幾十個程式的啟動圖示,也知道它們的名字,但是翻出一個來,並不是一件輕鬆的事情。

  我的Windows系統中,桌面上擺滿了各種圖示,每當啟動一個程式的時候,我都很是困擾。後來嘗試了 音速啟動 這類的程式啟動管理器,效果還是差強人意。

  在我的不懈努力下,這個難道最終得到了解決: 將快捷方式名稱簡化,放到特定目錄下,使用 Win+R 組合鍵撥出 執行 對話方塊,鍵入快捷方式的名稱來執行該程式。比如 反恐精英 的快捷方式為 cs ,我把它放在 Windows 目錄下; 執行 cs 命令,就可以去維護世界和平了。

  這麼多快捷方式,統統放到 Windows 目錄下,非常混亂。因此,我在D盤建立了一個名為 path 的目錄,並把它的路徑加入到環境變數的 path 項中,快捷方式放在 D:path 目錄中。即便重灌系統,只要在環境變數中重新加入此路徑,原來的程式大多可以直接以命令來執行……我的許多朋友強烈要示我幫他們設定這種啟動方式,因為這確實很方便:)

  其實在Linux下,所有的程式都可以透過命令執行。雖然Linux也有GUI,但是它並不比Windows的GUI更優秀!上面只是簡單的介紹了CLI(命令列介面)相對GUI的優越之處,使用CLI還有更多的好處,您會慢慢體會到的。

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


  命令

  坦白的說,冷不丁見到那麼老長的一串命令,誰都會毛骨悚然。

  也許您使用過DOS,留下這種印象:命令先放一邊,光是正確的輸入目錄、檔名都夠瞧的。而且DOS不區分大小寫,要是像Linux一樣區分大小寫,那多恐怖啊!!!

  其實Linux命令列具有補全功能,非常實用。假設有這樣一個命令:

  command path/file如果只有一個以 c 起始的命令,鍵入 c ,再按一次 tab 鍵,系統將自動補全該命令餘下的部分。 只要 c tab 兩次按鍵,就可以完成 command 的輸入。

  如果不只一個 c 起始的命令,那麼您可以按兩次 tab 鍵,系統會列出所有符合條件的選項,也就是以 c 起始的所有命令。進一步輸入 o ,如果只有一個以 co 起始的命令(一直輸入,直到項符合條件的選項唯一),再按一次 tab ,命令就被補全完整。

  路徑和檔名也可以透過 tab 鍵來補全。還有一種 遍歷補全 的方式,如果您的檔名是中文,而您不想切換輸入法;甚至您的檔名中出現亂碼,無法輸入,這時 遍歷補全 就可以大顯身手了。這部分內容我們稍後再談:)

  現在我們來了解命令的語法結構,這一部分相當重要,您可得看仔細。

  我們知道,任何語言都有特定的語法結構,以我們的中文為例:

  我們鄭重地推薦您Ubuntu/Linux!這個句子的語法儘管簡單,卻是大部分的命令列採用的句型。讓我們看一下,這個句子裡都有些什麼:

  我們主語,Linux命令的執行者只有一個,所以主語一概省略。

  推薦一個動詞,作為謂語而存在。Linux命令中,這一部分是必須的。這一部分也是不同命令之間最根本的區別方式,所以它通常作為命令名,寫在最前面。鍵入 date 命令,您可以檢視當前的時間日期。( 應用程式->附件->終端 )

  鄭重的狀語,用來修飾謂語。與之相對應,Linux命令可以使用引數來精細調節程式的行為。為了與命令的操作物件相區別,引數前通常要加 - 或者 -- 符號。原則上,在命令名之後,引數的位置可以隨意,但是為了養成一個良好的習慣,我們建議您在命令名後直接跟引數。

  您 Ubuntu/linux這兩個部分都是賓語,它們是命令的操作物件。大部分的命令只有一個操作物件,也有一些命令是雙賓語結構的,具有一個直接賓語和一個間接賓語。比如 複製 這個命令 cp (copy)分隔符我們的漢語是象形文字,沒有分隔符。但是所有的拼音文字中都有分隔符,來分隔單詞。Linux命令中同樣使用空格作分隔符。

  cp a /home 表示把當前目錄下的 a 檔案,複製到 /home 目錄下。(命令的不同部分使用空格分隔,連續的空格視為一個空格)

  上面的那句話,翻譯成Linux的命令,應該是這個樣子的:

  推薦 --鄭重的 您 Ubuntu/Linux (按照傳統,“-”後跟簡寫為單個字母的引數,“--”後跟完整單詞的引數。不過也有例外:)哈,Linux的命令也蠻簡單吧?


  Linux程式、程式

  或許您會這樣想,Linux命令的句型確實不難,但是那麼多命令,我怎麼知道它們都是作什麼的呢?而且不同的系統中,可以使用的命令似乎也不太一樣,這真讓人困惑……

  其實Linux的命令,執行的是Linux系統中的程式。只要您已安裝了程式,您就可以透過命令來執行它,並且可以使用引數來精細的調整它的執行狀態。也可以透過點選啟動圖示來執行,不過啟動圖示不能夠方便的調整引數,並不是很方便。

  舉一個例子:

  mplayer -shuffle -loop 3 -playlist mymp3.list可能您執行上面命令,系統會提示您 無法找到命令 ,那是因為您沒有安裝mplayer這個程式。mplayer是我見過的支援格式最多的播放器,幾乎任何已知格式的多媒體檔案,都可以使用mplayer來播放。它包含一個圖形介面的前端,您可以在選單中找到它,滑鼠點選執行;也可以透過執行命令來執行它的命令列版本。

  如果您的系統中沒有mplayer播放器,我們建議您安裝一個。

  上面命令中, mplayer 呼叫了mplayer播放器程式。引數 -shuffle 表示隨機播放, -loop 表示迴圈播放,後面的 3 為迴圈的次數,如果為 0 ,則一直播放。 -playlist 表示播放列表中的曲目。我們可以把mp3的路徑放到 mymp3.list 檔案中,讓mplayer來播放它們。

  程式 為執行中的程式,是程式在記憶體中的映象。

  好了,現在您已經瞭解了 Shell 、 命令 、 程式 、 程式 的概念,您基本上也就瞭解了Linux(Linux系統真是非常簡潔,而且容易理解。

  但只知道這些,您並不能順暢使用。接下來的章節中,我們來進一步介紹它的細節。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-962863/,如需轉載,請註明出處,否則將追究法律責任。

相關文章