Linux 獲取幫助

luck-luck發表於2018-10-25

Linux中獲取幫助的方法
  方法:
    COMMAND –help 或者 help COMMAND
    whatis
    man或info
    本地幫助文件 /usr/share/doc/
    官網線上文件和其他網站搜尋

1、whatis
  顯示命令的簡短描述,後面會對應出具體內容在man中的章節號
  每晚資料庫自動更新
  剛安裝不能立即使用,需要手動建立資料庫
  makewhatis | mandb製作資料庫

  注意:
  whatis和apropos這兩個命令要能使用,必須要建立whatis資料庫才行(需要root的身份建立);建立方式:
  1、等待系統自動建立/更新(每天凌晨4點計劃任務自動更新)
  2、手動建立或新資料庫
    CentOS 6使用makewhatis
    CentOS 7使用mandb

擴充套件知識:檢視關鍵字在那些man段落有使用幫助
  精確查詢:
  man -f KeyWord
  whatis KeyWord 提示:如果whatis的資料庫尚未生成,可以使用makewhatis手動進行
  模糊查詢:
  man -k KeyWord
  apropos KeyWord

演示:
[root@centos7 ~]# date
2017年 02月 07日 星期二 16:08:07 CST

# 顯示man中的章節號
[root@centos7 ~]# whatis date
date (1) – print or set the system date and time
date (1p) – write the date and time

[root@centos7 ~]# whatis cal
cal (1) – display a calendar
cal (1p) – print a calendar
[root@centos7 ~]# whatis ifconfig
ifconfig (8) – configure a network interface

[root@centos7 ~]# man -f date
date (1) – print or set the system date and time
date (1p) – write the date and time

2、help命令幫助
  語法格式:
    內部命令:help COMMAND
    外部命令:COMMAND –help

演示:
內部命令獲取幫助
[root@centos7 ~]# help type
type: type [-afptP] 名稱 [名稱 …]
顯示命令型別的資訊

對於每一個NAME名稱,指示如果作為命令它將如何被解釋。

  選項:
    -a 顯示所有包含名稱為NAME的可執行檔案的位置;包括別名、內嵌和函式。僅當 `-p` 選項沒有使用時
    -f 抑制shell函式查詢
    -P 為每個 NAME 名稱驚醒 PATH 路徑搜尋,即使它是別名、內嵌或函式,並且返回將被執行的磁碟上檔案的名稱。
    -p 返回將被執行的磁碟上檔案的名稱,或者當 `type -t NAME`不返回 `file` 時,不返回任何值。
    -t 返回下列詞中的任何一個`alias`、`keyword`、`function`、`builtin`、`file`或者“,如果 NAME 是相應的一個別名、shell 保留字、shell 函式、shell 內嵌、磁碟檔案或沒有找到。

  引數:
    NAME 將要解析的命令。

  退出狀態:
  如果所有的 NAME 命令都找到則返回成功;任何找不到則失敗。
  typeset: typeset [-aAfFgilrtux] [-p] name[=value] …
  設定變數的值和屬性。

  廢棄。參見 `help declare`

外部命令獲取幫助
 [root@centos7 ~]# date –help
 用法:date [選項]… [+FORMAT]
 或:date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
 Display the current time in the given FORMAT, or set the system date.

 Mandatory arguments to long options are mandatory for short options too.
  -d, –date=STRING display time described by STRING, not `now`
  -f, –file=DATEFILE like –date once for each line of DATEFILE
  -I[TIMESPEC], –iso-8601[=TIMESPEC] output date/time in ISO 8601 format.
      TIMESPEC=`date` for date only (the default),
      `hours`, `minutes`, `seconds`, or `ns` for date
      and time to the indicated precision.
  -r, –reference=檔案 顯示檔案指定檔案的最後修改時間
  -R, –rfc-2822 以RFC 2822格式輸出日期和時間
    例如:2006年8月7日,星期一 12:34:56 -0600
    –rfc-3339=TIMESPEC output date and time in RFC 3339 format.
      TIMESPEC=`date`, `seconds`, or `ns` for
      date and time to the indicated precision.
      Date and time components are separated by
      a single space: 2006-08-07 12:34:56-06:00
  -s, –set=STRING set time described by STRING
  -u, –utc, –universal print or set Coordinated Universal Time (UTC)
    –help 顯示此幫助資訊並退出
    –version 顯示版本資訊並退出

  給定的格式FORMAT 控制著輸出,解釋序列如下:
    %% 一個文字的 %
    %a 當前locale 的星期名縮寫(例如: 日,代表星期日)
    %A 當前locale 的星期名全稱 (如:星期日)
    %b 當前locale 的月名縮寫 (如:一,代表一月)
    %B 當前locale 的月名全稱 (如:一月)
    %c 當前locale 的日期和時間 (如:2005年3月3日 星期四 23:05:25)
    %C 世紀;比如 %Y,通常為省略當前年份的後兩位數字(例如:20)
    %d 按月計的日期(例如:01)
    %D 按月計的日期;等於%m/%d/%y
    %e 按月計的日期,新增空格,等於%_d
    %F 完整日期格式,等價於 %Y-%m-%d
    %g ISO-8601 格式年份的最後兩位 (參見%G)
    %G ISO-8601 格式年份 (參見%V),一般只和 %V 結合使用
    %h 等於%b
    %H 小時(00-23)
    %I 小時(00-12)
    %j 按年計的日期(001-366)
    %k hour, space padded ( 0..23); same as %_H
    %l hour, space padded ( 1..12); same as %_I
    %m month (01..12)
    %M minute (00..59)
    %n 換行
    %N 納秒(000000000-999999999)
    %p 當前locale 下的”上午”或者”下午”,未知時輸出為空
    %P 與%p 類似,但是輸出小寫字母
    %r 當前locale 下的 12 小時時鐘時間 (如:11:11:04 下午)
    %R 24 小時時間的時和分,等價於 %H:%M
    %s 自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數
    %S 秒(00-60)
    %t 輸出製表符 Tab
    %T 時間,等於%H:%M:%S
    %u 星期,1 代表星期一
    %U 一年中的第幾周,以週日為每星期第一天(00-53)
    %V ISO-8601 格式規範下的一年中第幾周,以週一為每星期第一天(01-53)
    %w 一星期中的第幾日(0-6),0 代表週一
    %W 一年中的第幾周,以週一為每星期第一天(00-53)
    %x 當前locale 下的日期描述 (如:12/31/99)
    %X 當前locale 下的時間描述 (如:23:13:48)
    %y 年份最後兩位數位 (00-99)
    %Y 年份

3、外部命令使用man獲取幫助(manual 使用手冊)
  內部命令一般不使用man檢視幫助,外部命令幫助才使用man,因為內部命令是由bash程式提供的,通過man命令檢視內部命令(如:man cd)實際上查到的是bash的幫助資訊,還得進行搜尋才能獲取命令的相關資訊。

  man page分成8個標準章節
   1 User Commands         使用者在shell下可操作的命令或可執行檔案
   2 System Calls          系統呼叫核心呼叫的函式或者工具
   3 C Library Functions      C函式庫
   4 Devices and Special File    裝置檔案通常是/dev目錄下面的檔案
   5 File Formats and Conventions 配置檔案或某些檔案格式說明如/etc/passwd
   6 Games et. Al.         給遊戲留的,由各個遊戲自己定義
   7 Miscellanea          慣例與協議等雜項,Linux檔案系統、網路協議、ASCII code等說明
   8 System Administration tools and Deamons 系統管理員可用的管理指令,大部分只能用root執行
   9 Kernel routines 這是廢棄的章節,原來曾想把一些關於核心的檔案放在這裡,但是實際上只有極少數可以寫成檔案放在這裡,而且它們很快過時了

  可以檢視指定的章節:
    man CHAPTER COMMAND
  如:man 5 passwd

  注意:並非所有的COMMAND在所有章節下都有手冊;不指定章節號預設顯示最小章節號的幫助;可通過whatis COMMAND檢視命令在那些章節中有幫助,然後再通過章節號去檢視對應章節的幫助資訊 

  命令格式:man COMMAND
  man檔案主要包括以下幾部分:
  Name     簡短的命令、資料名稱說明
  Synopsis   命令格式,顯示所有的選項和引數
  Description 程式功能完整的說明
  Options    針對synopsis部分中,有舉例的所有可用選項說明
  Commands   這個程式執行的時候,可以在此程式中執行的命令
  Files     這個程式或資料所使用、參考或連線到的某些文件(使用或修改的檔案)
  See Also   可以參考的跟這個指令或資料有相關的其他說明
  Example    可以參考的範例
  History    列出這個程式開發的重要里程碑
  Author     程式作者
  Bugs     是否有相關的錯誤

幫助資訊命令格式中的字元意義:
  [ ]  可選的部分
  {a|b} 分組,a和b作為一個使用單元來使用
  |   或者,只能選其一
  <>   必不可少的部分
  …  同類內容可以出現多個

  手冊頁位置:/usr/share/man
  man命令選項:
  -M /PATH/TO/SOMEDIR 到指定目錄下查詢命令手冊並開啟

  man的配置檔案路徑(配置檔案中定義了man文件的路徑)
    CentOS 6:/etc/man.config
    CentOS 7: /etc/man_db.conf

man命令開啟手冊以後的操作方法:
 按鍵        進行工作
 空格鍵      向下翻一頁
  [Page Down] 向下翻一頁
  [Page Up]   向上翻一頁
  Ctrl+d    向檔案尾部翻半屏
  Ctrl+u    向檔案首部翻半屏
  1G      去到第一頁
  G       去到最後一頁
  [Home]     去到第一頁
  [End]     去到最後一頁
  /keyword   向下查詢string字串
  ?keword    向上查詢string字串
  n,N     利用/或?來查詢字串時,可以用n來繼續下一個查詢,利用N來進行反向查詢
  q       結束這次的man page

4、其他外部命令獲取幫助的方法:
info命令的使用:獲取命令的線上文件
  info COMMAND

應用程式自帶的幫助文件:
  /usr/share/doc/APP-VERSION
  .README:程式的相關的資訊
  .INSTALL:安裝幫助
  .CHANGES:版本更新的改動資訊

主流發行版官方文件:
  http://www.redhat.com/docs
  程式官方站點的幫助文件“Document”
  搜尋引擎
   http://www.google.com
   示例:keyword filetype:pdf   搜尋特定格式檔案
      keyword site:domain.tld 搜尋特定站點

相關文章