linux的man命令报错解决

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"
-  搞定!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容