Linux / 명령어 / help - 셸 내장 명령어 도움말 확인
help는 Bash가 제공하는 내장 명령과 셸 문법의 사용법을 확인하는 내장 명령입니다. cd, read, alias, for처럼 별도의 실행 파일이 아니라 셸 자체에 포함된 기능은 man보다 help로 확인하는 편이 빠르고 정확합니다.
가장 기본적인 사용법은 help 항목입니다. 간단한 문법만 보거나, 짧은 설명 목록을 만들거나, 매뉴얼 페이지와 비슷한 형식으로 출력할 수도 있습니다.
help 명령어란?
Bash 내장 명령(builtin)은 셸 프로세스 안에서 직접 실행되는 기능입니다. 현재 셸의 작업 디렉터리를 바꾸는 cd, 셸 변수를 읽는 read, 별칭을 관리하는 alias처럼 셸 상태와 밀접한 명령이 대표적입니다.
help는 이러한 Bash 내장 명령뿐 아니라 if, for, while, [[ 같은 셸 문법 항목의 도움말도 제공합니다. Bash가 아닌 다른 셸에서는 명령의 존재 여부와 출력 형식이 다를 수 있습니다.
기본 문법과 사용 예제
help [-dms] [패턴]
인수 없이 실행하면 현재 Bash에서 도움말을 제공하는 내장 명령과 문법 항목의 목록을 출력합니다.
help
특정 명령의 상세 도움말을 보려면 이름을 지정합니다.
help cd help read help printf
셸 문법도 같은 방법으로 확인할 수 있습니다. 일부 기호는 셸이 먼저 해석할 수 있으므로 따옴표로 묶는 것이 안전합니다.
help if help for help '[['
help 옵션
| 옵션 | 설명 |
|---|---|
-d |
각 항목의 짧은 설명만 출력합니다. |
-m |
도움말을 매뉴얼 페이지와 비슷한 형식으로 출력합니다. |
-s |
명령의 간단한 사용 형식(synopsis)만 출력합니다. |
스크립트를 작성하면서 인수 배치만 빠르게 확인할 때는 -s가 유용합니다.
help -s read help -s getopts
간단한 설명 목록이 필요하면 -d, 문단이 구분된 자세한 설명이 필요하면 -m을 사용합니다.
help -d cd help -m cd
패턴으로 여러 도움말 찾기
접두어로 검색하기
정확히 일치하는 항목이 없으면 Bash는 입력한 패턴과 접두어가 일치하는 도움말을 찾습니다. 예를 들어 다음 명령은 compgen, complete, compopt 등 comp로 시작하는 항목을 보여 줄 수 있습니다.
help comp
와일드카드 패턴 사용하기
패턴에 셸 패턴 문자가 들어가면 일치하는 모든 도움말 항목을 출력합니다. 패턴이 현재 디렉터리의 파일 이름으로 먼저 확장되지 않도록 따옴표로 묶습니다.
help 'read*' help '*dir*'
grep으로 전체 목록을 검색하는 방법도 있지만, 먼저 help의 패턴 기능을 사용하면 도움말 항목 이름을 기준으로 결과를 얻을 수 있습니다.
내장 명령인지 확인한 뒤 help 사용하기
명령의 종류가 확실하지 않다면 type으로 확인합니다. 결과가 shell builtin이면 help가 가장 직접적인 설명을 제공하는 경우가 많습니다.
type cd type printf type ls
printf처럼 Bash 내장 명령과 외부 실행 파일이 모두 존재할 수도 있습니다. 실제로 실행될 대상을 모두 확인하려면 다음과 같이 실행합니다.
type -a printf
help printf는 Bash 내장 printf를 설명합니다. 외부 프로그램의 동작을 알고 싶다면 해당 실행 파일의 --help나 매뉴얼을 확인해야 합니다.
help, --help, man의 차이
| 방법 | 적합한 대상 | 특징 |
|---|---|---|
help 항목 |
Bash 내장 명령과 셸 문법 | 현재 Bash가 직접 제공하는 설명 |
명령 --help |
외부 프로그램과 일부 내장 명령 | 짧은 문법과 옵션을 빠르게 확인 |
man 명령 |
명령, 파일 형식, 시스템 호출 등 | 설치된 매뉴얼 페이지를 상세히 확인 |
info 명령 |
Info 문서를 제공하는 GNU 프로그램 | 노드와 색인으로 긴 설명서를 탐색 |
cd --help는 Bash에서 cd 내장 명령의 도움말을 출력할 수 있지만, 모든 셸이나 모든 내장 명령에서 같은 방식을 기대해서는 안 됩니다. Bash 내장 명령은 help를 기준으로 확인하는 편이 명확합니다.
실전 활용 예제
read의 여러 옵션 확인하기
read는 입력, 제한 시간, 구분자, 배열 등 옵션이 많습니다. 먼저 사용 형식을 확인한 뒤 상세 설명에서 필요한 옵션을 찾습니다.
help -s read help read
조건문과 반복문 문법 확인하기
셸 스크립트의 예약어와 복합 명령도 도움말 주제가 될 수 있습니다.
help if help while help for help case
파이프나 파일로 출력 보내기
help의 출력은 표준 출력으로 나오므로 페이저로 읽거나 파일에 저장할 수 있습니다.
help -m read | less help -m read > read-help.txt
파일로 저장한 설명은 당시 Bash 버전의 도움말이므로 다른 시스템에 그대로 적용하기 전에 해당 환경의 Bash 버전을 확인하세요.
셸 스크립트에서 help 결과 확인하기
요청한 도움말 주제가 있으면 일반적으로 종료 상태가 0이고, 일치하는 주제가 없으면 0이 아닌 값을 반환합니다. 이를 이용해 특정 도움말 항목의 존재 여부를 확인할 수 있습니다.
if help mapfile >/dev/null 2>&1; then printf '%s\n' 'mapfile 도움말을 사용할 수 있습니다.' else printf '%s\n' '현재 셸에서 mapfile 도움말을 찾지 못했습니다.' fi
그러나 기능 지원 여부를 검사하려는 목적이라면 help 결과의 문구를 파싱하기보다 type, command -v 또는 실제 기능 검사를 사용하는 편이 안정적입니다. 번역과 Bash 버전에 따라 도움말 문장이 달라질 수 있기 때문입니다.
자주 묻는 질문
help: no help topics match 오류가 나옵니다
입력한 이름이 Bash 도움말 주제가 아니거나 현재 Bash 버전에서 제공되지 않는 항목입니다. type 이름으로 명령 종류를 확인하고, 외부 프로그램이라면 명령 --help 또는 man 명령을 사용하세요.
sh 스크립트에서 help가 동작하지 않습니다
help는 Bash 내장 명령입니다. /bin/sh가 Bash가 아닌 다른 셸을 가리키거나 Bash가 POSIX 모드로 실행되는 환경에서는 기대한 결과를 얻지 못할 수 있습니다. Bash 기능을 사용하는 스크립트라면 인터프리터와 실행 환경을 명확히 지정해야 합니다.
같은 명령인데 help와 man 설명이 다릅니다
내장 명령과 외부 프로그램이 같은 이름을 사용할 수 있습니다. type -a 이름으로 후보를 확인한 뒤, Bash 내장 명령은 help, 외부 실행 파일은 해당 프로그램의 매뉴얼을 읽어야 합니다.
help는 별도 패키지로 설치해야 하나요?
아닙니다. help는 Bash 내장 명령이므로 Bash에 포함됩니다. 현재 셸이 Bash가 아니면 같은 명령이 없거나 기능이 다를 수 있습니다.
모든 리눅스 명령을 help로 검색할 수 있나요?
아닙니다. help의 주 대상은 Bash 내장 명령과 셸 문법입니다. 외부 명령은 --help, man, info 또는 공식 문서를 사용하세요.
간단한 문법 한 줄만 보려면 어떤 옵션을 사용하나요?
help -s 항목을 사용합니다. 짧은 설명까지 필요하면 -d, 매뉴얼과 비슷한 형식이 필요하면 -m을 사용합니다.
정리
help는 Bash 내장 명령과 셸 문법을 확인하는 가장 직접적인 도구입니다. help 항목으로 상세 설명을 읽고, -s로 문법만 확인하며, 패턴을 이용해 관련 항목을 함께 찾을 수 있습니다.
명령의 종류가 확실하지 않다면 먼저 type으로 확인하세요. 외부 프로그램에는 --help와 man을 사용하고, 다른 기본 명령은 리눅스 명령어 목록과 개요에서 살펴볼 수 있습니다.









