명령 행 옵션에 대해 짧고 긴 대안이있는 이유는 무엇입니까?


23

대부분의 unixoid 명령에는 ls -aand ls --all, 또는 ls -Aand 같은 명령 행 옵션에 대한 짧고 긴 대안이 있습니다 ls --almost-all. 왜이 두 가지 방법이 존재합니까? 하나는 입력하기가 더 짧고 다른 하나는 읽고 이해하기가 더 쉽습니다. 그러나 쉘 스크립트를 작성할 때마다 사용할 스크립트를 결정해야합니다. 두 대안이 존재하는 이유를 알고 있습니까? 어느 쪽이 처음이었고, 다른 쪽이 왜 소개 되었습니까? 예를 들어 DOS / Windows에는 대소 문자를 구분하지 않는 한 글자 옵션 만 있습니다.

답변:


24

원래 단일 문자 옵션 만있었습니다. 일부 프로그램은 여러 문자 옵션을 취했지만 여전히 단일 대시로 표시됩니다. AFAIK 이중 대시 다중 문자 옵션은 GNU 에서 제공됩니다 . 그것들은 더 읽기 쉽고 종종 기억하기 쉽기 때문에 소개되었습니다 (그리고 52 개 이상 가질 수 있습니다). 명령 줄에 입력 할 때 사용할 수있는 짧은 옵션, 문자에 대한 긴 옵션, 스크립트에 대한 긴 옵션 또는 더 긴 옵션 이름 만 기억하는 경우 명령 행에 많은 옵션이 있습니다.


15
긴 옵션이 스크립트를 작성하는 데 도움이되기 때문에 긴 옵션이 더 좋다고 언급 한 경우 +1
Norman Gray

5
"그들 중 52 명만": 시도 ls -BartSimpsonIsJustCool(또는 GreatSolaris를 사용중인 경우)
Aaron Digulla

1
@AaronDigulla이 부활절 달걀입니까?
user712092

5
아니요, 속임수입니다. Linux에서는 뒤에 나오는 모든 것이 옵션에 I대한 인수 -I이므로 sJustCool현재 디렉토리에 파일이있는 경우에만 차이가 있습니다 . -BartSimpson부분은이 점을 제외하고 다시 정렬 할 수있다 S(종류의 크기에 의해) 후 유지해야한다 t(일종의 날짜 별). 또한 m영향이없는 n또는 o존재한다. 따라서 명령은와 동일하며 ls -BSainopsr, 아무것도 놓치지 않았다면 동일한 출력을 얻기 위해 다른 문자를 제거 할 수 없으며이 문자를 자유롭게 재정렬 할 수 있습니다.
Gilles 'SO- 악마 그만해

2
@Gilles : 그런데 가능한 한 정확하게 gzip -9 filename하기 위해 , 52 가지가 아닌 62 가지의 짧은 옵션 (숫자 포함)이있을 수 있습니다 . 예를 들어 고려해보십시오 .
Radko Dinev

1

그것이 맛의 문제라고 생각할 수도 있습니다. 명령 행에 입력 할 때 특히 런 투게더 옵션 (예 :)의 경우 짧은 옵션이 선호 될 수 있습니다 ls -AL. 긴 옵션은 의도를 전달하는 데 더 좋으므로을 읽을 때 매뉴얼 페이지를 참조 할 필요가 없습니다 ls --almost-all --dereference.

당연히 경험을 쌓으면서 짧은 옵션 -A-L짧은 옵션이 모두 잘 알려져 있으며이 추가 문서가 필요하지 않다는 것을 알게 될 것입니다 . 특히 여러 명령을 흥미로운 방식으로 평가, 리디렉션 등으로 결합 할 수있는 복잡한 명령에서 이러한 경우 문서보다 간결성을 선호 할 수 있습니다.


1

매개 변수를 지정하는 다른 방법 (짧고 긴)을 볼 수있는 또 다른 목적은 입력 할 때 Unix / Linux 명령 줄 사람들이 가능한 한 짧은 명령을 사용하는 것입니다. 그러나 그것들은 암호가 될 수 있으며, 짧은 버전을 사용하여 스크립트를 작성하면 길을 이해하기가 어려워 질 수 있습니다. 긴 버전을 사용하면 특히이 명령이 잘 알려진 명령과 달리 로컬로 작성된 스크립트 인 경우이 명령 전문가 가 아닌 사람이 SAME 명령을보다 읽기 쉽고 이해하기 쉽게 만들 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.