linux man使用方法及man中文手冊安裝方法



本文轉自 lorysun 51CTO博客,原文鏈接:http://blog.51cto.com/lorysun/1599855

Linux man中的man就是manual的縮寫,用來查看系統中自帶的各種參考手冊,但是手冊頁分爲好幾個部分,如下所示:(注:手冊頁,很重要的,一般我們也都沒有用上,不過有時候,你就會發現你用上了

1   Executable programs or shell commands

2   System calls (functions provided by the kernel)

3   Library calls (functions within program libraries)

4   Special files (usually found in /dev)

5   File formats and conventions eg /etc/passwd

6   Games

7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)

8   System administration commands (usually only for root)

9   Kernel routines [Non standard]

----------------------

解釋一下,

1是普通的命令

2是系統調用,open,write之類的(通過這個,至少可以很方便的查到調用這個函數,需要加什麼頭文件)

3是庫函數,printf,fread

4是特殊文件,也就是/dev下的各種設備文件

5是指文件的格式,比如passwd, 就會說明這個文件中各個字段的含義

6是給遊戲留的,由各個遊戲自己定義

7是附件還有一些變量,比如向environ這種全局變量在這裏就有說明

8是系統管理用的命令,這些命令只能由root使用,ifconfig

------------------------------------

新文檔, 可能要移到更適合的領域。

老文檔, 可能會在一段期限內保留。

本地文檔, 與本特定系統有關的。

------------------------------------

shell中輸入 man+數字+命令/函數 即可以查到相關的命令和函數。若不加數字,那Linux man命令默認從數字較小的手冊中尋找相關命令和函數。

例如:我們輸入 man ls,它會在最左上角顯示「LS1)」,在這裏,「LS」表示手冊名稱,而「(1)」表示該手冊位於第一節章,同樣,我們輸入「man ifconfig」它會在最左上角顯示「IFCONFIG8)」。也可以這樣輸入命令:「man [章節號手冊名稱」。

man是按照手冊的章節號的順序進行搜索的,比如:man sleep,只會顯示sleep命令的手冊,如果想查看庫函數sleep,就要輸入:man 3 sleep

------------------------------------

man -f command 顯示man程序的所有手冊

例如:man -f kill

man n command 顯示指定章節的手冊

man -a command 顯示所有章節的手冊

man -w command 顯示手冊所在的路徑

man -aw command 結合-a參數顯示所有章節的手冊路徑


手冊頁一般由以下幾部分組成:
NAME 命令名稱   SYNOPSIS 命令的語法格式   DESCRIPTION 對命令功能的描述  
OPEIONS 說明該命令所提供的選項和參數    EXAMPLES 對命令如何使用給出的例子 FILES 該手冊頁的默認位置 
AUTHOR 該軟件的作者   REPORTING BUGS 告訴用戶將他們發現的BUGS通過郵件發送給開發者    COPYRIGHT 版權信息 
SEEALSO 與該程序有關的其他程序

如:若是以mkdir爲例的話,第一行中出現的MKDIR(1)表示該命令屬於Section 1,爲用戶命令,類似的man
apt-get會看到APT-GET(8),表示apt-get命令爲系統管理工具
 

man程序是基於less命令的因此less程序的操作命令都可以在man pages中使用.

 

在手冊頁的最下面一行,可以輸入少量的命令(這些命令很重要,其實和Vi下面編輯程序的快捷鍵很一致的,哈哈 學會舉一反三哦)信息的瀏覽和定位.見下表:
-------------------------------------------
按鍵                           描述
-------------------------------------------
j     ------》               向下滾動一行  
k     ------》               向上滾動一行
g     ------》               跳轉到手冊的第一行
G     ------》               跳轉到手冊的最後一行
/String + Enter    ------》  在手冊頁中查找第一個Sting
n     ------》               同方向查找的下一次匹配,可多次使用
N     ------》               反方向查找的下一次匹配,可多次使用
h     ------》               獲得手冊頁的幫助
也可以使用如:ctrl+f,ctrl+b來翻一整屏

q     ------》              退出手冊頁


man中文手冊安裝方法

中文man對英文不是很好的朋友來說,可以起到一點幫助作用。不過要學好linux,就不能太依賴這個東東,畢竟學好英語纔是王道。

官方網站:http://cmpp.linuxforum.net

這個是源碼的:http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz

現在下載安裝包:

wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz

操作步驟如下:

#tar -zxvf manpages-zh-1.5.1.tar.gz     

#cd manpages-zh-1.5.1

#./configure --prefix=/usr/local/zhman --disable-zhtw             

#make

#make install

以上安裝完成.請做如下操作:

#cd ~

#vi .bashrc

在.bashrc中增加:
alias cman='man -M /usr/local/zhman/share/man/zh_CN'         

#source .bashrc          //在命令行執行,爲了使剛剛添加的alias生效

OK!現在就可以使用中文版的man了,在這裏是cman,此時,你發現你可以用自帶的man,還有安裝有中文的cman了

如:cman ls


原文地址:http://blog.chinaunix.net/uid-25100840-id-302308.html

另外一種方法:

  1. 下載開源的man-pages 中文手冊包

  2. 配置解壓手冊包

  3. 測試安裝中文包

一、在個人工作目錄安裝中文幫助手冊

        這樣優點是每個用戶,登陸進去都可以有自己的語言版幫助手冊。大家直接手冊不會被相互調用,獨立而且靈活

 1、下載開源man中文手冊包(man-pages手冊頁)

現在準備下載開源幫助手冊包:

1.打開http://code.google.com/p/manpages-zh/  點擊下方的:manpages-zh-1.5.tar.gz

 wKiom1SrrVyCtGc7AAIvPtB555A139.jpg

2、通過linux wget下載開發包

[[email protected] ~]$ wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.tar.gz

輸入即可

wKioL1Srri6Dwvz-AAEwe9SD9X0471.jpg

 2、解壓man中文手冊包

只要在自己工作目錄下面建立man/zh_CN 目錄,將壓縮包解壓,按照規格目錄中。man命令就可以搜索到。

特別說明下,下面的安裝保證你的語言環境設置爲中文:

[[email protected] ~]$ echo $LANG
zh_CN.GB2312

如果不是:通過 export LANG=zh_CN.GB2312

如果你發現上面執行不通過,你可以運行:locale -a 查一下你係統支持的字符集

[[email protected] ~]$ cd  ~
#進入當前目錄
[[email protected] ~]$ mkdir  -p man /zh_CN
#建立目錄man 以及子目錄zh_CN
[[email protected] ~]$ tree  man 
man
`-- zh_CN
#目錄以及子目錄已經可以了,現在只需要將壓縮包解壓到zh_CN 中文目錄即可
 
[[email protected] ~]$ tar  -xzvf manpages-zh-1.5. tar .gz
manpages-zh-1.5 /src/mann/expr .n
manpages-zh-1.5 /src/mann/fblocked .n
manpages-zh-1.5 /src/mann/fconfigure .n
manpages-zh-1.5 /src/mann/fcopy .n
manpages-zh-1.5 /src/mann/file .n
manpages-zh-1.5 /src/mann/fileevent .n
manpages-zh-1.5 /src/mann/filename .n
manpages-zh-1.5 /src/mann/flush .n
manpages-zh-1.5 /src/mann/focusNext .n
manpages-zh-1.5 /src/mann/for .n
manpages-zh-1.5 /src/mann/foreach .n
 
#......解壓數據包
 
[[email protected] ~]$ cd  manpages-zh-1.5
[[email protected] manpages-zh-1.5]$ ls
COPYING  debian  DOCS  Makefile  man -pages-zh_CN.spec  raw  README  README.GB  src  utils
#該目錄結構 支持make安裝的,可以通過make命令生成編譯文件,也可以直接複製裏面src目錄安裝
 
[[email protected] manpages-zh-1.5]$ make
mkdir  UTF-8
cp  -r src /man * UTF-8/
#已經生成了:UTF-8目錄下面文件,只需要將該目錄複製到~/man/zh_CN下面即可
[[email protected] manpages-zh-1.5]$ cp  -r UTF-8/* ~ /man/zh_CN/

通過上面幾步已經將幫助手冊安裝到自己的工作目錄下面的man/zh_CN下面了。

3、測試man中文幫助手冊是否安裝成功

下面檢查下,看man中文手冊是否加入到man路徑裏面了。

[[email protected] manpages-zh-1.5]$ man  -w
/usr/kerberos/man : /usr/local/share/man : /usr/share/man/zh_CN : /usr/share/man : /home/chengmo/man/zh_CN : /home/chengmo/man : /usr/local/man
#發現已經在MANPATH路徑加入了:/home/chengmo/man 以及:/home/chengmo/man/zh_CN
 
[[email protected] ~]$ man   -aw passwd
/usr/share/man/man1/passwd .1.gz
/usr/share/man/man5/passwd .5.gz
/home/chengmo/man/zh_CN/man5/passwd .5
#發現已經找到中文手冊了
 
[[email protected] ~]$ man  5 -aw passwd
/usr/share/man/man5/passwd .5.gz
/home/chengmo/man/zh_CN/man5/passwd .5
#讀取領域5限定類型,這樣系統原先的英文也保留了,看中英文也很方便
 
[[email protected] ~]$ man   5 -a passwd
#顯示英文的,按q就會出來中文文檔了

wKiom1SrrI6iDXyOAAI3nNNXCeo676.jpg

二、所有用戶公用中文幫助手冊

這裏原理跟個人用戶基本一樣,只是手冊放到大家公用目錄,而不是個人目錄即可。

[[email protected] ~]$ tree /usr/share/man/zh_CN
/usr/share/man/zh_CN
|-- man1
|   `-- newgrp.1.gz
`-- man8
     |-- adduser.8.gz
     |-- chpasswd.8.gz
     |-- groupadd.8.gz
     |-- groupdel.8.gz
     |-- groupmod.8.gz
     |-- useradd .8.gz
     |-- userdel.8.gz
     `-- usermod .8.gz

系統默認公共手冊頁地址一般在:/usr/share/man下面,放到下面的zh_CN目錄即可。

[[email protected] manpages-zh-1.5]$ make
mkdir  UTF-8
cp  -r src /man * UTF-8/
#已經生成了:UTF-8目錄下面文件,只需要將該目錄複製到~/man/zh_CN下面即可
[[email protected] manpages-zh-1.5]$ cp  -r UTF-8/* /usr/share/man/zh_CN/
其它的 man .config配置不需要修改。
<strong>檢查一下:< /strong >

[[email protected] ~]$ man 5 -aw passwd

/usr/share/man/man5/passwd.5.gz

/user/share/man/zh_CN/man5/passwd.5

說明手冊已經安裝好了。

這裏2種方法安裝介紹了一下,感覺中文手冊很不錯,可以試試,我個人比較喜歡還是安裝到再的工作目錄比較好,因爲現在linux版本很多,而且命令有很多看似一樣,但是實際還有些差別,這種中文手冊更新沒有相應軟件更新快。當使用時候發現命令不一致時候,還是得考究考究原版英文。 保持中英文手冊都存在,也是個不錯法子。


作者:chengmo出處:http://www.cnblogs.com/chengmo

本文版權歸作者和博客園共有,歡迎轉載,請務必添加原文鏈接。

-------------------------------------------------------------------------------

附Configure配置參數介紹

./configure --prefix命令

源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install),具體的安裝方法一般作者都會給出文檔,這裏主要討論配置(configure)。Configure是一個可執行腳本,它有很多選項,使用命令./configure –help輸出詳細的選項列表,如下:
-bash-3.00# ./configure --help
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE     cache test results in FILE
--help             print this message
--no-create         do not create output files
--quiet, --silent     do not print `checking...' messages
--version           print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX       install architecture-independent files in PREFIX
                [/usr/local]
--exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                [same as prefix]
--bindir=DIR         user executables in DIR [EPREFIX/bin]
……….(省略若干)
很多的選項,個人認爲,你可以忽略其他的一切,但請把—prefix加上。這裏以安裝supersparrow-0.0.0爲例,我們打算把它安裝到目錄 /usr/local/supersparrow,於是在supersparrow-0.0.0目錄執行帶選項的腳本./configure --prefix=/usr/local/supersparrow,執行成功後再編譯、安裝(make,make install);安裝完成將自動生成目錄supersparrow,而且該軟件所有的文件都被複制到這個目錄。爲什麼要指定這個安裝目錄?是爲了以後的維護方便,如果沒有用這個選項,安裝過程結束後,該軟件所需的軟件被複制到不同的系統目錄下,很難弄清楚到底複製了那些文件、都複製到哪裏去了—基本上是一塌糊塗。
用了—prefix選項的另一個好處是卸載軟件或移植軟件。當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得乾乾淨淨;移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統)。
一個小選項有這麼方便的作用,建議在實際工作中多多使用


configure參數介紹

'configure'腳本有大量的命令行選項。對不同的軟件包來說,這些選項可能會有變化,但是許多基本的選項是不會改變的。帶上'--help'選項執行'configure'腳本可以看到可用的所有選項。儘管許多選項是很少用到的,但是當你爲了特殊的需求而configure一個包時,知道他們的存在是很有益處的。下面對每一個選項進行簡略的介紹:

--cache-file=FILE
'configure'會在你的系統上測試存在的特性(或者bug!)。爲了加速隨後進行的配置,測試的結果會存儲在一個cache file裏。當configure一個每個子樹裏都有'configure'腳本的複雜的源碼樹時,一個很好的cache file的存在會有很大幫助。

--help
輸出幫助信息。即使是有經驗的用戶也偶爾需要使用使用'--help'選項,因爲一個複雜的項目會包含附加的選項。例如,GCC包裏的'configure'腳本就包含了允許你控制是否生成和在GCC中使用GNU彙編器的選項。

--no-create
'configure'中的一個主要函數會製作輸出文件。此選項阻止'configure'生成這個文件。你可以認爲這是一種演習(dry run),儘管緩存(cache)仍然被改寫了。

--quiet

--silent
當'configure'進行他的測試時,會輸出簡要的信息來告訴用戶正在作什麼。這樣作是因爲'configure'可能會比較慢,沒有這種輸出的話用戶將會被扔在一旁疑惑正在發生什麼,使用這兩個選項中的任何一個都會把你扔到一旁。(譯註:這兩句話比較有意思,原文是這樣的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)

--version
打印用來產生'configure'腳本的Autoconf的版本號。

--prefix=PEWFIX
'--prefix'是最常用的選項。製作出的'Makefile'會查看隨此選項傳遞的參數,當一個包在安裝時可以徹底的重新安置他的結構獨立部分。舉一個例子,當安裝一個包,例如說Emacs,下面的命令將會使Emacs Lisp file被安裝到"/opt/gnu/share":

$ ./configure --prefix=/opt/gnu

--exec-prefix=EPREFIX
與'--prefix'選項類似,但是他是用來設置結構倚賴的文件的安裝位置,編譯好的'emacs'二進制文件就是這樣一個問件。如果沒有設置這個選項的話,默認使用的選項值將被設爲和'--prefix'選項值一樣。

--bindir=DIR
指定二進制文件的安裝位置,這裏的二進制文件定義爲可以被用戶直接執行的程序。

--sbindir=DIR
指定超級二進制文件的安裝位置。這是一些通常只能由超級用戶執行的程序。

--libexecdir=DIR
指定可執行支持文件的安裝位置。與二進制文件相反,這些文件從來不直接由用戶執行,但是可以被上面提到的二進制文件所執行。

--datadir=DIR
指定通用數據文件的安裝位置。

--sysconfdir=DIR
指定在單個機器上使用的只讀數據的安裝位置。

--sharedstatedir=DIR
指定可以在多個機器上共享的可寫數據的安裝位置。

--localstatedir=DIR
指定只能單機使用的可寫數據的安裝位置。

--libdir=DIR
指定庫文件的安裝位置。

--includedir=DIR
指定C頭文件的安裝位置。其他語言如C++的頭文件也可以使用此選項。

--oldincludedir=DIR
指定爲除GCC外編譯器安裝的C頭文件的安裝位置。

--infodir=DIR
指定Info格式文檔的安裝位置.Info是被GNU工程所使用的文檔格式。

--mandir=DIR
指定手冊頁的安裝位置。

--srcdir=DIR
這個選項對安裝沒有作用,他會告訴'configure'源碼的位置。一般來說不用指定此選項,因爲'configure'腳本一般和源碼文件在同一個目錄下。

--program-prefix=PREFIX
指定將被加到所安裝程序的名字上的前綴。例如,使用'--program-prefix=g'來configure一個名爲'tar'的程序將會使安裝的程序被命名爲'gtar'。當和其他的安裝選項一起使用時,這個選項只有當他被`Makefile.in'文件使用時纔會工作。

--program-suffix=SUFFIX
指定將被加到所安裝程序的名字上的後綴。

--program-transform-name=PROGRAM
這裏的PROGRAM是一個sed腳本。當一個程序被安裝時,他的名字將經過`sed -e PROGRAM'來產生安裝的名字。

--build=BUILD
指定軟件包安裝的系統平臺。如果沒有指定,默認值將是'--host'選項的值。

--host=HOST
指定軟件運行的系統平臺。如果沒有指定。將會運行`config.guess'來檢測。

--target=GARGET
指定軟件面向(target to)的系統平臺。這主要在程序語言工具如編譯器和彙編器上下文中起作用。如果沒有指定,默認將使用'--host'選項的值。

--disable-FEATURE
一些軟件包可以選擇這個選項來提供爲大型選項的編譯時配置,例如使用Kerberos認證系統或者一個實驗性的編譯器最優配置。如果默認是提供這些特性,可以使用'--disable-FEATURE'來禁用它,這裏'FEATURE'是特性的名字,例如:

$ ./configure --disable-gui
-enable-FEATURE[=ARG] 相反的,一些軟件包可能提供了一些默認被禁止的特性,可以使用'--enable-FEATURE'來起用它。這裏'FEATURE'是特性的名字。一個特性可能會接受一個可選的參數。例如: $ ./configure --enable-buffers=128 `--enable-FEATURE=no'與上面提到的'--disable-FEATURE'是同義的。 --with-PACKAGE[=ARG] 在自由軟件社區裏,有使用已有軟件包和庫的優秀傳統。當用'configure'來配置一個源碼樹時,可以提供其他已經安裝的軟件包的信息。例如,倚賴於 Tcl和Tk的BLT器件工具包。要配置BLT,可能需要給'configure'提供一些關於我們把Tcl和Tk裝的何處的信息: $ ./configure --with-tcl=/usr/local --with-tk=/usr/local '--with-PACKAGE=no'與下面將提到的'--without-PACKAGE'是同義的。 --without-PACKAGE 有時候你可能不想讓你的軟件包與系統已有的軟件包交互。例如,你可能不想讓你的新編譯器使用GNU ld。通過使用這個選項可以做到這一點: $ ./configure --without-gnu-ld --x-includes=DIR 這個選項是'--with-PACKAGE'選項的一個特例。在Autoconf最初被開發出來時,流行使用'configure'來作爲 Imake的一個變通方法來製作運行於X的軟件。'--x-includes'選項提供了向'configure'腳本指明包含X11頭文件的目錄的方法。 --x-libraries=DIR 類似的,'--x-libraries'選項提供了向'configure'腳本指明包含X11庫的目錄的方法。 在源碼樹中運行'configure'是不必要的同時也是不好的。一個由'configure'產生的良好的'Makefile'可以構築源碼屬於另一棵樹的軟件包。在一個獨立於源碼的樹中構築派生的文件的好處是很明顯的:派生的文件,如目標文件,會凌亂的散佈於源碼樹。這也使在另一個不同的系統或用不同的配置選項構築同樣的目標文件非常困難。建議使用三棵樹:一棵源碼樹(source tree),一棵構築樹(build tree),一棵安裝樹(install tree)。這裏有一個很接近的例子,是使用這種方法來構築GNU malloc包: $ gtar zxf mmalloc-1.0.tar.gz $ mkdir build && cd build $ ../mmalloc-1.0/configure creating cache ./config.cache checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for a BSD compatible install... /usr/bin/install -c checking host system type... i586-pc-linux-gnu checking build system type... i586-pc-linux-gnu checking for ar... ar checking for ranlib... ranlib checking how to run the C preprocessor... gcc -E checking for unistd.h... yes checking for getpagesize... yes checking for working mmap... yes checking for limits.h... yes checking for stddef.h... yes updating cache ../config.cache creating ./config.status 這樣這棵構築樹就被配置了,下面可以繼續構築和安裝這個包到默認的位置'/usr/local': $ make all && make install