初識Linux教程:Linux基礎(轉)
初識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系統真是非常簡潔,而且容易理解。
但只知道這些,您並不能順暢使用。接下來的章節中,我們來進一步介紹它的細節。
可能您早已能夠熟練的使用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux基礎入門(一)初識ShellLinux
- Linux基礎常識Linux
- linux基礎知識Linux
- Linux基礎知識(Ubuntu)LinuxUbuntu
- linux基礎知識大綱Linux
- linux 基礎知識彙總Linux
- 0基礎能學習Linux運維嗎?Linux初學Linux運維
- Linux命令常見面試題!Linux基礎教程Linux面試題
- 系列教程--Linux基礎--05--Linux 檔案管理Linux
- Linux 基礎教程 44-history命令Linux
- linux基礎知識整理(備忘)Linux
- Linux shell基礎知識_8(下)Linux
- Linux基本知識與基礎命令Linux
- Python基礎初識Python
- Linux和Unix的區別是什麼?Linux基礎教程Linux
- CSS 基礎知識 初識CSS
- Linux 基礎教程 30-tcpdump命令-2LinuxTCP
- linux 基礎(6)簡單認識 bashLinux
- 【Linux基礎】Linux目錄Linux
- linux基礎Linux
- Linux基礎命令—文字格式轉換fmtLinux
- Linux基礎命令---文字格式轉換fmtLinux
- Linux基礎命令—格式轉換expand、unexpandLinux
- Linux哪個發行版本適合初學者?Linux基礎入門!Linux
- 怎樣安裝Linux系統?Linux基礎教程之小白入門Linux系統安裝教程Linux
- Linux運維就業前景如何?linux基礎知識學習Linux運維就業
- Linux有哪些特性值得喜愛?linux基礎知識學習Linux
- jsp基礎-初識jspJS
- 初識Java Java基礎知識Java
- Linux 基礎教程 38-檔案下載Linux
- Linux 基礎教程 40-df和du命令Linux
- Linux 基礎教程 27-ss和ip命令Linux
- 程式猿必備的Linux基礎知識Linux
- Linux磁碟管理基礎知識全彙總Linux
- 超全面的Linux基礎知識的梳理Linux
- Linux日誌服務初識Linux
- 初識Linux目錄結構Linux
- Linux基礎命令---文字格式轉換expand、unexpandLinux
- 【Linux基礎知識】Linux目錄管理相關命令有什麼Linux