做爲開篇,咱們對命令行接口和linux命令作一下簡介。以後的幾篇咱們會進入到linux經常使用基礎命令的講解中。let's begin!linux
注:在本文和以後的文章中,如無特殊說明,所說的shell均指bash,準確的說是GNU bash,版本:4.2.46(1)-release。實驗所用的linux操做系統爲centos7.1,內核版本爲3.10.0-327.el7.x86_64
人們所使用的計算機是由許多看得見摸得着的硬件和運行於其上的軟件所組成的,但使用者並不能直接操做硬件,只能經過操做系統這個計算機中最重要的軟件來和計算機交互。當前各類操做系統實現的人機交互接口中,最重要的兩種爲:CLI
和GUI
。
GUI或者說graphical user interface(圖形用戶接口),容許用戶使用鼠標和鍵盤操縱屏幕上的各類視覺元素來完成和計算機的交互。
CLI或者說command-line interface(命令行接口),是一種經過在終端窗口中鍵入文本命令來實現與計算機交互的接口。shell
許多設備(如計算機,路由器,交換機等)的操做系統中均包含命令行接口,命令行容許用戶爲命令指定特定的參數來更精確的控制計算機的執行。一些重複的任務能夠寫成腳原本執行,這樣能夠更高效和更少出錯。經過命令行執行任務在一些狀況下要比使用圖形用戶接口更快一些,但同時也須要使用者記住大量的命令。所以,命令行接口一般被更專業的用戶來使用。centos
在類unix操做系統中的命令行接口稱爲shell,在linux的各類shell實現中,使用最爲普遍的是bash。bash
一個終端窗口中的命令行接口看起來多是這個樣子的:
學習
下面讓咱們來看看如何使用一個命令行接口:
如上圖所示,窗口左上方顯示的字符串是命令提示符(prompt)
,緊隨其後的是不停閃爍的光標,意味着用戶能夠在此處鍵入命令了。用戶每鍵入一個字符,光標即向右移動一格。當一條命令鍵入完成後,一般經過按下enter鍵來通知shell去解釋和執行。
shell中,一條簡單命令(simple command
)包含命令名稱(command name
),可選數目的選項(option
)或參數(argument
)和重定向(redirection
)。它們之間一般由空格鍵產生的空白字符所分隔:centos7
command [option|argument]... [redirection]... #在描述一個命令的使用方法時,如無特殊說明 處於[]內的表明可選,...表明多個,|表明或者。
以下圖實例:
spa
圖中在命令行鍵入了ls -l test.txt
並按下回車鍵,終端顯示命令執行的結果,隨後繼續出現命令提示符,等待用戶的再次輸入。其中ls
表明這條命令的命令名稱,-l test.txt
是命令ls的兩個參數,這條命令中並無出現重定向。(注:關於重定向和執行結果的意義,後面會有相關文章具體解釋。此處略過。)
一個linux系統中包含大量的命令,一般每一個命令又包含許多選項或參數。要在一篇或幾篇博文內去講解清楚每一個命令的用法是不現實的。好在linux系統中有這些命令的手冊(manual
)。用戶隨時能夠查閱。操作系統
方法爲執行以下命令:命令行
man cmd_name #用於查看cmd_name的手冊。 info cmd_name #用於查看cmd_name的描述信息。 cmd_name --help 或 cmd_name -h #在終端中打印出cmd_name的幫助信息。
除此以外還有許多其餘方式來學習命令的用法,但一般知道這三個就足夠了。其中man
命令顯示的手冊很是詳細,也是在linux命令查詢中使用最爲頻繁的一個。這裏簡單介紹一下man
的使用方法,man
加命令名並執行後會在終端打開手冊,以文本的方式顯示。unix
能夠執行的操做有:
q鍵退出此手冊 向下箭頭和enter鍵顯示下一行內容 空格鍵顯示下一頁內容 鍵入字符串/pattern並回車表明從當前頁開始向下搜索關鍵詞pattern n鍵爲重複前一個搜索
man
的用法還有不少,這裏只列出經常使用的幾個。關於它的更多用法咱們如今能夠執行命令man man
(打開man命令的手冊)來查看了。熟練掌握bash和各類基礎命令的用法,是一個linux系統管理員必不可少的技能。並且透過命令行接口,還能讓其餘計算機軟硬件從業人員或愛好者瞭解操做系統的工做原理。接下來,讓咱們進入到具體命令的學習當中。