나는 종종 단일 대시 -
또는 이중 대시 --
뒤에 Linux 명령 또는 설치된 다른 Linux 프로그램이 표시됩니다.
단일 대시와 이중 대시의 차이점은 무엇입니까?
약어에 관한 것입니까? 예를 들어, 대부분의 시간을 -v
의미 --verbose
합니다.
답변
관습의 문제입니다. POSIX 표준 프로그램에는 일반적으로 단일 문자 옵션 만 있으며 모두 단일 하이픈으로 시작됩니다. 내가 알 수있는 한 더 긴 버전은 명확성을 위해 GNU 개선이며 일반적으로 이중 하이픈이 접두어로 붙습니다. 옵션 getopt
및 gnu-getopt
각각 을 구문 분석하는 데 사용되는 라이브러리 및 프로그램에서이를 확인할 수 있습니다 . 비 GNU 및 비 POSIX 호환 프로그램은 다른 작업을 수행 할 수 있습니다. 긴 형식의 인수가 프로그램마다 다를 수 있다는 것을 실제로 확신 할 수는 없습니다. -f
일반적으로을 의미 --force
하지만 apt-get install
(일반적인 오해)를 의미 하지는 않습니다 . -v
일반적으로 또는 --verbose
등의 버전을 의미 할 수 있습니다 . 매뉴얼 페이지 또는 기타 설명서를 확인하십시오. 또한 봐getopt에에 Wikipedia 기사 . 이 모든 것이 리눅스보다 10 년 이상 앞서 있습니다.
dd
의 예 는 POSIX 표준 유틸리티 어떤 하이픈 옵션이없는 전혀를 . 단일 하이픈이있는 단어 옵션이 있는 POSIX 표준 유틸리티find
의 고전적인 예입니다 . 거의 모든 find
옵션은 여러 문자 길이입니다. ps
여러 옵션 스타일을 지원합니다.
This version of ps accepts several kinds of options:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
GNUtar
는 또한 여러 옵션 스타일을 지원합니다.
스크립트를 호환 가능한 환경에서 실행할 수 있으려면 사용법에있어 스크립트에서 긴 옵션을 선호하십시오. 디버깅시 선명도의 향상은 큰 도움이됩니다. 이식성을 위해 짧은 옵션이 선호됩니다.
답변
일반적으로-옵션은 다음과 같이 서로 연결될 수 있습니다 pacman -Syu
으로pacman -S -y -u
-옵션은 일반적으로./configure --prefix=/usr