ubuntu man手册完善

本文详细介绍了如何在Ubuntu系统中配置Man手册,包括添加库函数手册、设置中文显示及在缺少中文帮助时显示英文帮助的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

ubuntu man手册完善

Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
Linux的man手册共有以下几个章节:

1、Standard commands (标准命令)
2、System calls (系统调用)
3、Library functions (库函数)
4、Special devices (设备说明)
5、File formats (文件格式)
6、Games and toys (游戏和娱乐)
7、Miscellaneous (杂项)
8、Administrative Commands (管理员命令)

例如:我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“man ifconfig”它会在最左上角显示“IFCONFIG(8)”。也可以这样输入命令:“man [章节号] 手册名称”。

man是按照手册的章节号的顺序进行搜索的,比如:

man sleep

只会显示sleep命令的手册,如果想查看库函数sleep,就要输入:

man 3 sleep

ubuntu默认是没有安装c语言的库函数man手册的

1.添加库函数手册
ubuntu默认是没有安装c语言的库函数man手册的,所以你在man perror 和sendto之类的函数时会显示没有相关文档的问题,这个问题让我郁闷了我好久。解决方法:
sudo apt-get install manpages-dev
2.让man显示中文
ubuntu源里面已经包含了中文的man包,所以不用从其他地方down了,直接
sudo apt-get install manpages-zh
但是这样man默认显示的还不是中文,还需要以下两步
a.把中文man包转换成utf8格式的
新建一个脚本文件
gedit t.sh
把下面内容添加进去
#!/bin/bashcd /usr/share/man/zh_CN/ for k in *do cd $k for i in *.gz do j=`echo ${i%.gz}` gunzip $i iconv -f gb18030 -t utf8 $j >tmp mv tmp $j gzip $jdone cd .. done

PS:有些空格没了,我试着补了
然后
sudo ./t
b.修改man默认的语言
sudo gedit /etc/manpath.config 把里面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN
保存后退出,然后你再试一下man ls
3.让没有中文帮助的显示英文
做完上面第二部还不够,这时你再man 一下一些c语言函数(不要用printf,socket之类比较有名的函数,这些已经有中文帮助了)的时候就会发现竟然没有帮助,而刚才明明在第一步已经安装了啊。这是因为你上面 把/usr/share/man 改成 /usr/share/man/zh_CN的操作使man只在中文帮助中搜索,如果没有就直接放弃,因此还需要以下操作,才能让man在没有中文帮助的时候自动显示英文的帮助,如果英文的也没有,哪就真的没有了。
sudo gedit /etc/manpath.config
然后搜索你刚才改过的地方,然后在其后面添加同样的一行,只是后面的目录还用原来的/usr/share/man,比如在修改后的
MANPATH_MAP /bin          /usr/share/man/zh_CN
再添加一行
MANPATH_MAP /bin          /usr/share/man

 原文地址 http://blog.chinaunix.net/u2/78601/showart_1917085.html
 

 原文地址 http://blog.chinaunix.net/u2/74524/showart_2029607.html
### 解决方案分析 在编译 librealsense 2.56 版本时遇到的 `make` 错误 `'没有规则可制作目标 docs/libcurl/curl_easy_cleanup.3'` 表明缺少某些文档文件或依赖项。这通常与 libcurl 的安装不完整有关,可能是由于缺失头文件、静态/动态库文件或相关联的手册页。 以下是可能导致此问题的原因以及解决方案: #### 可能原因 1. **libcurl 开发包未完全安装** 如果仅安装了运行时库而未安装开发包,则可能会导致缺少必要的头文件和手册页。 2. **手动指定路径错误** 若通过 CMake 或其他工具指定了自定义路径来查找 libcurl 文件,但这些路径下并未包含完整的 libcurl 安装内容(如 `.h` 和 `.so/.a` 文件),则会引发此类错误。 3. **版本兼容性问题** librealsense 需要特定版本的 libcurl 支持其功能集。如果当前系统的 libcurl 过低或过高,都可能引起冲突[^1]。 --- ### 解决策略 #### 方法一:确认并重新安装 libcurl 开发包 确保已正确安装 libcurl 的开发环境组件。对于基于 Debian 的系统(如 Ubuntu),可以执行以下命令: ```bash sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev ``` 上述操作将提供所需的头文件 `<curl/curl.h>` 和链接器所需的目标文件 `/usr/lib/x86_64-linux-gnu/libcurl.so` 等资源[^2]。 #### 方法二:验证 Librealsense 对 Libcurl 的需求 检查 librealsense 是否明确要求某个最低版次以上的 libcurl。例如,在较新的 librealsense 发布说明中提到过对 TLS 协议的支持需搭配最新稳定发行版的 libcurl 实现[^3]。因此建议升级至官方推荐级别之上再试一次构建流程。 #### 方法三:调整 cmake 参数排除潜在干扰因素 有时即使满足基本条件仍会出现异常状况;此时可通过修改配置阶段传递给项目的选项规避风险。比如强制忽略本地预设路径寻找外部依赖关系: ```cmake_minimum_required(VERSION 3.0) set(LIBREALSENSE_USE_SYSTEM_LIBS TRUE CACHE BOOL "") find_package(CURL REQUIRED) target_link_libraries(realsense2 PRIVATE ${CURL_LIBRARY}) ``` 以上片段展示了如何利用 FindCURL 模块定位合适位置下的 curl 库实例[^4]。 另外注意清理先前失败产生的中间产物后再重跑整个过程以免残留数据影响判断准确性[^5]: ```bash rm -rf build/ mkdir build && cd build cmake .. make -j$(nproc) ``` --- ### 总结 综上所述,针对所提现象最直接有效的办法就是补充完善基础架构即补全相应软件栈中的缺失部分——特别是那些涉及 API 文档生成环节的内容物像 man page 。与此同时也要兼顾软硬件平台间存在的差异性从而选取恰当策略应对可能出现的新情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值