免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 12087 | 回复: 21
打印 上一主题 下一主题

制作自己的man手册。 [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-26 17:43 |只看该作者 |倒序浏览
一直以来没有发现制作man手册的文章。写了一篇供大家参考补充。
不是很完善,大家可以继续完善它。

关键命令:

groff   groff_man  gzip

其中大部分宏标签可以通过 man groff_man来查看。

主要宏标签


  1. .\"
  2. 在行首的注释
复制代码


  1. \"
  2. 在行中的注释
复制代码


  1. .TH title section [extra1] [extra2] [extra3]

  2. 其中section 为1-8之前的数字. extra1 在下中. extra2 在左下  extra3在上中
  3. TH在文件的开始
复制代码


  1. .SH 从行首开始,靠左边,宽体
复制代码


  1. .SS 和.SS不同之处加了一个"边界" ,宽体
复制代码


  1. .TP n
  2. TP标签下的第2行开始缩进n个字符 (在第1行超过n字符的前提下) n默认值为7
复制代码


  1. .sp

  2. 空行
复制代码


设置字体的宏:


  1. .B

  2. 宽体,如果本行没有文字,则.B标签的下一行为宽体
复制代码


  1. .I

  2. 加下划线
复制代码


  1. \fB文字\fR

  2. 将该文字设置成宽体
复制代码


  1. \fI文字\fR

  2. 将文字加下划线
复制代码


其他转译字符:


  1. .为\&.

  2. -为\-
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-09-26 17:44 |只看该作者
以下为一个例子 用到上面所说的标签:

新建文件:
touch hello.1

编辑该文件


  1. .\" author : mq110

  2. .TH Hello 1 "2006-9-26" "GNU" "GNU tools"         \"  hello(1)  GNU tools  hello(1)
  3.                                                   \"  GNU       2006-9-26  hello(1)
  4. .SH Name                                          \"  left
  5. hello \- GNU hello                                 \" - must be \-
  6. .SH SYNOPSIS
  7. .B hello
  8. .RB [\fB\-help\fR]
  9. .RB [\-a]
  10. .sp
  11. .SH DESCRIPTION
  12. this is a test\&.
  13. .TP
  14. \fIitalic\fR
  15. .sp
  16. .sp
  17. .TP 3
  18. 123456789
  19. 890

复制代码




groff -Tascii -man hello.1
看到显示的结果

cp hello.1 hello.1.bak
备份一下

gzip hello.1
生成hello.1.gz

mv hello.1.gz /usr/share/man/man1

man hello

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-09-26 18:10 |只看该作者
groff -Tascii -man hello.1

显示的结果

[root@Firewall man]# groff -Tascii -man hello.1


  1. Hello(1)                           GNU tools                          Hello(1)



  2. Name
  3.        hello - GNU hello

  4. SYNOPSIS
  5.        hello [-help] [-a]


  6. DESCRIPTION
  7.        this is a test.

  8.        italic



  9.        123456789
  10.           890




  11. GNU                                2006-9-26                          Hello(1)
复制代码


可以看着这个显示做修改。


man hello的效果


  1. Hello(1)                                                 GNU tools                                                Hello(1)

  2. Name
  3.        hello - GNU hello

  4. SYNOPSIS
  5.        hello [-help] [-a]

  6. DESCRIPTION
  7.        this is a test.

  8.        italic

  9.        123456789
  10.           890

  11. GNU                                                      2006-9-26                                                Hello(1)
复制代码

[ 本帖最后由 mq110 于 2006-9-26 18:11 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-09-26 18:11 |只看该作者
有意思,可以写一些说明文档了

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
5 [报告]
发表于 2006-09-26 18:17 |只看该作者
应该有更简单的方法
最好WYSWYG

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2006-09-26 18:23 |只看该作者
牛人啊!
我只会用 pod2man,也凑个热闹吧!

  1. flw@Sleeper:~$ cat ttt.pod
  2. =head1 Name

  3. hello - GNU hello

  4. =head1 SYNOPSIS

  5. hello [-help] [-a]

  6. =head1 DESCRIPTION

  7. this is a test.

  8. italic



  9. 123456789
  10. 890

  11. =head1 Author

  12. flw <flw@cpan.org>
  13. flw@Sleeper:~$ pod2man ttt.pod | groff -Tascii -man
  14. TTT(1)                User Contributed Perl Documentation               TTT(1)



  15. Name
  16.        hello - GNU hello

  17. SYNOPSIS
  18.        hello [-help] [-a]

  19. DESCRIPTION
  20.        this is a test.

  21.        italic

  22.        123456789 890

  23. Author
  24.        flw <flw@cpan.org>



  25. perl v5.8.8                       2006-09-26                            TTT(1)
  26. flw@Sleeper:~$
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-09-26 18:28 |只看该作者
原帖由 flw 于 2006-9-26 18:23 发表
牛人啊!
我只会用 pod2man,也凑个热闹吧!

[code]flw@Sleeper:~$ cat ttt.pod
=head1 Name

hello - GNU hello

=head1 SYNOPSIS

hello [-help] [-a]

=head1 DESCRIPTION

this is a test.

...


看似很简单啊。也可以设置粗体 和 斜体吧?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2006-09-26 18:29 |只看该作者
原帖由 流氓无产者 于 2006-9-26 18:17 发表
应该有更简单的方法
最好WYSWYG



这个是??

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2006-09-26 18:30 |只看该作者
原帖由 mq110 于 2006-9-26 18:28 发表

看似很简单啊。也可以设置粗体 和 斜体吧?

对呀。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2006-09-26 18:31 |只看该作者
原帖由 mq110 于 2006-9-26 18:29 发表

这个是??

What You See, What You Get?
翻译成中文就是:
我要声(于是便有了声),
我要光(于是又有了光)

[ 本帖最后由 flw 于 2006-9-26 18:32 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP