@(Linux)[Linux命令, 幫助獲取]
在我們使用Linux操作系統(tǒng)的時候,經(jīng)常會使用一些命令,但是由于時間長久的原因導致我們對于其使用方法的忘記。本文,就是為了解決這個問題而生的,授之以魚不如授之以漁。
1. 內建命令和外部命令
1.1 內建命令
內部命令:
- 實際上是shell程序的一部分,其中包含的是一些比較簡單的linux系統(tǒng)命令,這些命令由shell程序識別并在shell程序內部完成運行,通常在linux系統(tǒng)加載運行時shell就被加載并駐留在系統(tǒng)內存中。
- 內部命令是寫在bashy源碼里面的,其執(zhí)行速度比外部命令快,因為解析內部命令shell不需要創(chuàng)建子進程。
- 比如:
exit,history,cd,echo等。
escape@ubuntu:~$ type cd
cd is a shell builtin
1.2 外部命令
外部命令:
- 是linux系統(tǒng)中的實用程序部分,因為實用程序的功能通常都比較強大,所以其包含的程序量也會很大,在系統(tǒng)加載時并不隨系統(tǒng)一起被加載到內存中,而是在需要時才將其調用內存。
- 通常外部命令的實體并不包含在shell中,但是其命令執(zhí)行過程是由shell程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。
- shell程序搜尋可執(zhí)行程序文件的路徑定義在PATH環(huán)境變量中,使用
echo $PATH來查看。 - 外部命令是在bash之外額外安裝的,通常放在固定目錄下。使用
type來查看命令屬于內建命令或者外部命令,使用使用which命令來查看,也可以使用whereis命令來查找命令路徑。 - 比如:
ls、vi等
escape@ubuntu:~$ type mount
mount is /bin/mount
2. 內建命令獲取幫助
格式
help COMMAND
用法
escape@ubuntu:~$ help echo
echo: echo [-neE] [arg ...]
Write arguments to the standard output.
2.1 hash命令
shell搜尋到的外部命令的路徑結果會緩存至kv(key-value)存儲中
命令選項
-
hash -d #刪除指定命令緩存 -
hash -r刪除所有命令緩存
2.2 history命令
管理命令歷史
- 登錄shell時,會讀取命令歷史文件中記錄下的命令:~/.bash_history
- 登錄進shell后新執(zhí)行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
命令選項
-
history -a: 追加本次會話新執(zhí)行的命令歷史列表至歷史文件中 -
history -d #: 刪除歷史中指定的命令 -
history -c: 清空命令歷史
快捷操作
-
!#: 調用歷史中第#條命令 -
!string:調用歷史中最近一個以string開頭的命令 -
!!: 上一條命令
3. 外部命令獲取幫助
格式
COMMAND [OPTIONS...] [ARGUMENTS...]
用法
-
COMMAND --helporCOMMAND -h - 使用手冊:
man COMMAND - 使用信息頁:
info COMMAND - 程序自身的幫助文檔
- 程序官方文檔
- 發(fā)行版的官方文檔
3.1 man
手冊頁/usr/share/man
- man1: 用戶命令
- man2: 系統(tǒng)調用
- man3: C庫調用
- man4: 設備文件及特殊文件
- man5: 配置文件格式
- man6: 游戲
- man7: 雜項
- man8: 管理類的命令
注意有些關鍵在不止一個章節(jié)中存在幫助手冊,要查看指定章節(jié)中的手冊man # COMMAND
man命令的配置文件/etc/man.config
-
MANPATH /PATH/TO/SOMEWHERE: 指明新的手冊文件搜索位置 -
man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁并顯示之
幫助手冊中的段落說明
- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- EXAMPLES
- AUTHOR
- REPORTING BUGS
- SEE ALSO
操作方法
-
Space,^V,^f,^F: 向文件尾翻屏 -
b,^B: 向文件首部翻屏 -
d,^D: 向文件尾部翻半屏 -
u,^U: 向文件首部翻半屏 -
RETURN,^N,e,^Eorjor^J: 向文件尾部翻一行 -
yor^Yo^Porkor^K:向文件首部翻一行 -
q: 退出 -
#:跳轉至第#行 -
1G: 回到文件首部 -
G:翻至文件尾部 -
文本搜索
-
/KEYWORD:以KEYWORD指定的字符串為關鍵字,從當前位置向文件尾部搜索,不區(qū)分字符大小寫 -
?KEYWORD:以KEYWORD指定的字符串為關鍵字,從當前位置向文件首部搜索,不區(qū)分字符大小寫 -
n: 跟搜索命令同方向,下一個 -
N:跟搜索命令反方向,上一個
-
3.2 info
格式
info COMMAND
思維導圖

Linux命令幫助