1. 程式人生 > >man檔案學習筆記

man檔案學習筆記

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

 an檔案學習筆記
作者:laomai
主頁:http://blog.csdn.net/laomai

一、man檔案簡述
1、man檔案的存放位置
    man檔案一般應放在/usr/share/man/的對應子目錄下,子目錄名的形式為manN。
    其中N是數字1-9。這個數字也就是man中的section.各section的作用如下
 節號 敘述
 1  使用者命令(Commands)
 2  系統呼叫(System calls)
 3  庫函式(Library calls)
 4  裝置檔案 (Specical Files found in /dev)
 5  檔案格式 (File formats and conventiions)
 6  遊戲    (Games)
 7  幫助手冊 (Macro packages and conventions)
 8  系統管理 (System)
 9  核心   (kernel routines)

    $ man 7 man  可以查到各section的具體含義。
   
    在我的as3機器上
    less命令的man檔案路徑為/usr/share/man/man1/less.1.gz
    fork系統呼叫的man檔案路徑為/usr/share/man/man1/fork.2.gz
    而write有兩個man檔案,分別為
     /usr/share/man/man1/write.1.gz
     /usr/share/man/man1/write.2.gz
2、命名風格
 由上面幾個例子可以看出,man檔案的名字為
    <name>.<section>.gz
 name就是使用者執行man命令時輸入的name引數
 section為節號。
  
二、man檔案格式
 man檔案本質上是一個roff格式的檔案
 有點象 html,只是標籤的寫法不同而已。
 可以用以下幾個命令看到完整的roff檔案格式說明
 $info groff
 $ man 7 groff
 $ man 7 man
 $ man 7 groff_man
 $ man troff
 
     下面列出幾個本文中用到的常用標籤.
     注意:所有的標籤必須寫在行首,前面不能有任何字元(包括空格和tab)。
    
1、註釋:
  標籤: ./"       
  作用: 在行首的註釋      
 
 
  標籤: /"             
  作用:在行中的註釋,即寫在語句後面的註釋  
 
 
2、各級標題:
  標籤: .TH             
  格式: .TH title section [date] [source] [manual]
  說明:.TH建立文章的標題,相當於html裡的<h1>標籤。
   每個 man 手冊頁,必須以一個 .TH 開始。
  title 是指手冊頁的標題名稱,如 ls、mount 等。它也是用man命令查詢時的名字。
  section 是指 man 手冊頁中 1~8 的分類程式碼,此引數還能再跟一個字串,如寫成 1.1,
  表示 section 1.1, 即第一部分中的第一小部分。
    title和section將顯示在頁首的兩側和頁尾的右側。
  source 表示工具的來源。會顯示在頁尾的左方
  date一般為手冊頁編寫的時間。會顯示在頁尾的中部。
  manual 手冊的標題,將顯示在頁首的中部。當一個手冊檔案有多個man page時,每個man page的
      manual是不一樣的。
  

 標籤: .SH  
 格式: .SH [text for heading]
 說明:.SH 建立一個一級標題,類似於html裡的<h2>。樣式為:左對齊,寬體。
    常見的.SH文字包括
    NAME           手冊頁名稱
    SYNOPSIS       語法
    DESCRIPITION   描述
    RETURN VALUE   返回值
    EXIT STATUS,   命令返回碼
    ERROR HANDLING,   錯誤處理
    ERRORS,         錯誤程式碼
    OPTIONS,       選項
    USAGE,         用法
    EXAMPLES,   示例
    FILES,          相關檔案 
    ENVIRONMENT,    相關環境變數
    DIAGNOSTICS,   診斷
    SECURITY,   安全性
    CONFORMING TO, 相容性
    NOTES,    備註
    BUGS,    bug
    AUTHOR,    作者
    SEE ALSO        參閱
   
   
 標籤: .SS
 格式: .SS [text for heading]
 說明:.SS 建立一個二級標題,類似於html裡的<h3>。樣式為:右對齊,寬體。
    
3、段落設定 
 標籤: .TP
 格式: .TP[xn]
 說明:.TP標籤下的第2行開始縮排x個字元(在第1行超過x字元的前提下).字元的單位是n.
     如果第一行的字元數不超過x,則兩行合為一行。這個功能有點象word的懸掛縮排。 
 比如   
 .TP 2n
 first                
 second      
 輸出為:          
 first
   second
 注意第二行前面有兩個空格。 
 
 而
 .TP 5n
 first                
 second      
 輸出為:   
 first second
 這次只輸出一行。


4、字型設定 
 標籤:.B
 .B設定文字的字型為粗體(bold face),類似於html裡的<b>。
 
 標籤:.I
  .I設定文字的字型為斜體(italic),類似於html裡的<I>。I
 
 標籤:.RB
   這個相當於.R(羅馬字型)與.B的組合,
   將文字交替的以羅馬字型和粗體顯示。.RI與之類似。 
  
 .sp
 空行。相當於html裡的</p>
 
5、 轉義字元
    .為/&.
 -為/-
  
三、man檔案製作示例
1、建立roff格式的檔案
 vi hello.1
 內容為
 ./" author : laomai
 .TH Hello 1 "2008-4-2" "Linux" "Hello Maunal"        /"  注意"2008-4-2"會被顯示在
                                                                                            /"  檔案最後一行(頁尾)的中部,
                                                                                           /"  "GNU"在最後一行的行首    
                                                                                           /"  "GNU tools"在第一行(頁首)的中部
 
 .SH Name                                         
  hello /- GNU hello                          /"  - 必須用 /- 轉義
 .SH SYNOPSIS
 .B hello
 .RB [/fB/-help/fR]                          /".RB為羅馬字型+粗體交替顯示
 .RB [/-a]
 .sp                                         /" 空行
 .SH DESCRIPTION
 this is an example of man page.                
 .sp
 /&.is at begin of a line.                   /" 行首的.要用/&.轉義   
 .TP                                       
  /fI italic word! /fR                       
 .sp
 .sp
 .SH AUTHOR
 .TP 3     
 laomai                        
 http://blog.csdn.net/laomai
2、測試顯示效果
$ groff -Tascii -man hello.1   
3、如果效果可以,則生成幫助檔案
gzip hello.1
4、將幫助檔案拷貝到合適位置
cp hello.1.gz /usr/share/man/man1
5、檢視最終效果
man hello

四、致謝:
本文在以下資料的基礎上修改和編輯而成
參考資料1: 製作自己的man手冊
 http://linux.chinaunix.net/bbs/viewthread.php?tid=834378&extra=&page=1
作者: mq110

參考資料2:Groff 巨集包
http://blog.chinaunix.net/u1/37261/showart.php?id=488355
作者:nico

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述