Info

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Info and the translation is 20% complete.
Outdated translations are marked like this.
Resources
This article has some todo items:
  • Rework to be less verbose.
  • etc.
Pinfo showing directory node.

The info command is used to view and navigate info pages that contain computer program documentation. It is part of the Texinfo documentation system.

아마 대부분 man 문서 시스템에 익숙할 것입니다. man 에서는 항목을 빨리 찾아보는데 좋지만 맨 페이지를 서로 연결하는 구조는 빠져있습니다. 그래서 info가 도입됐습니다. info 페이지는 texinfo 도구를 사용하여 만들었으며, 다른 페이지로 연결할 수 있고, 메뉴를 만들 수 있으며, 일반적으로 탐색이 용이해졌습니다. 다음 장에서는 어떻게 info 페이지를 배치하는지 보도록 하겠습니다.

Info pages are available even when a system is not connected to the Internet. The files are usually stored in /usr/share/info but are viewed with a dedicated program, such as the info command.

It is a real advantage to have documentation present on a system in a standardized and accessible way. Getting into the habit of looking for answers in the info and man pages is very good practice, they often contain the most complete documentation available.

Info may already be present on some systems, in which case this section can be skipped. Type whereis info (belongs to sys-apps/util-linux, which is usually part of the system set) to determine if info is already installed.

Emerge

Install sys-apps/texinfo package:

root #emerge --ask sys-apps/texinfo

Pinfo

pinfo (app-text/pinfo) is a colorized alternative to the info viewer, with enhanced browsing facilities. If desired, this could be installed instead of or in parallel to sys-apps/texinfo (in which case substitute pinfo for info when following the rest of this document):

root #emerge --ask sys-apps/pinfo

See the pinfo documentation, website, and github for more information.

Usage

Invocation

To begin viewing - and navigating through - the info pages, invoke info with no arguments. The user will be presented with an overview of the documentation stored on their system:

user $info

Options:

user $info --help
Usage: info [OPTION]... [MENU-ITEM...]
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
Read documentation in Info format.
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
Frequently-used options:
  -a, --all                    use all matching manuals
  -k, --apropos=STRING         look up STRING in all indices of all manuals
  -d, --directory=DIR          add DIR to INFOPATH
  -f, --file=MANUAL            specify Info manual to visit
  -h, --help                   display this help and exit
      --index-search=STRING    go to node pointed by index entry STRING
  -n, --node=NODENAME          specify nodes in first visited Info file
  -o, --output=FILE            output selected nodes to FILE
  -O, --show-options, --usage  go to command-line options node
      --subnodes               recursively output menu items
  -v, --variable VAR=VALUE     assign VALUE to Info variable VAR
      --version                display version information and exit
  -w, --where, --location      print physical location of Info file
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
The first non-option argument, if present, is the menu entry to start from;
it is searched for in all 'dir' files along INFOPATH.
If it is not present, info merges all 'dir' files and shows the result.
Any remaining arguments are treated as the names of menu
items relative to the initial node visited.
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
For a summary of key bindings, type H within Info.
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
Examples:
  info                         show top-level dir menu
  info info-stnd               show the manual for this Info program
  info emacs                   start at emacs node from top-level dir
  info emacs buffers           select buffers menu entry in emacs manual
  info emacs -n Files          start at Files node within emacs manual
  info '(emacs)Files'          alternative way to start at Files node
  info --show-options emacs    start at node with emacs' command line options
  info --subnodes -o out.txt emacs
                               dump entire emacs manual to out.txt
  info -f ./foo.info           show file ./foo.info, not searching dir
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
Email bug reports to bug-texinfo@gnu.org,
general questions and discussion to help-texinfo@gnu.org.
Texinfo home page: http://www.gnu.org/software/texinfo/

메뉴 탐색

이제 info를 시작하면 다음과 같은 화면을 보게 됩니다:

코드 info 화면 예제
File: dir,      Node: Top       This is the top of the INFO tree
 
  This (the Directory node) gives a menu of major topics.
  Typing "q" exits, "?" lists all Info commands, "d" returns here,
  "h" gives a primer for first-timers,
  "mEmacs<Return>" visits the Emacs manual, etc.
 
  In Emacs, you can click mouse button 2 on a menu item or cross reference
  to select it.
 
* Menu:
 
User Interface Toolkit
* GDK: (gdk).           The General Drawing Kit
* GTK: (gtk).           The GIMP Toolkit
 
GNU programming tools
* Autoconf v2.1: (autoconf).         Create source code configuration scripts.

바로 지금 앞에 별표 문자가 붙은 수많은 항목을 보고 있습니다. 다른 노드 레벨에서 탐색할 메뉴 항목입니다. 메뉴를 선택하는데는 두가지 방법이 있습닌다. 먼저번의 방법은 지금 보고 다른 방법은 나중에 보도록 하겠습니다. 먼저 wget info 페이지로 이동하겠습니다. 아래로 이동하려면 wget 줄에 도달할 때까지 아래 화살표 키를 사용하십시오:

There are two ways of selecting menus, either with arrows or by number. In order to look at the wget info page, navigating with the arrow keys, use the key until reaching the line for wget:

코드 wget info 메뉴 항목 탐색
Network Applications
* GnuTLS: (gnutls).                     Package for Transport Layer Security.
* Wget: (wget).         The non-interactive network downloader.
* certtool: (gnutls)Invoking certtool.  Manipulate certificates and keys.
* gnutls-cli: (gnutls)Invoking gnutls-cli.      GNU TLS test client.
* gnutls-cli-debug: (gnutls)Invoking gnutls-cli-debug.  GNU TLS debug client.
* gnutls-serv: (gnutls)Invoking gnutls-serv.    GNU TLS test server.
* srptool: (gnutls)Invoking srptool.    Simple SRP password tool.

해당 줄로 이동하고 나서 메뉴 항목을 선택하려면 Enter키를 치십시오. wget에 대한 info 페이지를 가져옵니다:

코드 wget info 페이지
File: wget.info,  Node: Top,  Next: Overview,  Up: (dir)
 
Wget 1.10.2
***********
 
This manual documents version 1.10.2 of GNU Wget, the freely available
utility for network downloads.
 
   Copyright (C) 1996-2005 Free Software Foundation, Inc.
 
* Menu:
 
* Overview::            Features of Wget.
* Invoking::            Wget command-line arguments.
* Recursive Download::  Downloading interlinked pages.
* Following Links::     The available methods of chasing links.
* Time-Stamping::       Mirroring according to time-stamps.
* Startup File::        Wget's initialization file.

노드 용어 중에 wget 페이지의 Top 노드를 고려합니다. Top 노드는 각 일부 info 페이지에 대한 목차와 같다는 점을 고려하십시오. 이제 실제 페이지 자체를 탐색하면 몇가지 다른 방식의 진행을 볼 수 있습니다. 먼저 방법은 표준 info 방식입니다. 이 방식은 다음 페이지를 이동할때 Space키를 사용하며 이전 페이지를 이동하려면 Backspace/Delete 키를 사용합니다. 이 방식은 문서상에서 적당한 노드로 자동으로 앞으로 이동하거나 뒤로 이동하는 방식이므로 추천합니다. 이 방식을 통해 맨페이지에서 사용한 선형 탐색 같은 탐색 동작이 가능합니다. 다른 방법은 Page up/Page down 키를 통한 방법입니다. 동작은 하는데 Space/Backspace/Delete 키를 조작하는 것처럼 동작하지는 않습니다. Space/Backspace/Delete를 사용하여 전체 노드를 건너뛰려면 [ (완전히 뒤로)키와 ](완전히 앞으로)키를 사용할 수 있습니다.

To navigate the page itself, users have a couple of different methods. First off is the standard info method. This is using the Space key to move forward a page and the Backspace/Delete keys to move back a page. This is the recommended method as it automatically advances/retreats to the appropriate node in the document. In order to skip entire nodes without using Space/Backspace/Delete, users can also use the [ (advance backwards) and ] (advance forwards) keys.

Another way to navigate is through the Page up/Page down keys. These work, but they will not advance/retreat like Space/Backspace/Delete will.

앞에서 말했던 바와 같이 메뉴 탐색에는 두가지 방식이 있습니다. 다른 방법은 이제 여기서 설명할 것입니다. 1-9 숫자키를 문서상의 첫번째~아홉번째 메뉴 항목을 참조하는데 사용할 수 있습니다. 이 동작은 문서를 빨리 충분히 읽을때 사용합니다. 예를 들어 Recursive Download 메뉴 항목으로 이동하는데 3키를 사용해보겠습니다. 3 키를 누르면 Recursive Download 화면을 띄웁니다:

코드 Recursive Download 결과 화면
File: wget.info,  Node: Recursive Download,  Next: Following Links,  Prev: Invoking,  Up: Top
 
3 Recursive Download
********************
 
GNU Wget is capable of traversing parts of the Web (or a single HTTP or
FTP server), following links and directory structure.  We refer to this
as to "recursive retrieval", or "recursion".

이제 Recursive Download 화면을 띄운 상태입니다. 이제 몇가지를 알아둘 적절한 때가 왔습니다. 최상단 헤더 섹션이 첫번째입니다. 여기 헤더는 일부 화면에서 탐색할 수 있는 항목을 보여줍니다. Next: 로 나타난 페이지는 n 키를 누르면 접근할 수 있고, Prev:로 나타난 페이지는 p 키를 누르면 접근할 수 있습니다. 참고로 이 방법은 동일한 레벨에서만 동작합니다. 과도하게 사용하면 전혀 관련 없는 내용으로 이동할 수 있습니다. 연속된 방식으로 탐색하는 Space/Backspace/Delete/[/] 키 사용 방식이 더 좋습니다.

어떤 이유로 인해 탐색 대상을 잃었다면, 해당 상황에서 빠져나올 수 있는 몇가지 방법이 있습니다. 첫번째는 t 키의 사용입니다. 탐색중인 info 페이지 일부에 대해 최상단(목차)로 바로 이동하게 합니다. 보던 마지막 페이지로 되돌아가려면 l 키를 사용할 수 있습니다. 상위 레벨로 이동하려면 u 키로 이동할 수 있습니다. 페이지를 탐색하는 몇가지 방법을 알아냈고, 이제 다음 장에서 컨텐트를 검색하는 방법을 살펴보겠습니다.

다른 info 페이지 탐색

이제 여러분은 각각의 info 페이지를 탐색할 수 있게 되었습니다. 다른 info 페이지를 접근하는데 있어 이 내용을 살펴보는것은 중요합니다. 첫번째 확실한 방법은 info 페이지의 dir 색인 목록을 통한 info 페이지 이동입니다. 깊숙한 문서 내에서 dir 핵인을 가져오려면 간단하게 d 키를 누르십시오. 그러면 원하는 적당한 페이지를 찾을 수 있습니다. 허나, 실제 페이지를 알고 있다면 goto node(g 키)명령을통한 더 쉬운 방법이 있습니다. info 페이지를 이름을 사용하여 이동하려면, g 키를 입력하고 프롬프트를 띄운 다음 괄호 안의 페이지 이름을 입력하십시오:

코드 이름으로 info 페이지 이동
* Startup File::        Wget's initialization file.
* Examples::            Examples of usage.
* Various::             The stuff that doesn't fit anywhere else.
* Appendices::          Some useful references.
* Copying::             You may give out copies of Wget and of this manual.
--zz-Info: (wget.info.gz)Top, 24 lines --Top-------------------------------
Goto node: (libc)

이 동작은 아래와 같이 libc 페이지를 띄울 것입니다:

코드 goto node 명령 결과
File: libc.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 
Main Menu
*********
 
This is Edition 0.10, last updated 2001-07-06, of `The GNU C Library
Reference Manual', for Version 2.3.x of the GNU C Library.
 
* Menu:
 
* Introduction::                 Purpose of the GNU C Library.

이제 이름을 사용하여 info 페이지를 이동하는 방법을 알았습니다. 다음장에서 info 페이지 색인을 사용하여 정보 일부를 검색하는 방법을 살펴보도록 하겠습니다.

info 에서 검색하기

색인을 사용한 검색

이 예제를 통해 libc info 페이지 색인을 사용하여 C 라이브러리의 printf 함수를 어떻게 찾는지 살펴보도록 하겠습니다. 지금 아마도 여전히 libc info 페이지의 마지막 장에 있을텐데, 그렇지 않다면 마지막 장에 머무르기 위해 goto node 명령을 사용하십시오. 색인 검색을 활용하려면 i 키로 프롬프트를 띄우고 검색 단어를 입력하십시오. 아래에서 printf를 검색해보겠습니다:

코드 색인 검색 요청 입력
* Character Set Handling::       Support for extended character sets.
* Locales::                      The country and language can affect the
                                   behavior of library functions.
* Message Translation::          How to make the program speak the user's
                                   language.
--zz-Info: (libc.info.gz)Top, 1291 lines --Top-- Subfile: libc.info-1.gz-----
Index entry: printf

검색 요청 입력을 완료하고 엔터키를 누르면 printf에 대한 libc 정의로 이동합니다:

코드 색인 검색 요청 결과
File: libc.info,  Node: Formatted Output Functions,  Next: Dynamic Output,  Prev: Other Output Conversions,  Up: Formatted Output
 
12.12.7 Formatted Output Functions
----------------------------------
 
This section describes how to call `printf' and related functions.
Prototypes for these functions are in the header file `stdio.h'.
Because these functions take a variable number of arguments, you _must_
declare prototypes for them before using them.  Of course, the easiest
way to make sure you have all the right prototypes is to just include

이제 libc info 페이지 색인을 활용하여 검색을 제대로 해보았습니다. 그러나, 가끔 원하는 바는 페이지 자체에 있는 내용을 찾아보는 것입니다. 다음 장에서는 페이지 자체에서 검색을 수행하는 방법을 살펴보겠습니다.

검색 명령을 사용한 검색

Formatted Output Functions 노드 위치의 이전 위치에서 시작하여, printf의 변형 sprintf 변형을 찾아보겠습니다. 검색을 수행하려면 s 키를 눌러 검색 프롬프트를 띄우고, 검색 요청 단어를 입력하십시오(이 경우 sprintf 입니다):

코드 검색 요청 입력
-- Function: int wprintf (const wchar_t *TEMPLATE, ...)
     The `wprintf' function prints the optional arguments under the
     control of the wide template string TEMPLATE to the stream
     `stdout'.  It returns the number of wide characters printed, or a
--zz-Info: (libc.info.gz)Formatted Output Functions, 127 lines --Top-- Subfile: libc.info-3.gz--
Search for string []: sprintf

Enter 키를 치면 검색 요청의 결과를 보여줍니다:

코드 검색 요청 결과
-- Function: int sprintf (char *S, const char *TEMPLATE, ...)
     This is like `printf', except that the output is stored in the
     character array S instead of written to a stream.  A null
     character is written to mark the end of the string.
 
     The `sprintf' function returns the number of characters stored in
     the array S, not including the terminating null character.

이제 우리가 원하는 함수를 찾았습니다.

info 페이지 배치

주로 info 페이지는 /usr/share/info에 있습니다. man 디렉터리 배치 방식과는 달리 /usr/share/info에는 압축을 풀어낼 수 있는 내용이 있습니다. 이 파일은 다음 형식을 지니고 있습니다:

코드 info 파일 형식
pagename.info[-node].gz

pagename은 페이지의 실제 이름입니다(예: wget). [-node]는 다른 노드 레벨을 설계하는 추가 생성자입니다(보통 질문에 대해 info 문서의 최상단 레벨을 참조합니다). 디스크 공간을 절약하려는 목적으로 info 페이지를 gzip 압축 형식으로 압축합니다. 추가 info 페이지는 INFOPATH 환경 변수로 조회 할 수 있습니다(보통 /etc/env.d의 다양한 파일을 통해 설정합니다). 시작한다면 /usr/share/info/dir 파일을 참고하는 것이 중요합니다. 이 특별한 파일은 매개 변수 없이 info를 실행할 때 사용합니다. 사용자가 탐색할 수 있는 모든 info 페이지 목록이 들어있습니다. info에서 이리저리 탐색하기 위해, 인자를 사용하지 않고 바로 실행해서 가져오도록 해보겠습니다:

In order to save space these info pages are compressed using the gzip compression scheme by default. Configure the PORTAGE_COMPRESS variable in /etc/portage/make.conf to choose different compression algorithms.

Additional info pages can be listed with the INFOPATH environment variable (usually set through the various /etc/env.d/ files).

The /usr/share/info/dir file is used when info is run with no parameters. It contains a listing of all info pages available for users to browse.

추가 프로그램 자료

좀더 친숙한 그래픽 인터페이스를 통해 info 페이지를 탐색하려는 쉬운 방법을 갖추는데 다음 수단이 있습니다:

KDE의 브라우저 Konqueror에서 info: URI를 사용하면 info 페이지를 탐색할 수 있습니다.

Additional documentation

  • The info command can be used to view its own documentation:
user $info info
  • There is also documentation available in the man pages:
user $man info

See also

  • Man page — contains system reference documentation. It is found on most Unix-like systems.
  • tldr — a succinct help system for CLI commands.

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Chris White
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.