명령어란 무엇인가?

  • 명령어란, /usr/bin 디렉토리에 있는 파일들과 같이 일종의 실행 프로그램이다.
  • 쉘에 내장되어 있는 명령어다. bash 는 쉘-빌트인이라고 하는 다수의 명령어를 내부적으로 지원한다.
  • 쉘 함수이다. 시스템 환경에 포함된 쉘 스크립트의 작은 버전이다.
  • 우리만의 명령어를 새롭게 정의하여 사용할 수 있는 별칭(alias) 이다.

 

type : 명령어 타입 표시

type 명령어는 쉘에 내장된 형식으로, 명령어 이름을 입력해주면 그 명령어가 어떤 타입인지를 보여준다.

[ type 명령어 ] 와 같이 사용할 수 있다.

type ls
type cp
type cd

다음과 같이 실행하여 위에서 말했던 쉘-빌트인, 별칭, /usr/bin 의 실행 프로그램인지 직접 확인해보자.

 

which : 실행 프로그램의 위치 표시

실행할 프로그램의 정확한 위치를 파악하기 위해, [which file] 등과 같이 사용한다.

which 명령어는 실행 프로그램만을 대상으로 하기 때문에, 쉘-빌트인 명령어들에는 동작하지 않는다.

which 그 자체 역시 하나의 실행 프로그램이기 때문에, [ which which ] 등과 같이 which 의 위치도 알아볼 수 있겠다.

 

help / --help : 명령어들의 도움말 보기

bash 에는 각각의 쉘-빌트인 명령어마다 내장된 도움말 기능이 있다. [ help 명령어] 처럼 입력하면 된다.

help 를 통해 나온 설명에서, [ ] 기호 안의 내용은 옵션이라는 것을 뜻한다.

[ ] 안에 | 라는 기호로 옵션들이 구분될 경우, 둘 중 하나의 항목만을 사용한다는 것이다.

많은 실행 프로그램이나 명령어들은 --help 옵션을 지원하기도 한다. 이 역시 직접 사용해보자.

help cd
cd --help  # 이것은 위와 같은 결과를 보여준다
ls --help

 

man : 프로그램이 제공하는 매뉴얼 페이지 표시

커맨드라인에서 실행하는 대부분의 프로그램과 명령어들은 man 페이지라고 하는 공식 설명서를 제공한다.

[ man 명령어 ] 와 같이 사용하여 매뉴얼 페이지를 확인할 수 있다.

형식이 각각 다를 수 있지만, 일반적으로 명령어 문법 개요, 사용 목적, 옵션에 대한 설명들이 들어 있다.

man 페이지는 참고용이지 지침서는 아니기 때문에, 명령어 사용 예시 등은 대부분 포함되지 않는다.

매뉴얼 페이지를 볼 때, 대부분 리눅스 시스템에서는 less 로 보여주기 때문에, 앞서 보았던 less 의 명령어들을 활용할 수 있다.

매뉴얼들은 또한 여러 섹션으로 나뉘어 있다.

섹션 내용
1 사용자 명령어
2 커널 시스템 콜 API
3 C 라이브러리 API
4 장치 노드 및 드라이버와 같은 특수 파일
5 파일 포맷
6 게임이나 미디어 파일
7 그 외
8 시스템 관리용 명령어

특정 섹션에 해당하는 man 페이지를 보고 싶다면 [ man 섹션 명령어 ] 와 같이 사용할 수 있다.

man 8 adduser	# /usr/sbin/adduser 의 시스템 관리용 명령어에 대한 설명
man 5 passwd    # /etc/passwd 의 파일 포맷에 대한 설명

명령어에 따라 몇몇 섹션이 없는 명령어들이 많이 있으므로, 조금 헷갈릴 수 있다.

apropos 혹은 whatis 명령어 등을 통해 어떤 섹션의 매뉴얼 페이지가 있는지 확인해 볼 수 있다.

man 에 -k 옵션을 준 것과 같고, whatis 역시 비슷하기 때문에 직접 실행해보자

'STUDY > Linux' 카테고리의 다른 글

[리눅스] 파이프라인  (0) 2021.01.27
[리눅스] 리다이렉션  (0) 2021.01.25
[리눅스] 심볼릭 링크  (0) 2021.01.22
[리눅스] 파일과 디렉토리 조작  (0) 2021.01.21
[리눅스] 와일드 카드  (0) 2021.01.20

+ Recent posts