自學Linux Shell3.1-幫助命令man

點擊返回 自學Linux命令行與Shell腳本之路html

3.1-幫助命令man

1.man命令概述

默認bash shell提示符是美圓符號($),這個符號代表shell在等待用戶輸入。shell

Linux man命令的使用方法ubuntu

Linux提供了豐富的幫助手冊,使用Linux man命令來查看一些不熟悉的命令的使用方法,還能夠用來查詢系統庫文件中的一些函數定義和使用方法。bash

Linux man中的man就是manual的縮寫,用來查看系統中自帶的各類參考手冊,可是手冊頁分爲好幾個部分,以下所示:socket

  • 1   Executable programs or shell commands普通的命令
  • 2   System calls (functions provided by the kernel)系統調用,如open,write之類的(經過這個,至少能夠很方便的查到調用這個函數,須要加什麼頭文件)
  • 3   Library calls (functions within program libraries)庫函數,如printf,fread
  • 4   Special files (usually found in /dev)特殊文件,也就是/dev下的各類設備文件
  • 5   File formats and conventions eg /etc/passwd指文件的格式,好比passwd,就會說明這個文件中各個字段的含義
  • 6   Games給遊戲留的,由各個遊戲本身定義
  • 7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)附件還有一些變量,好比向environ這種全局變量在這裏就有說明
  • 8   System administration commands (usually only for root)系統管理用的命令,這些命令只能由root使用,如ifconfig
  • 9   Kernel routines [Non standard]內核使用

語法

man(選項)(參數)

選項

-a:在全部的man幫助手冊中搜索;
-f:等價於whatis指令,顯示給定關鍵字的簡短描述信息;
-P:指定內容時使用分頁程序;
-M:指定man手冊搜索的路徑。

參數

  • 數字:指定從哪本man手冊中搜索幫助;
  • 關鍵字:指定要搜索幫助的關鍵字。

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

實例

咱們輸入man ls,它會在最左上角顯示「LS(1)」,在這裏,「LS」表示手冊名稱,而「(1)」表示該手冊位於第一節章,一樣,咱們輸man ifconfig它會在最左上角顯示「IFCONFIG(8)」。也能夠這樣輸入命令:「man [章節號] 手冊名稱」。函數

man是按照手冊的章節號的順序進行搜索的,好比:man sleepspa

只會顯示sleep命令的手冊,若是想查看庫函數sleep,就要輸入:  man 3 sleep命令行

2.Ubantu系統中man

 ubuntu默認是沒有安裝c語言的庫函數man手冊的,因此你在man perror和sendto之類的函數時會顯示沒有相關文檔的問題,具體辦法以下:code

 輸入:  sudo apt-get install manpages-dev

如何讓將man手冊中的英文變成中文顯示?

ubuntu源裏面已經包含了中文的man包,因此不用從其餘地方down了,直接   sudo apt-get install manpages-zh

可是這樣man默認顯示的還不是中文,還須要如下兩步

a.把中文man包轉換成utf8格式的

     新建一個腳本文件  gedit t.sh

     把下面內容添加進去

           #!/bin/bashcd /usr/share/man/zh_CN/for k in *docd $kfor i in *.gzdo j=`echo ${i%.gz}` gunzip $i iconv -f gb18030 -t utf8 $j >tmp mv tmp $j gzip $jdonecd ..done

     而後  sudo ./t

b.修改man默認的語言   sudo gedit /etc/manpath.config把裏面的全部的/usr/share/man改爲/usr/share/man/zh_CN

     保存後退出,而後你再試一下man ls

 如何讓沒有中文幫助的顯示英文?

經過以上你將發現man一下一些c語言函數(不要用printf,socket之類比較有名的函數,這些已經有中文幫助了)的時候就會發現居然沒有幫助,而剛纔明明在第一步已經安裝了啊。這是由於你上面把/usr/share/man改爲/usr/share/man/zh_CN的操做使 man只在中文幫助中搜索,若是沒有就直接放棄,所以還須要如下操做,才能讓man在沒有中文幫助的時候自動顯示英文的幫助

sudo gedit /etc/manpath.config

而後搜索你剛纔改過的地方,而後在其後面添加一樣的一行,只是後面的目錄還用原來的/usr/share/man,好比在修改後的

MANPATH_MAP /bin       /usr/share/man/zh_CN

再添加一行

MANPATH_MAP /bin       /usr/share/man

相關文章
相關標籤/搜索