<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[[实践Ok]linux man使用方法 和centos6.3安装中文man包，自己写man帮助文件的方法。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Sat, 21 Jul 2012 13:21:24 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	https://github.com/man-pages-zh/manpages-zh：<br/>yum install man-pages-zh-CN<br/><br/><br/>首先要：yum install man&nbsp;&nbsp;，因为用的是centos6.3的最小安装，没有，否则后面配置都无效果。<br/>http://code.google.com/p/manpages-zh/downloads/list<br/>man 1是shell命令，man 2是系统调用，man 3是库函数<br/>GNU GCC 提供了一份关于 MAN 格式的 C++ 标准库的文档，可以在其镜像点<br/>ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/<br/>ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.4.4.0.tar.bz2<br/><br/>找一个最新日期的下载。展开包之后将 man/man3 中的所有文件拷贝到系统上已经存在的一个 man/man3（ cp man3/* /usr/share/man/man3/.）(cp -Rf man3/* /usr/local/zhman/share/man/zh_CN/man3/) 目录中即可使用。<br/>在/usr/share/man/manX/<br/>其中‘X’代表的是数字，也就是MAN的类别。<br/><br/><br/>1）对于找不到的命令，man会报错：<br/>[jing@CentOS locale]$ man abc<br/>Cannot open the message catalog &quot;man&quot; for locale &quot;zh_CN.UTF-8&quot;<br/>(NLSPATH=&quot;/usr/share/locale/%l/LC_MESSAGES/%N&quot;)<br/>实践Ok：http://www.jackxiang.com/post/5711/<br/>解决URL：http://www.2cto.com/os/201111/111711.html<br/>[实践OK]将en下的man复制过来，先凑合用用：<br/>cp /usr/share/locale/en/LC_MESSAGES/man /usr/share/locale/zh/LC_MESSAGES/<br/>http://www.jackxiang.com/post/5711/<br/><br/><br/><br/>GNU GCC 提供了一份关于 MAN 格式的 C++ 标准库的文档，可以在其镜像点（http://gcc.gnu.org/mirrors.html）中下载。具体的路径是：ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.4.4.0.tar.bz2，可找一个最新日期的下载。展开包之后将 man/man3 中的所有文件拷贝到系统上已经存在的一个 man/man3 (/usr/share/man/man3/.)目录中即可使用,我的位置是：/man/libstdc++-man-4.4.0/man3# cp * /usr/share/man/man3/.。<br/><br/>可首先 man C++Intro 阅读 Introduction to the GNU libstdc++-v3 man pages。<br/><br/>对于 cout，你需要知道它是 std::ostream 类的一个对象，所以应该 man std::ostream。<br/><br/>摘自<br/>http://bbs.chinaunix.net/thread-869423-1-1.html<br/><br/><br/>这两天学习&lt;linux设备驱动程序开发详解&gt;中的异步通知，其中有一个fcntl()函数，就是找不到，很气愤，在网上搜，也没有好的解决办法，<br/>最终，一个网友给我做了解答：是因为fcntl()是标准库，在内核源码中是找不到的，只能在系统中查找到，你可以用这个命令来实现：man fcntl<br/> <br/>所以，我才重新看看man的用法，发现确实有这么多的用处，咳，整理如下：<br/> 什么是man手册 <br/>首先，man是manual的简称，中文说法可以是手册。<br/> <br/>在Linux世界中，许多新手请教某条命令的用法时， 好多不耐心的老手通常会用一条命令来回答这位无助的新手，而这条命令通常<br/>就是man开头。无助的新手敲上这条命令一看究竟，在终端上顿时显示出来了一屏幕的英文，<br/>老手的意思是，自己看看手册吗，可是看手册也是有学问的，无助的新手甚<br/>至不知道怎么退出这条命令呢。下面我们就来讲解一下看man手册的学问<br/> <br/>一。介绍man的使用方法<br/> <br/>1.手册页(Man Pages)<br/>对于Linux初学者,不能将手册页当教程,因为它只是简明的参考资料.在你需要了解某一命令的功能以及相关的参数意义时可以用到它.<br/> <br/>Linux man中的man就是manual的缩写，用来查看系统中自带的各种参考手册，但是手册页分为好几个部分，如下所示：（注：手册页，很重要的，一般我们也都没有用上，不过有时候，你就会发现你用上了）<br/> <br/>1&nbsp;&nbsp; Executable programs or shell commands<br/> <br/>2&nbsp;&nbsp; System calls (functions provided by the kernel)<br/> <br/>3&nbsp;&nbsp; Library calls (functions within program libraries)<br/> <br/>4&nbsp;&nbsp; Special files (usually found in /dev)<br/> <br/>5&nbsp;&nbsp; File formats and conventions eg /etc/passwd<br/> <br/>6&nbsp;&nbsp; Games<br/> <br/>7&nbsp;&nbsp; Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)<br/> <br/>8&nbsp;&nbsp; System administration commands (usually only for root)<br/> <br/>9&nbsp;&nbsp; Kernel routines [Non standard]<br/> <br/>----------------------<br/> <br/>解释一下,<br/>1是普通的命令<br/> <br/>2是系统调用,如open,write之类的(通过这个，至少可以很方便的查到调用这个函数，需要加什么头文件)<br/> <br/>3是库函数,如printf,fread<br/> <br/>4是特殊文件,也就是/dev下的各种设备文件<br/> <br/>5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义<br/> <br/>6是给游戏留的,由各个游戏自己定义<br/> <br/>7是附件还有一些变量,比如向environ这种全局变量在这里就有说明<br/> <br/>8是系统管理用的命令,这些命令只能由root使用,如ifconfig<br/> <br/>------------------------------------<br/> <br/>n 新文档， 可能要移到更适合的领域。<br/> <br/>o 老文档， 可能会在一段期限内保留。<br/> <br/>l 本地文档， 与本特定系统有关的。<br/> <br/>------------------------------------<br/> <br/>在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数。若不加数字，那Linux man命令默认从数字较小的手册中寻找相关命令和函数。<br/> <br/>例如：我们输入 man ls，它会在最左上角显示“LS（1）”，在这里，“LS”表示手册名称，而“（1）”表示该手册位于第一节章，同样，我们输入“man ifconfig”它会在最左上角显示“IFCONFIG（8）”。也可以这样输入命令：“man [章节号] 手册名称”。<br/> <br/>man是按照手册的章节号的顺序进行搜索的，比如：man sleep，只会显示sleep命令的手册,如果想查看库函数sleep，就要输入：man 3 sleep<br/> <br/>------------------------------------<br/> <br/>man -f command 显示man程序的所有手册<br/> <br/>例如：man -f kill<br/> <br/>man n command 显示指定章节的手册<br/> <br/>man -a command 显示所有章节的手册<br/> <br/>man -w command 显示手册所在的路径<br/> <br/>man -aw command 结合-a参数显示所有章节的手册路径<br/> <br/>手册页一般由以下几部分组成:<br/>NAME 命令名称&nbsp;&nbsp; SYNOPSIS 命令的语法格式&nbsp;&nbsp; DESCRIPTION 对命令功能的描述&nbsp;&nbsp;<br/>OPEIONS 说明该命令所提供的选项和参数&nbsp;&nbsp;&nbsp;&nbsp;EXAMPLES 对命令如何使用给出的例子 FILES 该手册页的默认位置 <br/>AUTHOR 该软件的作者&nbsp;&nbsp; REPORTING BUGS 告诉用户将他们发现的BUGS通过邮件发送给开发者&nbsp;&nbsp;&nbsp;&nbsp;COPYRIGHT 版权信息 <br/>SEEALSO 与该程序有关的其他程序<br/> <br/>如：若是以mkdir为例的话，第一行中出现的MKDIR(1)表示该命令属于Section 1，为用户命令，类似的man<br/>apt-get会看到APT-GET(8)，表示apt-get命令为系统管理工具 <br/> <br/>man程序是基于less命令的因此less程序的操作命令都可以在man pages中使用.<br/> <br/> <br/> <br/>在手册页的最下面一行,可以输入少量的命令(这些命令很重要，其实和Vi下面编辑程序的快捷键很一致的，哈哈 学会举一反三哦）信息的浏览和定位.见下表:<br/>-------------------------------------------<br/>按键&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 描述<br/>-------------------------------------------<br/>j&nbsp;&nbsp;&nbsp;&nbsp; ------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 向下滚动一行&nbsp;&nbsp;<br/>k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 向上滚动一行<br/> g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;跳转到手册的第一行<br/> G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 跳转到手册的最后一行<br/> /String + Enter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------》&nbsp;&nbsp;在手册页中查找第一个Sting<br/> n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;同方向查找的下一次匹配,可多次使用<br/> N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;反方向查找的下一次匹配,可多次使用<br/> h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------》&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得手册页的帮助<br/>也可以使用如：ctrl+f，ctrl+b来翻一整屏<br/> <br/>q------》退出手册页<br/> <br/>练习，利用可以用man more 和man less 看看他们之间的区别<br/>------------------------------------------<br/>下面简单说明下more命令和less功能的区别：<br/>more命令功能：让画面在显示满一页时暂停，此时可按空格健继续显示下一个画面，或按Q键停止显示。<br/>less命令功能：less命令的用法与more命令类似，也可以用来浏览超过一页的文件。所不同的是less命令除了可以按空格键向下显示文件外，还可以利用上下键来卷动文件。当要结束浏览时，只要在less命令的提示符“: ”下按Q键即可。<br/>它们功能上相近，只是从浏览习惯和显示方式上有所不同<br/> <br/> <br/> <br/> <br/> <br/>二.如何安装中文的man包<br/> <br/>中文man对英文不是很好的朋友来说,可以起到一点帮助作用。不过要学好linux,就不能太依赖这个东东,毕竟学好英语才是王道。<br/> <br/>环境:centos 5.3，内核：2.6.18-194.el5 （注，我的电脑也是这个，呵呵）<br/> <br/>官方网站:http://cmpp.linuxforum.net<br/> <br/>这个是源码的：http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz<br/> <br/>现在下载安装包:<br/> <br/>wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz<br/> <br/>操作步骤如下:<br/> <br/>#tar zxvf manpages-zh-1.5.1.tar.gz&nbsp;&nbsp;&nbsp;&nbsp; <br/> <br/>（注：我使用的加上了解压目录的命令 即又加上了：-C /tmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ）<br/> <br/>#cd manpages-zh-1.5.1<br/> <br/>#./configure --prefix=/usr/local/zhman --disable-zhtw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>#make<br/> <br/>#make install<br/> <br/>以上安装完成.请做如下操作:<br/> <br/>#cd ~<br/> <br/>#vi .bashrc<br/> <br/>在.bashrc中增加:<br/>alias cman=&#039;man -M /usr/local/zhman/share/man/zh_CN&#039;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/> <br/>#source .bashrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//在命令行执行，为了使刚刚添加的alias生效<br/> <br/>OK!现在就可以使用中文版的man了，在这里是cman，此时，你发现你可以用自带的man，还有安装有中文的cman了，是不是很爽呀。。。<br/> <br/>如:<br/> <br/>cman cd&nbsp;&nbsp;<br/> <br/>cman ls<br/><br/><br/>来源：http://www.cnblogs.com/google4y/archive/2011/10/08/2201807.html<br/><br/><br/><br/>wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz<br/>tar zxvf manpages-zh-1.5.1.tar.gz <br/>cd manpages-zh-1.5.1<br/>./configure&nbsp;&nbsp; --disable-zhtw<br/>make &amp;&amp; make install<br/><br/><br/>修改语言配置<br/>[root@www ~]# cat /etc/sysconfig/i18n <br/>#LANG=&quot;en_US.UTF-8&quot;<br/>LANG=&quot;zh_CN.utf8&quot;<br/>SYSFONT=&quot;latarcyrheb-sun16&quot;<br/><br/>修改完推出控制台&nbsp;&nbsp;重新登陆以刷新环境变量<br/>[root@www ~]# echo $LANG<br/>zh_CN.utf8<br/><br/><br/>如果输出是zh_CN.utf8的话说明中文环境切换成功<br/><br/>man ls&nbsp;&nbsp;查询ls的话会是中文<br/><br/>PS：有些命令还是英文的<br/><br/>煮酒品茶：脚本一个<br/><br/>------------------------------------------------------------------------<br/><br/><br/>#/bin/bash<br/><br/>#shell by cwtea.blog.51cto.com<br/><br/>wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz<br/><br/>tar zxvf manpages-zh-1.5.1.tar.gz<br/><br/>cd manpages-zh-1.5.1<br/><br/>./configure&nbsp;&nbsp; --disable-zhtw<br/><br/>make &amp;&amp; make install<br/><br/>mv /etc/sysconfig/i18n /etc/sysconfig/i18n.old<br/><br/>echo -e &quot;LANG=&#92;&quot;zh_CN.utf8&#92;&quot;&quot;&gt;&gt;/etc/sysconfig/i18n<br/><br/>echo -e &quot;SYSFONT=&#92;&quot;latarcyrheb-sun16&#92;&quot;&quot;&gt;&gt;/etc/sysconfig/i18n<br/><br/>echo $LANG<br/><br/>echo &quot;Input #man ls -option# go to chinese help&quot;<br/><br/>--------------------------------------------------------------------------<br/><br/><br/><br/><br/><br/><br/>自写linux下的简单man帮助文件：<br/>写一个函数的帮助文件，如果只是为了自己方便（不要求严格的格式，自己能看懂就行，别拿出来让别人难以理解）的话，是相当简单的，看一下MAN文件就大致了解了。<br/>在/usr/share/man/manX/<br/>其中‘X’代表的是数字，也就是MAN的类别。<br/>***************************************<br/>Linux下最通用的领域及其名称及说明如下： <br/> <br/>领域 名称 说明 <br/>1 用户命令， 可由任何人启动的。 <br/>2 系统调用， 即由内核提供的函数。 <br/>3 例程， 即库函数。 <br/>4 设备， 即/dev目录下的特殊文件。 <br/>5 文件格式描述， 例如/etc/passwd。 <br/>6 游戏， 不用解释啦！ <br/>7 杂项， 例如宏命令包、惯例等。 <br/>8 系统管理员工具， 只能由root启动。 <br/>9 其他（Linux特定的）， 用来存放内核例行程序的文档。 <br/>n 新文档， 可能要移到更适合的领域。 <br/>o 老文档， 可能会在一段期限内保留。 <br/>l 本地文档， 与本特定系统有关的。 <br/>*****************************************<br/>一般普通的函数是在man3目录下。<br/>你建一个文件，文件名为“你的函数名.类别”，比如叫“hello.3&quot;,然后在里边写内容，最好是看看别的MAN文件的格式和语法。<br/>例：<br/>#echo abcd1234&gt;/usr/share/man/man3/hello.3<br/>#man hello<br/>打包可以执行如下命令：<br/>#gzip /usr/ share/man/man3/hello.3<br/>#man hello
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践Ok]linux man使用方法 和centos6.3安装中文man包，自己写man帮助文件的方法。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>