1、内建指令與外部指令
有一些檢視幫助的工具在内建指令與外建指令上是有差別的。
内建指令實際上是shell程式的一部分,其中包含的是一些比較簡單的 Linux 系統指令,這些指令是寫在bash源碼的builtins裡面的,并由 shell 程式識别并在 shell 程式内部完成運作,通常在 Linux 系統加載運作時 shell 就被加載并駐留在系統記憶體中。而且解析内部指令 shell 不需要建立子程序,是以其執行速度比外部指令快。比如:history、cd、exit 等等。
外部指令是 Linux系統中的實用程式部分,因為實用程式的功能通常都比較強大,是以其包含的程式量也會很大,在系統加載時并不随系統一起被加載到記憶體中,而是在需要時才将其調用記憶體。雖然其不包含在 shell 中,但是其指令執行過程是由 shell 程式控制的。外部指令是在 Bash 之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如 ls,vi 等。
簡單來說就是一個是自帶的,一個是後來附加的。使用type來區分是内建的還是外部的。
type exit
輸出 :exit is a shell builtin
說明是内建指令。
type cat
輸出:cat is /bin/cat
說明是外部指令
type ls
輸出: ls is an alias for ls –color=tty
得到alias ,說明該指令為指令别名所設定的名稱。
2、幫助指令的使用
1)help
環境是zsh,而zsh 的内置并沒有help指令,可以進入bash中,在bash中内置有該指令。
進入:
bash
然後輸入 : help ls
輸出 :沒有比對的幫助主題。 —-> help exit
原因:
help 指令是用于顯示shell内建指令的簡要幫助資訊。幫助資訊中顯示有該指令的簡要說明以及一些參數的使用以及說明,一定記住help指令隻能用于顯示内建指令的幫助資訊,不然就會得到你剛剛得到的結果。而 exit,cd 便是内建指令.
那如果是外部指令,基本上都有一個參數–help,這樣就可以得到相應的幫助,如:
ls –help
2) man
man ls
man得到的内容比用help更多更詳細,而且man沒有内建與外部指令的區分,因為 man 工具是顯示系統手冊頁中的内容,也就是一本電子版的字典,這些内容大多數都是對指令的解釋資訊,還有一些相關的描述。通過檢視系統文檔中的 man 也可以得到程式的更多相關資訊和 Linux 的更多特性。
是不是好用許多,當然也不代表 help 就沒有存在的必要,當你非常緊急隻是忘記該用哪個參數的時候,help 這種顯示簡單扼要的資訊就特别使用,若是不太緊急的時候就可以用 man 這種較長的描述的查詢方式.
在輸入 man ls 後,在左上角顯示 LS (1),表示手冊名稱,1表示位于第一章節。在man手冊中一共有下面幾個章節 :
可以使用pgup 與pgdn 或上下鍵翻頁,q 退出。
3、Info
若你覺得man顯示的資訊不夠,那: (info 是bash自帶)
info ls
info來自自由軟體基金會GNU 項目,是GNU的超文本幫助系統,可以更完整的顯示出GNU資訊。
man與info 顯示的資訊有交集部分,但是info 工具可顯示更完整的GNU工具資訊。若 man 頁包含的某個工具的概要資訊在 info 中也有介紹,那麼 man 頁中會有“請參考 info 頁更詳細内容”的字樣。