Linux / 명령어 / info - GNU 문서 확인

info는 GNU 프로그램의 Info 형식 설명서를 터미널에서 읽는 명령어입니다. man이 한 페이지를 위아래로 읽는 참조 문서에 가깝다면, info는 문서를 노드(node)라는 단위로 나누고 메뉴와 상호 참조로 연결하여 책처럼 탐색할 수 있게 합니다.

GNU Coreutils처럼 설명이 방대한 프로그램은 Info 문서에 개념, 옵션의 상호작용과 예제가 더 자세히 정리된 경우가 많습니다. 이 글에서는 문서를 여는 방법, 노드와 메뉴 이동, 본문·색인 검색, 특정 문서 위치로 바로 가는 방법과 문서가 없을 때의 해결 방법을 설명합니다.

info 명령어란?

info는 Texinfo 문서 시스템으로 만든 Info 파일을 읽는 텍스트 기반 문서 뷰어입니다. 일반적으로 Info 파일은 /usr/share/info 같은 디렉터리에 설치되며, 하나의 매뉴얼이 여러 노드로 나뉘어 계층 구조를 이룹니다.

Info 문서에는 하위 주제로 이동하는 메뉴, 다른 노드나 매뉴얼을 가리키는 상호 참조(cross-reference), 주제별 색인이 포함될 수 있습니다. 필요한 항목을 순서대로 읽는 것뿐 아니라 연관된 설명을 따라가거나 색인에서 용어를 찾는 데 적합합니다.

기본 문법과 시작 방법

GNU Info의 기본 문법은 다음과 같습니다. 대괄호는 선택 항목이고 말줄임표는 여러 항목을 지정할 수 있다는 뜻이므로 실제 명령에는 입력하지 않습니다.

info [옵션...] [매뉴얼] [메뉴-또는-색인-항목...]

인수 없이 실행하면 시스템에 등록된 Info 문서를 모은 최상위 디렉터리 메뉴가 열립니다.

info

info 자체의 일반 사용 안내와 독립 실행형 GNU Info의 상세 매뉴얼은 다음과 같이 열 수 있습니다.

info info
info info-stnd

특정 프로그램 이름을 지정하면 최상위 디렉터리에서 관련 항목을 찾아 해당 매뉴얼이나 노드로 이동합니다.

info ls
info coreutils

info ls는 별도의 ls.info 파일이 아니라 GNU Coreutils 매뉴얼 안의 ls 관련 노드로 연결될 수 있습니다. 최상위 디렉터리 항목이 매뉴얼 내부의 특정 노드를 직접 가리킬 수 있기 때문입니다.

Info 문서 구조 이해하기

처음 실행하면 일반 웹 페이지나 man과 다른 용어 때문에 복잡하게 느껴질 수 있습니다. 다음 네 가지 개념을 알면 문서 구조를 이해하기 쉽습니다.

용어 의미
노드(Node) Info 문서를 구성하는 페이지 단위입니다. 장이나 절 하나에 해당하는 경우가 많습니다.
메뉴(Menu) 현재 노드의 하위 주제나 관련 항목으로 이동할 수 있는 목록입니다.
상호 참조(Xref) 현재 설명과 관련된 다른 노드 또는 다른 Info 매뉴얼을 가리키는 링크입니다.
디렉터리 노드 시스템에 등록된 여러 Info 매뉴얼을 분류하여 보여 주는 최상위 메뉴입니다.

화면 위쪽에는 현재 파일과 노드 이름, Next, Prev, Up 같은 이동 대상이 표시될 수 있습니다. 아래쪽 모드 라인에는 현재 매뉴얼과 노드, 문서 내 위치 등의 상태가 나타납니다.

화면 이동과 문서 탐색에 사용하는 키

아래는 독립 실행형 GNU Info의 기본 키를 기준으로 한 표입니다. 사용자 설정이나 --vi-keys 옵션을 사용하면 일부 키가 달라질 수 있습니다.

키 동작
Space 다음 화면으로 이동하며, 노드 끝에서는 다음 노드로 이어서 이동할 수 있습니다.
Backspace, Delete 이전 화면으로 이동합니다. 터미널에 따라 동작하는 키가 다를 수 있습니다.
n 현재 노드의 Next 노드로 이동합니다.
p 현재 노드의 Prev 노드로 이동합니다.
u 한 단계 위의 Up 노드로 이동합니다.
t 현재 Info 파일의 Top 노드로 이동합니다.
d 설치된 매뉴얼을 모은 디렉터리 노드로 이동합니다.
l 방문 기록에서 이전에 보던 노드로 돌아갑니다.
m 이름을 입력하여 현재 노드의 메뉴 항목을 선택합니다.
Tab, Shift+Tab 화면의 다음 또는 이전 메뉴·상호 참조 항목으로 커서를 이동합니다.
Enter 커서가 놓인 메뉴 항목이나 상호 참조를 엽니다.
H 기본 키를 간단히 정리한 도움말 창을 엽니다.
h Info 사용법을 설명하는 도움말 노드로 이동합니다.
q Info를 종료합니다.

처음 사용할 때는 info info-stnd를 연 뒤 H를 눌러 기본 키를 확인하고, Space와 Backspace로 문서를 읽어 보는 것이 좋습니다.

메뉴와 상호 참조를 따라가는 방법

Tab과 Enter로 화면의 항목 선택하기

메뉴 또는 상호 참조가 화면에 보인다면 Tab으로 항목 사이를 이동하고 Enter로 선택할 수 있습니다. Shift+Tab은 이전 항목으로 돌아갑니다. 문서 구조를 아직 모를 때 가장 직관적인 탐색 방법입니다.

m으로 메뉴 이름 입력하기

m을 누르면 화면 아래의 입력 영역에 메뉴 항목 이름을 입력할 수 있습니다. 일부만 입력한 뒤 Tab으로 완성 가능한 항목을 확인할 수 있어 긴 메뉴에서 빠르게 이동하기 좋습니다.

메뉴를 따라 다른 문서를 읽은 뒤 원래 위치로 돌아가려면 l을 사용합니다. 구조상 상위 노드로 이동하려는 경우에는 방문 기록이 아니라 u를 사용해야 합니다.

문서 안에서 원하는 내용을 검색하는 방법

본문 문자열 검색하기

s 또는 /를 누른 뒤 검색어를 입력하면 현재 Info 파일에서 문자열을 찾습니다. 대문자가 포함되지 않은 검색어는 기본적으로 대소문자를 구분하지 않으며, 대문자가 포함되면 대소문자를 구분합니다.

?는 뒤쪽이 아니라 앞쪽 방향으로 검색합니다. 입력과 동시에 결과를 확인하는 점진 검색은 Ctrl+s, 역방향 점진 검색은 Ctrl+r을 사용합니다.

색인에서 주제 찾기

i는 현재 매뉴얼의 색인에서 입력한 용어를 찾고 첫 번째 일치 항목이 가리키는 노드로 이동합니다. 긴 매뉴얼에서 옵션 이름이나 개념을 찾을 때 본문 전체 검색보다 빠르고 정확할 수 있습니다.

I는 일치하는 색인 항목을 가상 노드에 모아 보여 줍니다. i 검색 후 쉼표 키(,)를 누르면 다음 색인 일치 항목으로 이동할 수 있습니다.

설치된 모든 Info 색인 검색하기

어느 매뉴얼에 설명이 있는지 모른다면 셸에서 -k 또는 --apropos 옵션을 사용합니다. 설치된 모든 Info 파일의 색인을 검색하므로 문서가 많으면 시간이 걸릴 수 있습니다.

info -k permissions
info --apropos='regular expression'

특정 매뉴얼과 노드로 바로 이동하기

매뉴얼 또는 프로그램 이름으로 열기

매뉴얼 이름을 알면 바로 지정할 수 있습니다. GNU Coreutils 전체 문서는 다음과 같이 엽니다.

info coreutils

최상위 디렉터리에 프로그램별 항목이 등록되어 있다면 프로그램 이름만으로 매뉴얼 내부의 관련 노드에 바로 갈 수 있습니다.

info ls
info cp
info date

이 명령들은 GNU Coreutils가 설치되고 Info 디렉터리 항목이 정상적으로 등록된 환경을 전제로 합니다.

노드 이름을 명시하기

-n 또는 --node로 처음 열 노드를 지정할 수 있습니다. 공백이 있는 노드 이름은 셸에서 하나의 인수로 전달되도록 따옴표로 묶습니다.

info coreutils -n 'ls invocation'

Info 상호 참조 형식인 (매뉴얼)노드를 하나의 인수로 지정하는 방법도 있습니다. 괄호와 공백이 셸에서 해석되지 않도록 전체를 따옴표로 묶습니다.

info '(coreutils)ls invocation'

노드 이름은 설치된 문서 버전에 따라 달라질 수 있습니다. 정확한 이름을 모르면 info ls 또는 색인 검색으로 먼저 이동하는 편이 안전합니다.

명령 실행 방법을 설명하는 노드 찾기

-O, --show-options 또는 --usage는 지정한 프로그램의 명령행 실행 방법을 설명하는 Invocation 노드를 찾습니다.

info ls -O
info --show-options coreutils

문서 구성에 따라 적합한 Invocation 노드를 찾지 못할 수도 있습니다. 그런 경우에는 info 프로그램으로 연 뒤 i 색인 검색을 사용합니다.

자주 사용하는 info 옵션

아래 옵션은 독립 실행형 GNU Info를 기준으로 합니다. 설치된 버전의 전체 옵션은 info --help 또는 info info-stnd에서 확인하세요.

옵션 설명
-k 문자열, --apropos=문자열 설치된 모든 Info 파일의 색인에서 문자열을 찾습니다.
-n 노드, --node=노드 처음 방문할 노드를 지정합니다.
-f 매뉴얼, --file=매뉴얼 디렉터리 항목을 조회하지 않고 특정 Info 파일이나 매뉴얼을 엽니다.
-w, --where 문서를 열지 않고 선택될 Info 파일의 경로를 출력합니다.
-d 경로, --directory=경로 Info 파일 검색 경로를 추가합니다. 여러 번 지정할 수 있습니다.
-o 파일, --output=파일 대화형 화면 대신 방문할 노드의 내용을 파일로 출력합니다.
--subnodes --output과 함께 사용하여 메뉴의 하위 노드를 재귀적으로 출력합니다.
-O, --show-options 프로그램의 명령행 사용법을 다루는 노드를 찾습니다.
--vi-keys 일부 키를 vi와 Less에 가까운 방식으로 다시 연결합니다.
--version 설치된 Info의 버전을 출력합니다.

Info 파일의 위치 확인과 텍스트 출력

실제로 선택되는 문서 파일 확인하기

-w는 문서를 열지 않고 Info가 선택한 파일의 위치를 출력합니다. 같은 이름의 파일이 여러 검색 경로에 있을 때 어떤 문서를 읽는지 확인할 수 있습니다.

info -w coreutils

일치하는 모든 파일 경로를 지원하는 환경에서는 --all과 함께 사용할 수 있습니다.

info --all --where coreutils

문서를 텍스트 파일로 내보내기

-o로 대화형 화면 대신 파일에 내용을 기록할 수 있습니다. --subnodes를 함께 사용하면 메뉴로 연결된 하위 노드를 재귀적으로 출력합니다.

info --subnodes -o coreutils.txt coreutils

출력 파일 자리에 -를 지정하면 표준 출력으로 보낼 수 있어 다른 명령과 연결하기 좋습니다.

info -o - coreutils | less

전체 매뉴얼은 매우 클 수 있으므로 파일 크기와 필요한 범위를 먼저 고려하세요. 특정 노드만 필요하면 -n을 함께 사용하는 것이 효율적입니다.

사용자 문서와 검색 경로 지정하기

로컬 Info 파일 직접 열기

현재 디렉터리에 있는 Info 파일은 상대 경로를 명시하여 열 수 있습니다. 경로에 슬래시를 포함하면 일반 검색 경로가 아니라 해당 위치의 파일을 대상으로 합니다.

info ./project.info
info -f ./project.info

압축된 Info 파일도 구현이 지원하는 형식이라면 직접 읽을 수 있습니다.

추가 검색 디렉터리 지정하기

-d로 문서를 찾을 디렉터리를 추가할 수 있습니다. 시스템 경로 밖에 설치한 도구의 문서를 일시적으로 열 때 유용합니다.

info -d /opt/example/share/info example

지속적인 검색 경로는 INFOPATH 환경 변수의 영향을 받을 수 있습니다. 값을 직접 설정하면 기본 경로 포함 방식이 달라질 수 있으므로, 먼저 현재 상태와 info -w 매뉴얼 결과를 확인하세요.

printf '%s\n' "$INFOPATH"
info -w info-stnd

info와 man의 차이

구분 info man
문서 구조 노드, 메뉴, 상호 참조와 색인으로 연결된 계층형 문서 일반적으로 한 페이지를 위아래로 읽는 선형 문서
적합한 용도 개념, 장별 설명, 긴 예제와 관련 주제를 깊게 읽을 때 문법, 옵션, 파일, 종료 상태를 빠르게 확인할 때
주요 대상 GNU 프로그램과 Texinfo 문서를 제공하는 소프트웨어 명령, 설정 파일, 시스템 호출, 라이브러리 함수 등
탐색 방법 메뉴·노드 이동과 본문·색인 검색 페이저의 화면 이동과 문자열 검색
설치 상태 프로그램에 따라 Info 문서가 없을 수 있음 패키지에 따라 매뉴얼 페이지가 없을 수 있음

둘 중 하나만 사용해야 하는 것은 아닙니다. 옵션의 뜻을 빠르게 확인할 때는 man이나 --help가 편하고, GNU 프로그램의 전체 개념과 옵션 간 관계를 깊게 볼 때는 info가 유용합니다. 프로그램이 제공하는 문서 형식과 설치 상태에 따라 적합한 도구를 선택하세요.

info가 없거나 문서를 찾지 못할 때

info 프로그램 설치하기

최소 설치 환경에서는 info가 없을 수 있습니다. Debian·Ubuntu 계열과 Fedora·Rocky Linux 계열에서는 일반적으로 패키지 이름이 info입니다.

sudo apt update
sudo apt install info
sudo dnf install info

배포판 버전과 저장소 구성에 따라 패키지 이름이 다를 수 있으므로 설치되지 않는다면 해당 배포판의 패키지 검색 결과를 확인하세요.

특정 프로그램의 Info 문서 설치 여부 확인하기

info 실행 파일이 있어도 원하는 매뉴얼이 설치되어 있지 않을 수 있습니다. 먼저 최상위 목록과 검색 결과를 확인합니다.

info
info -k '프로그램 또는 주제'
info -w 매뉴얼

프로그램 본체와 문서가 별도 패키지로 나뉜 경우에는 배포판의 패키지 관리자에서 해당 프로그램의 문서 패키지를 찾아야 합니다.

디렉터리 메뉴에 문서가 보이지 않을 때

파일은 존재하지만 최상위 디렉터리에 등록되지 않았다면 경로 또는 파일을 직접 지정해 열 수 있습니다.

info -d /추가/문서/경로 매뉴얼
info -f /전체/경로/매뉴얼.info

소프트웨어를 소스에서 직접 설치한 경우에는 설치 과정이 Info 디렉터리 파일을 갱신했는지도 확인해야 합니다. 시스템 문서 등록을 임의로 수정하기 전에는 패키지 설치 기록과 해당 프로그램의 설치 안내를 먼저 확인하세요.

실전 활용 순서

  1. info 프로그램으로 관련 문서가 열리는지 확인합니다.
  2. H로 현재 키 도움말을 확인하고 Space, n, p, u로 구조를 탐색합니다.
  3. 화면에 보이는 메뉴는 Tab과 Enter 또는 m으로 선택합니다.
  4. 정확한 용어를 알면 i로 색인을 검색하고, 일반 문구는 s 또는 /로 본문을 검색합니다.
  5. 어느 매뉴얼인지 모르면 셸에서 info -k 키워드로 설치된 전체 색인을 검색합니다.
  6. 반복해서 볼 위치라면 -n으로 노드를 직접 지정하거나 -o로 필요한 내용을 출력합니다.

자주 묻는 질문

info를 종료하려면 어떻게 하나요?

q를 누르면 종료됩니다. 현재 키 설정을 모르면 대문자 H를 눌러 빠른 도움말을 확인할 수 있습니다.

n을 눌렀는데 검색 결과가 아니라 다른 문서로 이동합니다

기본 키 설정에서 n은 검색 결과가 아니라 현재 노드의 Next 노드로 이동합니다. 본문 검색은 s 또는 /, 색인 검색은 i를 사용하세요. --vi-keys를 사용하면 키 연결이 달라질 수 있습니다.

info ls와 info coreutils는 무엇이 다른가요?

info ls는 최상위 디렉터리에서 ls 항목을 찾아 관련 노드로 바로 이동하고, info coreutils는 Coreutils 매뉴얼의 시작 위치를 엽니다. 설치된 디렉터리 항목과 문서 버전에 따라 실제 시작 노드는 달라질 수 있습니다.

모든 명령어에 Info 문서가 있나요?

아닙니다. Info는 GNU 프로젝트에서 널리 사용하지만 모든 리눅스 프로그램이 Info 문서를 제공하는 것은 아닙니다. Info 문서가 없으면 man 명령어, 명령어 --help 또는 프로그램의 공식 문서를 확인하세요.

Info 문서가 man보다 항상 더 정확한가요?

항상 그렇지는 않습니다. 프로젝트마다 기준 문서와 갱신 방식이 다릅니다. GNU Coreutils처럼 Info 매뉴얼을 상세한 기준 문서로 제공하는 프로젝트도 있지만, 다른 프로그램은 man 페이지나 웹 문서를 우선할 수 있습니다. 현재 설치된 프로그램 버전과 프로젝트의 공식 문서 안내를 함께 확인하는 것이 좋습니다.

정리

info는 GNU 프로그램의 긴 설명서를 노드, 메뉴, 상호 참조와 색인으로 탐색할 수 있게 해 줍니다. 처음에는 info 프로그램, H, Space, n, p, u, i, q만 익혀도 대부분의 문서를 읽을 수 있습니다.

간단한 문법과 옵션은 --help나 man으로 빠르게 확인하고, 배경 개념과 예제까지 필요할 때 info를 이어서 사용하는 방식이 효율적입니다. 다른 기본 명령도 살펴보려면 리눅스 명령어 목록과 개요를 참고할 수 있습니다.

공식 문서 참고

같은 카테고리의 다른 글
Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux umount 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / ethtool - 네트워크 링크·드라이버 정보 확인

Linux / 명령어 / ethtool - 네트워크 링크·드라이버 정보 확인

Linux ethtool 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어

Linux / 명령어

리눅스에서 자주 사용하는 명령어를 파일, 텍스트, 권한, 프로세스, 시스템, 디스크, 네트워크와 패키지 관리 작업별로 정리했습니다. 링크가 있는 명령어는 자세한 사용법과 예제를 확인할 수 있습니다.

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux에서 디스크를 관리할 때 필요한 파티션 생성, 파일 시스템 포맷, 마운트 방법을 정리했습니다.

Linux / 명령어 / grep - 텍스트에서 원하는 문자열 검색

Linux / 명령어 / grep - 텍스트에서 원하는 문자열 검색

Linux grep 명령어로 파일과 명령 출력에서 문자열·정규 표현식을 검색하는 방법을 설명합니다. -F, -E, -r, 문맥 출력, 종료 상태와 로그 검색 예제를 정리합니다.

Linux / 명령어 / mkfs - 새 파일 시스템 생성 전 확인 사항과 사용법

Linux / 명령어 / mkfs - 새 파일 시스템 생성 전 확인 사항과 사용법

Linux mkfs 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / 하드 링크와 심볼릭 링크 이해하기 - 차이와 생성 실습

Linux 강좌 / 하드 링크와 심볼릭 링크 이해하기 - 차이와 생성 실습

하드 링크와 심볼릭 링크의 구조적 차이를 inode와 경로로 설명하고, 링크를 직접 만들어 이름 변경 후 동작까지 확인합니다.

Linux / 명령어 / mount - 파일 시스템 연결 상태 확인과 마운트

Linux / 명령어 / mount - 파일 시스템 연결 상태 확인과 마운트

Linux mount 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux chown 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / apt - Debian·Ubuntu에서 패키지 검색·설치·업데이트

Linux / 명령어 / apt - Debian·Ubuntu에서 패키지 검색·설치·업데이트

Linux apt 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.