linux的man命令报错解决

linux的man命令报错解决_第1张图片
Paste_Image.png

错误信息


man ls

Cannot open the message catalog "man" for locale "zh_CN.UTF-8"
(NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N")

sh: most: command not found
Error executing formatting or display command.
System command (cd "/usr/share/man" && (echo ".ll 10.7i"; echo ".nr LL 10.7i"; echo ".pl 1100i"; /usr/bin/gunzip -c '/usr/share/man/man1/ls.1.gz'; echo ".\""; echo ".pl \n(nlu+10") | /usr/bin/gtbl | /usr/bin/nroff -c -mandoc 2>/dev/null | most) exited with status 32512.
No manual entry for ls

解决办法

上面的报错可以看成是两条:

  1. 找不到目录的报错
  2. most 命令找不到,man 输出的页面没法展示

找不到目录的报错

  • 第一条其实给出了对应的环境变量 NLSPATH,google 了一下,会发现大部分的解决方式是:
// 将en下的man复制过来:
cp /usr/share/locale/en/LC_MESSAGES/man /usr/share/locale/zh/LC_MESSAGES/
  • 但对于一个没有root权限的普通员工来说,上面的方法根本无法执行!
  • 所以最好的方式是直接设置环境变量:
export NLSPATH="/usr/share/locale/en/LC_MESSAGES/%N"
-  搞定!

man 输出的页面没法展示

  • 对于第二条错误,在配置中找到了这句:
    • export PAGER="most"
  • 由于系统中并没有安装 most 命令,所以找不到可以为 man ls 进行显示的 PAGER。这里改成 使用 less 命令来显示输出:
export PAGER="less"
-  搞定!

你可能感兴趣的:(linux的man命令报错解决)