옵션 인수 긴 짧은 긴옵션 짧은옵션

셸 명령어의 구조와 종류

셸 명령어의 구조

1
2
3
4
$  chsh        -s      /bin/bash
#  ----        --      ---------
# command  [options]  [arguments]
#  명령어       옵션         인수
  • 셸 명령어의 구조 : command [options] [arguments]
  • command : 명령어
  • [options] : 명령의 옵션. 필수적일 수도, 선택적일 수도 있음.
  • [arguments] : 인수. 명령에 따라 필요할 경우 파라미터 혹은 입력값 처럼 사용.
  • [] : 앞으로 이 표시는 ‘선택적인’ 의 의미로 사용될 것임

옵션과 인수

옵션과 인수의 개념

구분 설명
옵션 - 명령어의 동작을 세부적으로 조정하거나 추가적인 기능을 활성화하기 위해 사용
인수 - 명령의 수행 대상을 지정하는 것
- 명령어는 0개 이상의 인수를 가질 수 있음
- 옵션도 인수를 가질 수 있다.

옵션의 표현 방법

옵션은 명령어의 동작을 세부적으로 조정하거나 추가적인 기능을 활성화하기 위해 사용하는 것으로 대시(-) 및 영문자나 영단어 등으로 표현한다. 옵션의 표현 방법에는 유닉스 스타일의 옵션(짧은 옵션) 과 GNU스타일의 옵션(긴 옵션)이 있다.

표현 방법 설명
짧은 옵션 - 유닉스 스타일의 옵션
- 대시(-) 하나와 옵션의 약어 하나 이상을 붙여 사용한다.
- ex. ls -a의 -a
- ls -lat와 같이 합쳐서 사용할 수 있음
긴 옵션 - GNU 스타일의 옵션
- 보통은 온전한 한 단어가 옵션명인 경우가 대부분이다.
- ex. ls -all의 –all
1
2
3
4
5
# 유닉스 스타일의 옵션 (짧은 옵션)
$ ls -lat

# GNU 스타일의 옵션 (긴 옵션)
$ ls --all --long --time=modified

인수의 표현 방법

인수는 명령의 수행 대상이라고 볼 수 있다. 인수는 없거나 한 개 이상일 수 있으며, 명령어 뿐만 아니라 옵션 또한 인수를 가질 수 있다.

(1) 명령어가 인수를 가질 때
-whitespace 를 중간에 두고 명령어 [옵션] 인수 와 같이 사용.

(2) 옵션이 인수를 가질 때
-옵션과 인수 사이에 = 문자를 두면서 공백을 두지 않음.
-명령어 옵션=인수 와 같이 사용.

1
2
3
4
5
6
7
8
9
10
11
$ cat -n /etc/passwd
#        -----------  명령어에 대한 인수

$ grep "KilDong Hong" /etc/passwd
#      -------------- -----------   2개의 인수

$ chsh -s /bin/sh kdhong  
#         -------         옵션의 인수

$ chsh --shell=/bin/bash kdhong
#              ----------        옵션의 인수

주의
CLI는 White Space(공백)을 분리의 기준으로 받아들이므로, 인수에 공백이 있는 경우 하나의 인수로 받아들이지 않습니다. 공백을 포함한 인수는 쌍따옴표("") 사이에 인수를 입력하여, 하나의 인수임을 명확하게 표현해줘야 합니다.

Reference

UNIX시스템 - 김희천,김진욱 저