Linuxpia/Linux 명령어

apropos 명령어

easyfly 2025. 4. 9. 10:35
반응형

apropos 명령어

apropos 명령어의 작동 원리는 매뉴얼 페이지(man page)의 요약 정보를 담고 있는 whatis 데이터베이스를 검색하는 방식입니다. 이 데이터베이스는 man 페이지의 제목과 간략한 설명으로 구성되어 있으며, 검색 키워드가 여기에 포함된 항목을 출력합니다.

작동 원리 순서

1. whatis 데이터베이스 생성


시스템에 설치된 매뉴얼(man) 페이지들을 스캔하여, 각 페이지의 제목과 간단한 설명 요약을 추출합니다.

이 정보는 보통 /var/cache/man/ 또는 /usr/share/man/ 경로 아래의 데이터베이스 파일에 저장됩니다.

이 데이터베이스는 mandb 명령어로 생성 및 갱신됩니다.

sudo mandb

2. 키워드 검색


사용자가 apropos [검색어]를 입력하면, 내부적으로 이 whatis 데이터베이스에서 검색어를 포함하는 항목을 부분 문자열 검색 방식으로 탐색합니다.

예를 들어 apropos copy를 입력하면, "copy"라는 문자열이 제목이나 설명에 포함된 모든 매뉴얼 항목을 반환합니다.

3. 출력 포맷


결과는 다음과 같은 형식으로 출력됩니다:

명령어 (섹션) - 간단한 설명

예:

cp (1)              - copy files and directories
memcpy (3)          - copy memory area


내부 구성 요소


man 페이지: 시스템 명령어와 함수에 대한 문서화.

whatis 데이터베이스: man 페이지의 제목과 설명을 인덱싱한 데이터베이스.

mandb: whatis 데이터베이스를 생성/갱신하는 명령어.

apropos: whatis DB에서 키워드를 검색하는 프론트엔드 도구.


주의점


apropos는 데이터베이스 기반이므로, 최신 정보 반영을 위해 주기적인 mandb 실행이 필요합니다.

일부 시스템에서는 일반 사용자 권한으로 mandb 실행이 제한될 수 있으므로 sudo가 필요합니다.

UTF-8 로케일 설정 문제로 결과가 깨지는 경우도 있으며, 이럴 땐 로케일을 en_US.UTF-8 등으로 변경해야 할 수 있습니다.


정리


apropos는 man 페이지 요약 정보를 인덱싱한 whatis 데이터베이스를 검색하여 관련 명령어 및 함수를 찾아줌.

데이터베이스는 mandb 명령어를 통해 생성되며, 시스템에 설치된 man 페이지에서 추출됨.

검색은 문자열 기반으로 작동하므로 부분 일치된 항목들을 쉽게 탐색 가능.




반응형