Linux之info指令用法
Linux info 指令
info 是 Linux 系統(tǒng)中用于查看 GNU 軟件文檔的命令行工具,提供交互式、結(jié)構(gòu)化的方式訪問詳細(xì)幫助信息。與 man 命令相比,info 文檔更全面,組織更模塊化,支持超鏈接導(dǎo)航,適合深入學(xué)習(xí) GNU 工具和庫的用法。作為 GNU 項(xiàng)目的一部分,info 廣泛應(yīng)用于 Linux 發(fā)行版(如 Ubuntu、CentOS、Arch Linux),為開發(fā)者、系統(tǒng)管理員和用戶提供強(qiáng)大的技術(shù)參考。
什么是 info 指令?
概述
info 是 Linux 命令行工具,用于瀏覽以 Info 格式編寫的 GNU 軟件文檔。
Info 文檔是 GNU 項(xiàng)目開發(fā)的超文本文檔系統(tǒng),基于 Texinfo 格式,涵蓋 GNU 工具(如 gcc、bash)、庫(如 libc)及系統(tǒng)的詳細(xì)說明。相比 man 頁面注重簡潔參考,info 文檔更像結(jié)構(gòu)化的電子書,包含章節(jié)、子章節(jié)、索引和交叉引用,適合系統(tǒng)性學(xué)習(xí)。
info 通過交互式界面或直接查詢?cè)L問文檔,支持導(dǎo)航、搜索和定制化輸出,是 Linux 用戶獲取技術(shù)信息的重要工具。
核心概念
- Info 文檔:Texinfo 格式的超文本文件,通常存儲(chǔ)在
/usr/share/info。 - 節(jié)點(diǎn)(Node):Info 文檔的基本單元,類似章節(jié)或頁面。
- 超鏈接:通過菜單或交叉引用連接節(jié)點(diǎn),支持跳轉(zhuǎn)。
- 索引:提供關(guān)鍵詞快速定位功能。
- 交互模式:默認(rèn)啟動(dòng)交互式界面,類似文本瀏覽器。
- 命令行模式:支持非交互式查詢,輸出特定節(jié)點(diǎn)或段落。
退出狀態(tài):
- 成功:返回 0。
- 失敗(如文檔不存在):返回非 0。
核心特點(diǎn)
- 結(jié)構(gòu)化文檔:分層組織,適合深入學(xué)習(xí)。
- 交互導(dǎo)航:支持菜單、索引和超鏈接。
- 跨平臺(tái):GNU 標(biāo)準(zhǔn),兼容 Linux、BSD、macOS。
- 搜索功能:支持全文和索引搜索。
- 定制輸出:可提取特定節(jié)點(diǎn)或格式化輸出。
- 開源:與 GNU 生態(tài)緊密集成。
基本語法
info [選項(xiàng)] [主題] [節(jié)點(diǎn)]
參數(shù)說明
- 主題:查詢的文檔或程序名(如
bash、gcc)。 - 節(jié)點(diǎn):文檔中的具體節(jié)點(diǎn)(如
Commands),可選。
選項(xiàng):
-f, --file=FILE:指定 Info 文件路徑。-n, --node=NODE:直接打開指定節(jié)點(diǎn)。-o, --output=FILE:輸出到文件。-w, --where:顯示文檔路徑。--apropos=STRING:搜索相關(guān)文檔。--index-search=STRING:搜索索引。-h, --help:顯示幫助。--version:顯示版本。
輸出行為
- 交互模式:啟動(dòng)文本界面,顯示文檔內(nèi)容。
- 非交互模式:輸出指定節(jié)點(diǎn)或搜索結(jié)果到 stdout。
- 錯(cuò)誤:文檔不存在或選項(xiàng)無效時(shí),輸出到 stderr。
注意事項(xiàng)
依賴 Texinfo:
確保安裝 texinfo 包:
sudo apt install texinfo # Ubuntu sudo dnf install texinfo # CentOS
文檔位置:
- 默認(rèn)在
/usr/share/info,可通過INFOPATH擴(kuò)展。
鍵盤導(dǎo)航:
- 交互模式需熟悉快捷鍵(如
n、p、q)。
與 man 區(qū)別:
info更詳細(xì),適合學(xué)習(xí);man更簡潔,適合快速參考。
網(wǎng)絡(luò)限制:
- 依賴本地文檔,無需聯(lián)網(wǎng)。
安全性:
- 僅加載可信 Info 文件。
info 的常見用途
應(yīng)用場景
- 學(xué)習(xí) GNU 工具:深入了解
bash、gcc等工具用法。 - 開發(fā)參考:查詢
libc或make的詳細(xì)文檔。 - 系統(tǒng)管理:獲取系統(tǒng)工具(如
coreutils)配置說明。 - 腳本開發(fā):查找 Shell 內(nèi)置命令細(xì)節(jié)。
- 教育培訓(xùn):為初學(xué)者提供結(jié)構(gòu)化學(xué)習(xí)資源。
- 調(diào)試問題:通過索引定位功能或錯(cuò)誤。
基礎(chǔ)用法與示例
準(zhǔn)備工作
以下示例假設(shè)運(yùn)行在 Bash shell(如 Ubuntu 24.04,當(dāng)前時(shí)間為 2025年6月12日周四下午3:27 CST)。測(cè)試環(huán)境為標(biāo)準(zhǔn) Linux 系統(tǒng)(如 Ubuntu、CentOS),確保 info 和 texinfo 已安裝(info --version)。示例涉及常見 GNU 工具(如 bash、coreutils)的文檔查詢,使用交互和非交互模式。命令在終端運(yùn)行,假設(shè) /usr/share/info 包含必要文檔。
檢查 info
info --version
輸出:
info (GNU texinfo) 7.1
檢查 Texinfo
dpkg -l | grep texinfo # Ubuntu rpm -q texinfo # CentOS
驗(yàn)證文檔
ls /usr/share/info | head -n 5
輸出:
bash.info.gz coreutils.info.gz gcc.info.gz glibc.info.gz make.info.gz
示例 1:查看 bash 文檔
命令
info bash
說明
- 以交互模式打開
bashInfo 文檔。 - 顯示頂級(jí)節(jié)點(diǎn),包含子主題菜單,如“Commands”或“Variables”。
輸出(交互模式)
File: bash.info, Node: Top, Next: Introduction, Up: (dir) Bash Reference Manual ******************** This manual is the reference for Bash, the GNU Bourne-Again Shell... * Menu: * Introduction:: An introduction to the shell. * Definitions:: Some definitions used in the rest of this manual. * Basic Shell Features:: The basic features of the shell. ... --:-- (bash)Top
導(dǎo)航
n:下一節(jié)點(diǎn)。p:上一節(jié)點(diǎn)。u:返回父節(jié)點(diǎn)。q:退出。
示例 2:直接訪問特定節(jié)點(diǎn)
命令
info bash 'Shell Variables'
說明
- 打開
bash文檔中的“Shell Variables”節(jié)點(diǎn)。
輸出(交互模式)
File: bash.info, Node: Shell Variables, Next: Bash Variables, Up: Variables 5.2 Shell Variables ================== Variables are used to store data in the shell... * Menu: * Bourne Shell Variables:: Variables recognized by Bourne shells. * Special Parameters:: Parameters with special meaning. ...
示例 3:非交互式輸出
命令
info bash 'Shell Variables' -o /tmp/variables.txt cat /tmp/variables.txt | head -n 10
說明
- 將“Shell Variables”節(jié)點(diǎn)輸出到
/tmp/variables.txt。
輸出
Shell Variables *************** Variables are used to store data in the shell... * Bourne Shell Variables: Variables recognized by Bourne shells. * Special Parameters: Parameters with special meaning. ...
示例 4:搜索相關(guān)文檔
命令
info --apropos grep
說明
- 搜索與
grep相關(guān)的文檔。
輸出
"(coreutils)grep invocation" -- grep "(grep)Top" -- grep "(regex)Top" -- Regular Expressions ...
示例 5:查找索引
命令
info bash --index-search PATH
說明
- 在
bash文檔索引中搜索“PATH”。
輸出(交互模式)
File: bash.info, Node: Bourne Shell Variables, Up: Shell Variables
5.2.1 Bourne Shell Variables
----------------------------
`PATH`
The search path for commands...
示例 6:顯示文檔路徑
命令
info --where bash
說明
- 顯示
bashInfo 文件路徑。
輸出
/usr/share/info/bash.info.gz
常用選項(xiàng)與功能
文檔查詢
| 選項(xiàng) | 描述 |
|---|---|
| -f FILE | 指定 Info 文件 |
| -n NODE | 打開特定節(jié)點(diǎn) |
| --apropos=STRING | 搜索相關(guān)主題 |
| --index-search=STRING | 搜索索引 |
示例
info -f /usr/share/info/gcc.info.gz
輸出控制
| 選項(xiàng) | 描述 |
|---|---|
-o FILE | 輸出到文件 |
--subnodes | 包含子節(jié)點(diǎn) |
--output=- | 輸出到 stdout |
示例
info bash --subnodes -o /tmp/bash_full.txt
環(huán)境配置
| 變量 | 描述 |
|---|---|
INFOPATH | Info 文件搜索路徑 |
PAGER | 輸出分頁器(如 less) |
示例
export INFOPATH=/custom/info:$INFOPATH info mydoc
高級(jí)用法
概述
info 的高級(jí)用法涉及腳本化、自定義 Info 文件、與其他工具結(jié)合以及自動(dòng)化文檔任務(wù),適合開發(fā)者和管理員。
1. 自動(dòng)化文檔提取
腳本
#!/bin/bash
TOPICS=("bash" "gcc" "make")
for topic in "${TOPICS[@]}"; do
info "$topic" --subnodes -o "/tmp/${topic}_doc.txt"
echo "已提取 $topic 文檔"
done
說明
- 提取多個(gè)主題的完整文檔。
輸出
已提取 bash 文檔 已提取 gcc 文檔 已提取 make 文檔
2. 創(chuàng)建自定義 Info 文件
Texinfo 源文件 (/tmp/example.texi)
\input texinfo @setfilename example.info @settitle 示例手冊(cè) @node Top @top 示例手冊(cè) 這是一個(gè)示例 Info 文檔。 @menu * 第一章:: 第一章內(nèi)容。 @end menu @node 第一章 @chapter 第一章 第一章的內(nèi)容。 @end texinfo
命令
makeinfo --info /tmp/example.texi -o /tmp/example.info info -f /tmp/example.info
說明
- 創(chuàng)建并查看自定義 Info 文件。
輸出(交互模式)
File: example.info, Node: Top, Next: 第一章, Up: (dir) 示例手冊(cè) ******** 這是一個(gè)示例 Info 文檔。 * Menu: * 第一章:: 第一章內(nèi)容。
3. 與 grep 結(jié)合
命令
info bash --subnodes | grep -i "environment variable"
說明
- 在
bash文檔中搜索“environment variable”。
輸出
5.2 Shell Variables
Environment variables are used to...
* PATH: The search path for commands.
...
4. 腳本化索引搜索
腳本
#!/bin/bash
TOPIC=$1
KEYWORD=$2
info "$TOPIC" --index-search="$KEYWORD" -o /tmp/result.txt
if [ $? -eq 0 ]; then
cat /tmp/result.txt | head -n 10
else
echo "在 $TOPIC 中未找到 $KEYWORD"
fi
示例
./script.sh bash PATH
說明
- 搜索索引中的關(guān)鍵詞并輸出結(jié)果。
輸出
`PATH`
The search path for commands...
5. 自定義 INFOPATH
命令
mkdir /tmp/custom_info cp /tmp/example.info /tmp/custom_info/ export INFOPATH=/tmp/custom_info:$INFOPATH info example
說明
- 配置自定義 Info 目錄。
輸出(交互模式)
File: example.info, Node: Top, Next: 第一章, Up: (dir) ...
使用 info 時(shí)的注意事項(xiàng)
文檔可用性:
確保安裝 Info 文件:
sudo apt install bash-doc # Ubuntu
導(dǎo)航學(xué)習(xí)曲線:
- 熟悉快捷鍵(如
n、p、m、q)。
文件壓縮:
- Info 文件可能是
.gz格式,自動(dòng)處理。
Man 作為備選:
無 Info 文檔時(shí)嘗試 man:
man bash
環(huán)境變量:
檢查 INFOPATH:
echo $INFOPATH
高級(jí)技巧與實(shí)戰(zhàn)案例
概述
以下是高級(jí)技巧和實(shí)戰(zhàn)案例,展示 info 在復(fù)雜場景中的應(yīng)用。
案例 1:開發(fā)者參考腳本
腳本
#!/bin/bash
echo "輸入主題(如 bash、gcc):"
read topic
info "$topic" --subnodes -o "/tmp/${topic}_ref.txt"
gzip "/tmp/${topic}_ref.txt"
echo "文檔已保存為 /tmp/${topic}_ref.txt.gz"
說明
- 保存壓縮的文檔以供離線使用。
輸出
輸入主題(如 bash、gcc): bash 文檔已保存為 /tmp/bash_ref.txt.gz
案例 2:自動(dòng)化索引報(bào)告
腳本
#!/bin/bash
TOPIC="coreutils"
KEYWORDS=("ls" "cp" "mv")
for keyword in "${KEYWORDS[@]}"; do
echo "在 $TOPIC 中搜索 $keyword:"
info "$TOPIC" --index-search="$keyword" -o "/tmp/${keyword}.txt"
cat "/tmp/${keyword}.txt" | head -n 5
done
說明
- 為多個(gè)關(guān)鍵詞生成報(bào)告。
輸出
在 coreutils 中搜索 ls:
`ls`
List directory contents...
在 coreutils 中搜索 cp:
`cp`
Copy files and directories...
案例 3:安全 Info 訪問
腳本
#!/bin/bash
INFO_FILE=/tmp/example.info
if [ -O "$INFO_FILE" ]; then
info -f "$INFO_FILE"
else
echo "不可信的 Info 文件"
exit 1
fi
說明
- 僅加載用戶擁有的 Info 文件。
輸出
不可信的 Info 文件
案例 4:文檔同步
腳本
#!/bin/bash
DEST=/tmp/info_backup
mkdir -p "$DEST"
cp /usr/share/info/*.info.gz "$DEST"
for file in "$DEST"/*.info.gz; do
info -f "$file" --subnodes -o "${file%.gz}.txt"
done
echo "備份完成,位于 $DEST"
說明
- 備份 Info 文件并轉(zhuǎn)為文本。
輸出
備份完成,位于 /tmp/info_backup
案例 5:動(dòng)態(tài)查詢工具
腳本
#!/bin/bash echo "輸入主題和關(guān)鍵詞(如 bash PATH):" read topic keyword info "$topic" --index-search="$keyword" --output=- | less
說明
- 交互式關(guān)鍵詞搜索工具。
輸出
`PATH`
The search path for commands...
(按 q 退出)
總結(jié)
info 是 Linux 系統(tǒng)中訪問 GNU 結(jié)構(gòu)化文檔的強(qiáng)大工具,適合學(xué)習(xí)和參考。本文從基礎(chǔ)到高級(jí),結(jié)合詳細(xì)示例和注意事項(xiàng),全面介紹了 info 的功能。無論是探索 bash 特性、創(chuàng)建自定義 Info 文件還是自動(dòng)化文檔任務(wù),info 都能提供可靠支持。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux把一個(gè)文件的內(nèi)容復(fù)制到另一個(gè)文件的末尾
這篇文章主要介紹了linux把一個(gè)文件的內(nèi)容復(fù)制到另一個(gè)文件的末尾,文中給大家提到了linux 把文件末尾輸出到另一個(gè)文件的方法,需要的朋友可以參考下2019-08-08
詳解Linux如何將一個(gè)文件夾的所有內(nèi)容授權(quán)給某一個(gè)用戶?
這篇文章主要介紹了Linux如何將一個(gè)文件夾的所有內(nèi)容授權(quán)給某一個(gè)用戶,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Ubuntu18.04 linux系統(tǒng)安裝JDK與Mysql的方法
這篇文章主要介紹了Ubuntu18.04 linux系統(tǒng)安裝JDK與Mysql的方法,需要的朋友可以參考下2020-02-02
centOS7 NET模式設(shè)置靜態(tài)Ip的方法步驟
這篇文章主要給大家介紹了關(guān)于centOS7 NET模式設(shè)置靜態(tài)Ip的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用centOS7系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
linux_HDFS文件上傳后的追加報(bào)錯(cuò)問題
這篇文章主要介紹了linux_HDFS文件上傳后的追加報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
apache設(shè)置自動(dòng)將http跳轉(zhuǎn)到https的方法
客戶中心啟用了https的ssl證書,現(xiàn)在需要將原先的http直接跳轉(zhuǎn)到https上。這里為大家提供一個(gè)我經(jīng)常使用到的方法,即使用偽靜態(tài)功能2013-02-02
關(guān)于Linux本地虛擬機(jī)ping不通,未知的名稱或服務(wù)已解決
在配置虛擬機(jī)網(wǎng)絡(luò)時(shí),首先需要在本地檢查本機(jī)IP和網(wǎng)關(guān),確保與虛擬機(jī)中的虛擬網(wǎng)卡設(shè)置一致,具體步驟包括使用cmd命令行工具通過ipconfig命令查看本機(jī)的IP地址和網(wǎng)關(guān),確認(rèn)虛擬網(wǎng)卡的IP地址在相同網(wǎng)段且網(wǎng)關(guān)設(shè)置正確2024-11-11

