APROPOS(1)

이름
apropos - 설명서 페이지 이름과 설명을 검색합니다

개요
apropos [-dalv?V] [-e|-w|-r] [-s 목록] [-m 시스템[,...]] [-M 경로] [-L 로캘] [-C 파일] 검색어 ...

설명
각 설명서 페이지에는 페이지 안에 간단한 설명이 있습니다. apropos은 검색어 처럼 설명을 검색합니다.

검색어는 보통 (-r)를 썼을 때처럼 정규 표현식이 들어가거나, 와일드카드(-w) 문자가 들어가거나, 정확히 일치하는 검색어(-e)가 들어갑니다. 이 옵션을 활용하면서, 검색어에 따옴표로 둘러 쌓거나, 셸에서 특정 문자를 이스케이핑(\)하여 해석을 막아야 할 수도 있습니다.

표준 일치 규칙에서는 페이지 이름 또는 설명서의 단어 범위내에서 일치하는 방식으로 검색할 수 있습니다.

apropos에서 검색한 데이터베이스는 mandb 프로그램에서 업데이트합니다. 설치 상태에 따라 주기적 크론 작업으로 실행핧 수도 있고, 새 설명서 페이지를 설치할 때마다 직접 실행해야 할 수도 있습니다.

옵션

-d, --debug
    디버깅 정보를 출력합니다.

-v, --verbose
    경고 메시지를 자세하게 출력합니다.

-r, --regex
    각 검색어를 정규 표현식으로 해석합니다. 기본 동작입니다. 각 검색어는 페이지 이름 및 설명과 개별적으로 비교합니다. 양 부분 어디와도 일치 여부를 비교할 수 있습니다. 일치 여부는 단어 범위로 제한하지 않습니다.

-w, --wildcard
    셸 방식 와일드카드가 들어간 패턴으로 각 검색어를 해석합니다. 각 검색어를 페이지 이름과 설명에 각각 비교합니다. --exact 옵션을 사용했다면 확장 검색어가 전체 설명 또는 페이지 이름에 일치하는 경우에만 일치 요소를 찾습니다. 이 경우가 아니라면, 검색어의 활용 범위를 설명의 단어 범위로 하여 찾을 수 있습니다.

-e, --exact
    각 검색어는 페이지 이름과 설명에 정확히 일치해야 합니다.

-a, --and
    지정 검색어에 모두 일치하는 항목만 표시합니다. 기본 동작은 어떤 검색어에든 일치하는 항목의 표시입니다.

-l, --long
    터미널 폭에 맞춰 출력을 자르지 않습니다. 보통, 정돈이 제대로 안된 NAME 섹션의 깔끔하지 못한 출력을 다듬을 목적으로 터미널 폭으로 자릅니다.

-s 목록, --sections=목록, --section=목록
    주어진 설명서 섹션에 대해서만 검색합니다. 목록은 콜론 또는 쉼표로 구분한 섹션 목록입니다. 목록의 항목이 "3"과 같은 단순 섹션이라면, "3", "3perl", "3x" 과 같은 식으로 설명 목록이 페이지에 들어갑니다. 목록에 들어간 항목이 "3perl" 과 같은 확장자일 경우, 설명서 섹션의 정확한 페이지 부분만 목록에 들어갑니다.

-m 시스템[,...], --systems=시스템[,...]
    이 시스템에서 다른 운영체제 설명서 페이지 설명에 접근한다면 이 옵션으로 검색할 수 있습니다. NewOS의 설명서 페이지의 설명을 검색하려면 -m NewOS 옵션을 사용하십시오.

    시스템에는 쉼표로 구분한 운영 체제 이름 값으로 구성합니다. 운영 체제의 whatis 자체 설명 검색 단어를 넣으려면, 인자 문자열에 시스템 이름 man을 넣습니다. 이 옵션은 $SYSTEM 환경 변수 값을 대신합니다.

-M 경로, --manpath=경로
    콜론으로 구분한 검색 대상 설명서 페이지 계층을 대신 지정합니다. 기본적으로 apropos은 $MANPATH 환경 변수가 비어있거나 설정하지 않는 한 이를 활용하는데, 비어 있거나 설정하지 않았을 경우에는 $PATH 환경 변수를 기반으로 적절한 맨 페이지 경로를 지정합니다. 이 옵션은 $MANPATH 내용을 대신합니다.

-L 로캘, --locale=로캘
    apropos은 보통 $LC_MESSAGES와 $LANG 같은 다양한 환경 변수를 조사하는 C 함수 setlocale(3)을 호출하여 현재 로캘을 결정합니다. 결정한 값을 임시로 대체 적용하려면 로캘 문자열을 바로 apropos에 전달하는 이 옵션을 사용하십시오. 참고로 페이지가 실제로 시작하는 부분을 검색하기 전까지는 아무런 영향을 주지 않습니다. 도움말 메시지와 같은 출력 결과는 항상 로캘을 초기에 결정한 다음 나타납니다.

-C 파일, --config-file=파일
    ~/.manpath 기본값 대신 사용자 설정 파일을 활용합니다.

-?, --help
    도움말 메시지를 출력하고 나갑니다.

--usage
    간단한 사용법 메시지를 출력하고 나갑니다.

-V, --version
    버전 정보를 출력합니다.

종료 상태

0   프로그램 실행 성공.

1   사용법, 문법, 구성 파일 오류.

2   처리 오류.

16  지정한 단어에 일치하는 요소를 찾지 못했습니다.

환경

SYSTEM
    $SYSTEM을 설정했다면, -m 옵션의 인자 지정과 같이 동작합니다.

MANPATH
    $MANPATH를 설정했다면, 콜론으로 구분한 설명서 페이지 검색 경로로 값을 해석합니다.

    환경 변수 처리 방식의 기본 동작 및 자세한 내용은 manpath(5)의 검색 경로 섹션을 살펴보십시오.

MANWIDTH
    $MANWIDTH를 설정하면, 이 값을 터미널 폭으로 사용합니다(--long 옵션 참조). 이 값을 설정하지 않으면 터미널 폭을 $COLUMNS 값으로 계산하며, 가능하다면 ioctl(2) 값을 활용합니다. 앞서 두가지 방식의 처리에 실패하면 80문자 폭으로 대체합니다.

POSIXLY_CORRECT
    $POSIXLY_CORRECT를 설정하면, 널 값이라 해도 기본 apropos 프로그램은 확장 정규 표현식(-r)을 활용하여 검색합니다. 최근에는, 어쨌든지간에 기본 동작입니다.

파일

/usr/share/man/index.(bt|db|dir|pag)
    전통 전역 색인 데이터베이스 캐시입니다.

/var/cache/man/index.(bt|db|dir|pag)
    FHS 준수 전역 색인 데이터베이스 캐시입니다.

/usr/share/man/.../whatis
    전통 WHATIS 텍스트 데이터베이스입니다.

추가 참조
man(1), whatis(1), mandb(8)

저작자
Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).

버그
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db