• 关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“


    今天学习了下man,有关详细资料参考:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html


    toor@door:/usr/share/doc/man-db/examples$ man ls

    man: 无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录


    版本

    toor@door:~$ man --version
    man 2.5.7


    原因:因为新的man支持环境变量了。查看帮助:


    NAME
           man - 格式化并显示在线帮助手册页
           manpath - 定义用户查找man手册页的路径

         ...此处省略n字...

           LANG   如果   LANG   有定义,它的值将指定man在查找文档时首先查找的子目录。因此,命令“LAN   G=dk  man  1
                  foo”会使man在查找man页时首先查找../dk/man1/foo.1,如果在其中没有找到相
                  关文档,则查找../man/foo.1,此目录是由查找路径指定的。

           NLAPATH,
                  环境变量   NLAPATH   和  LC_MESSAGES  (或当后一个不存在时使用  LANG  )充当了定位文档目录的
                  角色。(但英文信息是编译进命令的,所以针对英文而言,就没有目录存在)。注意,象col    (1)这样被man调用的程序也使用象
                  LC_CTYPE 这样的变量。

           PATH   变量 PATH 是在解释查找man手册页路径时使用的。


    shell中输入:locale 查看本地locale

    toor@door:~$ locale
    LANG=zh_CN.UTF-8
    LANGUAGE=zh_CN:en
    LC_CTYPE="zh_CN.UTF-8"
    LC_NUMERIC="zh_CN.UTF-8"
    LC_TIME="zh_CN.UTF-8"
    LC_COLLATE="zh_CN.UTF-8"
    LC_MONETARY="zh_CN.UTF-8"
    LC_MESSAGES="zh_CN.UTF-8"
    LC_PAPER="zh_CN.UTF-8"
    LC_NAME="zh_CN.UTF-8"
    LC_ADDRESS="zh_CN.UTF-8"
    LC_TELEPHONE="zh_CN.UTF-8"
    LC_MEASUREMENT="zh_CN.UTF-8"
    LC_IDENTIFICATION="zh_CN.UTF-8"
    LC_ALL=

    所以如果你的系统没有安装manpages-zh中文手册的时候会出现man: 无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录的情况(即使是你在/etc/manpath.config中没有设置中文搜索路径,也会导致这个错误出现。

  • 相关阅读:
    Redisson 实现分布式锁原理分析
    redis如何避免释放锁时把别人的锁释放掉
    记一次org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only异常
    1.编译chromium
    Win10更新后wireshark无法获取网络接口
    ASIO库使用注意事项
    使用gdb添加断点的几种方式
    select、poll、epoll的比较
    CMakeLists.txt编写常用命令
    Ubuntu下使用linuxdeployqt打包Qt程序
  • 原文地址:https://www.cnblogs.com/37sky/p/5055548.html
Copyright © 2020-2023  润新知