當你成功登陸一個shell終端的文字界面之後,大部分的情形下, 你會在屏幕上看到一個不斷閃爍的方塊或者底線(視不同的版本而別), 我們稱之為遊標
(cursor
). cursor
作用就是告訴你接下來你從鍵盤輸入的按鍵所插入的位置, 且每輸入一個鍵,cursor
便向右移動一個格子, 如果連續輸入太多的話,則自動接在下一行輸入。
假如你剛完成登陸,還沒有輸入任何按鍵之前, 你所看到的cursor
所在的位置的同一行的左邊部分,我們稱之為提示符
(prompt
)。
提示符
的格式或因不同的版本而各有不同, 在Linux上,只需留意最接近遊標
的一個提示符號,通常是如下兩者之一:
事實上,shell prompt的意思很簡單: 告訴shell使用者,您現在可以輸入命令行了。
我們可以說,使用者只有在得到shell prompt才能打命令行, 而cursor
是指示鍵盤在命令行的輸入位置,使用者每輸入一個鍵, cursor
就往後移動一個格,直到碰到命令行讀進CR
(Carriage Return
, 由Enter
鍵產生)字符為止。 CR
的意思也很簡單: 使用者告訴shell:老兄,你可以執行的我命令行了。 嚴格來說: 所謂的命令行, 就是在shell prompt
與CR
之間所輸入的文字。
(question:為何我們這裡堅持使用CR
字符而不說Enter
按鍵呢? 答案在後面的學習中給出)。
不同的命令可以接受的命令的格式各有不同, 一般情況下,一個標準的命令行格式為如下所列:
command-name options argument
若從技術的細節上來看, shell會依據IFS
(Internal Field Seperator
) 將 command line 所輸入的文字給拆解為字段
(word
). 然後在針對特殊的字符(meta)先做處理,最後在重組整行command line。
(注意:請務必理解以上兩句的意思,我們日後的學習中常回到這裡思考。)
其中IFS
是shell預設使用的字段位分隔符號,可以由一個及多個如下按鍵組成:
系統可以接受的命令的名稱(command-name)可以從如下途徑獲得:
每一個命令行均必須包含命令的名稱,這是不能缺少的。