关于新的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中没有设置中文搜索路径,也会导致这个错误出现。