
명령은 네 가지 중 하나
실행 프로그램.
/usr/bin에서 보았던 모든 파일같은 프로그램. 이 범주에 속하는 프로그램은 C/C++로 작성된 프로그램과 같이 컴파일된 바이너리 또는 Shell, Perl, Python, Ruby 등과 같은 스크립트 언어로 작성된 프로그램이 될 수 있다.
Shell builtin command.
bash는 내부적으로 셸 내장 명령이라고 하는 여러 명령을 지원. (ex. cd)
Shell function.
셸 함수는 환경(environment)에 통합된 미니어처 셸 스크립트.
Alias.
다른 명령어를 기반으로 자체적으로 정의할 수 있는 명령어
위 4가지 중 어떤 종류의 명령이 사용되는지 알아야 한다
이를 알기 위해 리눅스는 아래 방법을 제공함
type : 명령의 타입 표시
which : 실행 파일 위치 표시
시스템에 실행 프로그램 버전이 두 개 이상 설치된 경우가 있는데, which로 특정 실행 파일의 정확한 위치를 확인할 수 있다.
i. 실행 프로그램에만 작동한다.
ii. 실제 실행 프로그램을 대체하는 builtin / Alias에는 작동하지 않는다.
help : 셸 내장 기능에 대한 도움말[me@linuxbox ~]$ help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]
Change the shell working directory.
...
Options:
-L force symbolic links to be followed: resolve symbolic
links in DIR after processing instances of `..'
-P use the physical directory structure without following
symbolic links: resolve symbolic links in DIR before
processing instances of `..'
-e if the -P option is supplied, and the current working
directory cannot be determined successfully, exit with
a non-zero status
-@ on systems that support it, present a file with extended
attributes as a directory containing the file attributes
...
표기법
- 대괄호 [] : 선택
- 세로 막대 | : 상호 배타
ex. cd [-L|[-P [-e]] [-@]][dir]
는 선택적으로 -L 또는 -P가 올 수 있고, -P가 지정된 경우, -e 옵션 뒤에 선택적 인수 dir이 올 수도 있다.
man : 프로그램의 매뉴얼 페이지 표시일반적으로 아래 항목이 포함됨
1. 제목(페이지의 이름)
2. 명령 구문에 대한 시놉시스
3. 명령의 목적에 대한 설명
4. 명령의 각 옵션에 대한 목록 및 설명
매뉴얼의 레이아웃
| 섹션 | 내용 |
|---|---|
| 1 | 사용자 명령 |
| 2 | 커널 시스템 호출을 위한 프로그래밍 인터페이스 |
| 3 | C 라이브러리에 대한 프로그래밍 인터페이스 |
| 4 | 장치 노드 및 드라이버와 같은 특수 파일 |
| 5 | 파일 형식 |
| 6 | 스크린 세이버와 같은 게임 및 오락 프로그램 |
| 7 | 기타 |
| 8 | 시스템 관리 명령 |
apropos : 적절한 명령어 표시
whatis : 한 줄 매뉴얼 페이지 설명 표시
info : 프로그램의 정보 항목을 표시합니다
각각 하나의 주제를 포함하는 개별 node로 구성된 트리 구조의 info file을 읽는다
정보 파일에는 리더를 노드에서 노드로 이동할 수 있는 하이퍼링크가 포함된다
하이퍼링크는 앞쪽 별표로 식별할 수 있으며 커서를 그 위에 놓고 Enter 키를 누르면 활성화된다
| 명령 | 동작 |
|---|---|
| ? | 명령 도움말 표시 |
| PgUp or Backspace | 이전 페이지 표시 |
| PgDn or Space | 다음 페이지 표시 |
| n | Next - 다음 노드 표시 |
| p | Previous - 이전 노드 표시 |
| u | Up - 현재 표시된 노드의 상위 노드(일반적으로 메뉴)를 표시 |
| Enter | 커서 위치의 하이퍼링크로 이동 |
| q | 종료 |
| 명령어 | 설명 |
|---|---|
| type | 명령 이름이 어떻게 해석되는지 표시 |
| which | 실행할 실행 프로그램을 표시 |
| help | 셸 내장 기능에 대한 도움말 보기 |
| man | 명령의 매뉴얼 페이지 표시 |
| apropos | 적절한 명령 목록을 표시 |
| info | 명령의 정보 항목 표시 |
| whatis | 한 줄 매뉴얼 페이지 설명 표시 |
| alias | 명령의 앨리어스 만들기 |
Bash Reference Manual: bash 셸에 대한 레퍼런스 가이드이다. 참조용 문서이지만 예제가 포함되어 있으며 bash man page보다 읽기 쉽다.
http://www.gnu.org/software/bash/manual/bashref.html
Bash FAQ: bash와 관련하여 자주 묻는 질문에 대한 답변이 있다. 중급자에서 고급 사용자를 대상으로 한다.
http://mywiki.wooledge.org/BashFAQ
GNU 프로젝트: 리눅스 커맨드라인 환경의 핵심을 이루는 프로그램에 대한 광범위한 문서이다.
http://www.gnu.org/manual/manual.html
위키백과: man page에 대한 흥미로운 기사
http://en.wikipedia.org/wiki/Man_page