리눅스를 제어하는 CLI환경(명령어기반 인터페이스)에서 명령어 형태는 standard form과 GNU extension form이 존재한다.
기본적으로 유닉스 호환 혹은 유닉스 체계 지원하는 환경에서 명령어를 작성한다고 가정하면서, 컴퓨터가 달라져도 명령어에 대한 확장/이식성(호환성)을 높이기 위해 표준화한 체계가 존재한다.
이에 따라 명령어 역시 표준화된 체계가 존재한다.
--option
축약된 형태없이 표준단어 그대로 option에 입력하는 경우에 사용한다.
GNU extenstion이라고도 하며, 명령어의 직관적인 이해가 가능하다.
--help
그러나 POSIX 표준에 들어가지 않을 수도 있기 때문에 이식성에서는 불리하고, ls
와 같은 특정 명령어에서는 해당 형태를 지원하지 않을 수도 있다.
-option
명령어 option을 축약된 형태로 입력하는 경우에 사용한다.
POSIX 표준에 맞는 형태이며, one-dash로 입력한 option은 문자 하나하나에 대한 동작을 순서대로 수행한다.
예를 들어,
ls -al
명령어를 수행할 경우, -al option은 -a(show hidden files) / -l(long output)의 동작을 순서대로 수행한다.
option이 없을 경우엔 BSD 체계에 맞는 명령어이다.
참고로 BSD 또한 유닉스, 리눅스와 마찬가지로 운영체제의 한 종류이다.
리눅스 명령어 형식
https://htst.tistory.com/5
-, -- options
https://kldp.org/node/137609
https://stackoverflow.com/questions/28279812/bash-difference-between-and-options