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