ubuntu下man查询函数

ubuntu用man查函数

在Linux下写程序,遇一个函数不知道怎么用就得上网去,没有类似MSDN之类的软件,烦得很。看网上很多人都说用man很方便,只要man一下你想了解的函数就行了,可我在man之后什么都得不到,比如man printf,结果就是没有入口(No manual entry forprintf)

今天专门上网搜了下,发现原来是因为Ubuntu默认没有装manpages-dev,而函数都在这个包里,把这个安装上,果然就能用man查函数了。

还有一个manpages-zh,是中文的帮助,把这个安装包装上,再改些配置就能看中文的帮助了。
首先,编码要改为utf8的,又是这该死的编码问题……用下面这个脚本(网上一搜都是一样的,应该是Ubuntu中文论坛中eexpress写的),随便存成个.sh文件,比如:chman.sh,然后在当前目录下执行sudo sh ./chman.sh
#!/bin/bash
for k in /usr/share/man/zh_CN/*/*.gz; do
echo $k
j=`echo $k | sed “s/\.gz$//”`
gunzip $k
iconv -f gb18030 -t utf8 $j > tmp
mv tmp $j
gzip $j
done

这时就可以用
man -M /usr/share/man/zh_CNprintf
来查看printf的中文帮助了。
每次都输入这么长的命令实在是太烦了,网上有两种方法
1. alias cman=’man -M/usr/share/man/zh_CN’
重命名一下,在这个终端中就能用cman来查看中文帮助了。把这一行加入/etc/bash.bashrc中去,以后就都能在终端中用cman了,不过还有很多没有中文的帮助,就还得用man了。加/etc/profile中却还是不能在终端中运行,但用ctrl+alt+F1切换Shell中却能用了,明白是什么原因…

2.改/etc/manpath.config文件,在/usr/share/man前面加上/usr/share/man/zh_CN,即把AMNPATH_MAP这段改成如下所示,这样man就会先在zh_CN的目录中搜索了,没有中文帮助时,就会给出英文的
#———————————————————
# set up PATH to MANPATH mapping
# ie. what man tree holds manpages for what binary directory.
#
# *PATH* -> *MANPATH*
#
MANPATH_MAP /bin /usr/share/man/zh_CN/usr/share/man
MANPATH_MAP /usr/bin /usr/share/man/zh_CN/usr/share/man
MANPATH_MAP /sbin /usr/share/man/zh_CN/usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man/zh_CN/usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/local/bin/usr/local/share/man
MANPATH_MAP /usr/local/sbin /usr/local/man
MANPATH_MAP /usr/local/sbin/usr/local/share/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
MANPATH_MAP /usr/games /usr/share/man/zh_CN/usr/share/man
MANPATH_MAP /opt/bin /opt/man
MANPATH_MAP /opt/sbin /opt/man

现在仅仅知道了怎样查函数,Linux下应该还有很多方便写程序的工具的,可惜都知道。唉,所谓工欲善其事,必先利其器,只是连有啥器都知道,所以说Linux下写程序还是很不爽

最后写上点man的小用法,一般只需直接man+所命令,但有相同命令时,man出来的结果很可能不是想要的,可以先用man-f查询,然后用man+数字+命令名查询。程序函数一般可以用man2+函数查到,如直接manopen出来的并不是open()函数的帮助,发现有俩open,第二个是找开文件,这时就可用man2 open了
lik@lik-laptop:~$ man -f open
open (1) - start a program on a new virtual terminal (VT).
open (2) - open and possibly create a file or device
lik@lik-laptop:~$ man 2 open

Ubuntu,如果在终端输入"man pthread_mutex_init"或"man pthread_mutex_lock"没有结果,可能是因为没有安装与pthread库相关的man手册页面。man手册页面是Linux的帮助文档,提供了有关不同命令和函数的详细信息。 为了解决这个问题,可以尝试以下几个方法: 1. 确保已经安装了相关的man手册页面。可以通过运行以下命令来安装: sudo apt-get install manpages-posix-dev 2. 如果安装了manpages-posix-dev,但仍然找不到pthread_mutex_init和pthread_mutex_lock的手册页面,可以尝试手动查找相关的man手册页。可以通过运行以下命令来搜索: man -k pthread_mutex 这将列出与pthread_mutex相关的所有命令和函数man手册页。您可以查看相关页面以获取所需的信息。 3. 如果仍然无法找到所需的信息,您可以参考在线资源,如pthread库的官方文档或其他可靠的编程资源网站,以获取关于pthread_mutex_t的特性的详细信息。 请注意,确保您的系统已经安装了pthread库,并且您正在使用正确的命令和函数名称。如果您的问题是关于Ubuntu上的特定问题,请提供更多细节,以便我能够更好地帮助您解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [man pthread_mutex_init 或 man pthread_mutex_lock 没有结果的解决办法,pthreadmutexinit](https://blog.csdn.net/wangzhjj/article/details/53728781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值