Linux入門 Part1: 使用控制檯(3)-shell,command & parameter(s)

說到命令,就不能不提shell。出於安全性的考慮,操作系統本身是無法與用戶溝通的。試想如果讓操作系統直接暴露在用戶面前,用戶稍一操作不當就會造成系統崩潰。因此,用戶必須通過圖形界面或者命令行界面與計算機進行交互,圖形界面中我們可以通過點鼠標來執行操作,那命令行中怎麼辦呢?這時候就需要一種軟件能夠調用其他軟件,我們就稱之爲shell, 其本意是外殼的意思,這裏就是指包在操作系統外的一層殼用以保護和使用系統。廣義的shell包括圖形界面的軟件,因爲圖形界面的本質也是通過操縱其他軟件來使用系統。


下面我們將要提到的命令,都是獨立的應用程序,我們只是通過shell來調用他們,就像通過鼠標點擊打開瀏覽器一樣。


shell的種類很多,bash(linux默認的shell), ksh, tcsh, csh, zsh等等,單基本概念都是一樣的(就像linux的各個發行版)


執行命令的方式很簡單,一個命令由兩部分組成:命令名稱(command)和參數(parameter)。


簡單情況下,我們只打命令名稱(一般簡稱爲命令)就可以得到結果,就像上一章最後的date 命令。但絕大多數情況下我們需要輸入參數來得到想要的結果。


ls 命令爲例。ls 是 list 的縮寫,用來顯示當前目錄下的文件和文件夾。如果只打ls, 結果如圖:


wKiom1NEXf-gip78AAFo037NPpk129.jpg

在ubuntu中,藍色代表文件夾,而白色代表文件。更多有關ls配色方案的信息可以自行google。如果當前文件夾下什麼都沒有,那沒有任何結果會輸出。

在之後的例子中我們會對其進行擴展,爲其加上參數。

參數(parameter)

數是跟在命令名稱之後的選項,參數與命令之間用空格分開如下圖所示,注意不論空幾格,shell都視爲一格


parallels@ubuntu:~$commande parameters

參數的內容並沒有強制的規定格式,它可以是數字,字母,空格。。。幸運的是,程序員們在開發時約定俗城了一套默認規則,以方便shell的使用(否則,想想瀏覽器大戰給web前端程序員帶來的麻煩)。


短參數 (short parameters)

短參數是最常見的,它由連字符加一個字母組成:


commande -d

如果需要同時給出多個參數,可以這樣做:


commande -d -a -U -h

或者,更方便也更常用的做法是:


commande -daUh

注:再次強調Linux系統是對大小寫敏感的,也就是說這裏大寫的U與小寫的u代表的是2個參數。


ls 爲例,如果我們爲其加上參數 a (小寫):


wKioL1NEYQuxReDyAALqEyqaDxc572.jpg

我們發現與只打 ls 相比,多了很多文件。這是因爲 a 是 all 的縮寫,這個參數是 ls 能夠顯示當前目錄下得所有文件。那些以 . 開頭是linux中的隱藏文件。通常你會在你的home目錄下(也就是~)發現許多隱藏文件,這些一般來說都是程序配置文件。


長參數 (long parameters)

長參數由兩個連字符加一個單詞組成:


commande --parameters

這一次不同與短參數,如果想同時給出多個參數,只有一個種選擇:以空格分開


commande --parameter1 --parameter2

我們可以同時使用短參數和長參數:


commande -daUh --anotherparameter

有時一個參數可以寫成短參數,也可以寫成長參數。這取決於命令,關於如何獲取命令的參數信息,在後面關於manual的章節中會講到。


再以 ls 爲例,輸入 ls --all(注意兩個連字符!), 結果如圖所示:


wKiom1NEZ56SBSwrAANOe33rOGU693.jpg

ls -all 的執行結果和 ls -a一模一樣,這說明對於 ls 這個命令,全部顯示這個參數可以寫成 -a 或者 -all。


參數的值  (values of parameters)

有些參數需要被賦值, 對於短參數和長參數,賦值的寫法不同。


對於短參數:


commande -p 14

這裏我們把14這個值賦給了參數p


對於長參數:

commande --parameter=14


其他格式的參數

正如我們開頭所說,參數的格式沒有強制規定。雖然有默認的約定,但林子大了什麼鳥都有。比如對於 ls,我們可以把文件或文件夾名作爲 ls 的參數,用來顯示該文件/文件夾目錄下的內容,以隱藏文件夾 .config爲例:


wKiom1NEbE-Aw88XAAHY4q0mh8g586.jpg

結果顯示了~/.config目錄下的文件與文件夾。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章