Linux man中文手册的安装与使用

2023-05-16

概要: 在 ubuntu 20.04 中下载、安装使用 man 中文手册。

文章目录

    • linux shell命令学习法宝 --- man 手册
    • man中文手册的下载、安装及环境变量的配置
      • 下载
      • 安装
      • 环境变量配置及 cman 命令使用
    • man 中文手册注意事项

linux shell命令学习法宝 — man 手册

man 除了提供 shell 命令的帮助信息,还包括系统内核函数等帮助信息。

man 命令 使用格式如下:

# 查看命令的帮助信息
man 命令名

# 查看函数的帮助信息
man 函数名

Note: 当命令名和函数名(即上面提到的内核函数)相同时,默认查看的是命令的帮助信息,若需要查看函数的帮助信息,则加一个选项 2.即 man 2 函数名

man 手册 功能齐备,然而全部是英文文档,若英语阅读能力不足,阅读理解存在一定困难。若每个帮助文档都用翻译软件转化后阅读也不便,因此推荐安装使用第三方的man手册中文包

man中文手册的下载、安装及环境变量的配置

下载

man 中文手册下载地址:https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN/

manpages-zh-1.5.2.tar.bz2 下载

官方下载图示:
在这里插入图片描述
在这里插入图片描述

安装

在安装包所在目录打开终端,然后输入、执行以下 shell 命令:

tar -jxvf manpages-zh-1.5.2.tar.bz2
cd manpages-zh-1.5.2
ls
./configure --disable-zhtw
make && make install

以上命令执行完毕,man中文手册已完成安装。

默认安装后的路径:/usr/local/share/man/ ,而 ubuntu 20.04 默认自带的 man 手册的位置在 /usr/share/man/

在这里插入图片描述
接下来为man中文手册配置环境变量,以便在终端使用。

环境变量配置及 cman 命令使用

# 使用 vi编辑器 打开用户环境变量配置文件
vi ~/.bashrc

然后在 ~/.bashrc 文件最后添加:

# User specific environment and startup programs
alias cman='man -M /usr/local/share/man/zh_CN'
PATH=$PATH:$HOME/bin

export PATH

退出编辑模式,保存并关闭 ~/.bashrc 文件(:wq),然后终端执行 source ~/.bashrc 生效,或注销重新登录生效。

在终端 用 cman 代替 man 查看命令和函数的帮助文档:

# 查看 sleep 函数的用法
cman sleep

如果想让所有用户均可使用中文手册,环境变量配置时: 只需要将以上 ~/.bashrc 替换为 /etc/profile,用 vi编辑器打开时,使用 sudo vi /etc/profile 命令,其他步骤相同,如此操作即可。

man 中文手册注意事项

  1. man 中文手册 包含 shell命令系统内核函数 的帮助文档,但是并未提供 POSIX 标准函数的中文说明,如 pthread_create(),fork() (但实际上man英文手册提供了)。
  2. 如果安装了 ubuntu 20.04,在安装完整的中文语言包时,系统默认会下载安装 man 中文手册,其默认的安装路径: /usr/share/man/zh_CN 。当用 man 命令或函数名 时,系统先在 /usr/share/man/zh_CN 目录查找,如果存在,返回中文帮助文档信息;
    若不存在,再到 /usr/share/man/ 下其他文件和目录中(man 英文手册)查找,若存在,返回英文帮助文档信息;
    若不存在, 提醒不能发现。
(本文完)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux man中文手册的安装与使用 的相关文章

  • 使用 cmake 和 opencv 对符号“gzclose”的未定义引用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我尝试构建该项目 doppia https bitbucket org rodrigob doppia 但发生链接错误 我想这是一
  • 如果specfile中的某些条件不满足,如何中止rpm包的安装?

    还有一些事情Requires标签不满足 所以我写了一个脚本来验证这些东西 但是我把它们放在哪里呢 如果没有找到 那么我想退出安装 提示用户在尝试再次安装此 rpm 之前执行这些步骤 writing exit 1 in installtag
  • 使用 AWK 或 SED 以及以下标签以逗号分隔

    使用 AWK 或 SED 以及下面使用的标签以逗号分隔 BEGIN AccountID BEGIN CallerID BEGIN Billed Account Attributes 1111111 1111111 1111111 END B
  • SSL 和 Tkinter 不存在于 Python 3.5.2、Debian Linux 的源代码构建中

    我刚刚将 Python 3 5 2 下载到我的 Debian 机器上并使用以下命令构建它 configure make make test sudo make install 一切正常 但在make test输出中 它显示安装程序由于未安装
  • 内核如何区分线程和进程

    Linux 中的线程被称为轻量级进程 无论是进程还是线程 它们的实现都是通过task struct数据结构 1 gt 那么 从这个意义上说 内核如何区分线程和进程 2 gt 当发生上下文切换时 线程如何在上下文切换中获得更少的开销 因为在此
  • 保护一个保存 MySQL 数据库的简单 Linux 服务器?

    这是一个初学者问题 但我浏览了该网站上的许多问题 但没有找到简单直接的答案 我正在设置一个运行 Ubuntu 的 Linux 服务器来存储 MySQL 数据库 该服务器尽可能安全非常重要 据我所知 我主要担心的是传入的 DoS DDoS 攻
  • 验证 BASH 脚本时出现问题 [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试验证 bash 脚本时出现代码 lint 错误 bin bash if eq 0 then printf No argum
  • 无法使用Linux服务启动Archiva 2.1.0

    我正在尝试在 Linux 上启动最近发布的 Apache Archiva v2 1 0 独立版 出于测试目的 该 zip 已解压缩在 opt archiva 2 0 文档说 http archiva apache org docs 2 1
  • 有没有比使用 backtrace() 更便宜的方法来查找调用堆栈的深度?

    我的日志记录代码使用的返回值回溯 http linux die net man 3 backtrace确定当前堆栈深度 出于漂亮的打印目的 但我可以从分析中看到这是一个相当昂贵的调用 我不认为有更便宜的方法吗 请注意 我不关心帧地址 只关心
  • 更改 Amazon RDS MYSQL Linux 服务器的 innodb_log_file_size 变量值

    我们正在使用 Amazon RDS linux 服务器作为 MYSQL 更改 my cnf 文件变量值的方法是什么 我正在尝试更改 innodb log file size 变量 您能告诉我哪一个是最好的改变方式吗 所以请帮我解决这个问题
  • Google PubSub 在阻止和等待消息时没有标准输出

    我正在使用这个问题底部的 Python 代码监听 Google PubSub 消息 它实际上是来自 Google 的异步拉取示例 我运行我的程序并输出到文件 python my script py tee log txt 如果我在接收消息时
  • 在 UNIX 时间戳 Shell/Bash 中将日期与时区转换

    我需要将日期从格式为 yyyy mm dd hh mm ss TZ 的字符串转换为 UNIX 时间 TZ 时区 到目前为止我所做的是将没有时区的 yyyy mm dd hh mm ss 格式的日期转换为时间戳 dateYMD 2019 2
  • __libc_start_main 发生了什么?

    我真的很想理解从高级代码到可执行文件的步骤 但是遇到了一些困难 我写了一个空的int main C 文件并尝试通过以下方式破译反汇编objdump d 这是发生的事情 in start 设置对齐方式 将参数压入堆栈 调用 libc star
  • 在类中使用静态互斥体

    我有一个可以有很多实例的类 它在内部创建并初始化来自第三方库 使用一些全局变量 的一些成员 并且不是线程安全的 我考虑过使用 static boost mutex 它将被锁定在我的类构造函数和析构函数中 因此 在我的线程中创建和销毁实例对于
  • 使用openssl从服务器获取证书

    我正在尝试获取远程服务器的证书 然后可以将其添加到我的密钥库中并在我的 Java 应用程序中使用 一位高级开发人员 正在度假 告诉我我可以运行这个 openssl s client connect host host 9999 获取转储的原
  • 远程 ssh 命令:第一个回显输出丢失

    我试图通过 ssh 1 liner 调用在远程机器上运行多个命令 方法是将它们指定为传递给 bash c 的分号分隔字符串 它适用于某些情况 但不适用于其他情况 看一下这个 Note the echo 1 output is lost ba
  • 在linux x86平台上学习ARM所需的工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 x86 linux 机器 在阅读一些关于 ARM 的各种信息时 我很好奇 现在我想花一些时间学
  • 数百个空闲线程的影响

    我正在考虑使用可能数百个线程来实现通过网络管理设备的任务 这是一个在带有 Linux 内核的 powerpc 处理器上运行的 C 应用程序 在每个任务进行同步以将数据从设备复制到任务的初始阶段之后 任务变得空闲 并且仅在收到警报或需要更改一
  • 将一个文件写入.c中的另一个文件

    我有一个读取文件然后将其内容复制到另一个文件的代码 我需要使其仅复制每 20 个符号 然后跳过 10 个符号 然后再次跳过 20 个符号 依此类推 我必须使用 lseek 函数 但我不知道如何将所有这些放入循环中来执行此操作 main ar
  • 从命名管道读取

    我必须实现一个 打印服务器 我有 1 个客户端文件和 1 个服务器文件 include

随机推荐