명령에서 플래그를 알파벳 순서로 정리해야합니까? 알고 있습니다. ls -la ls -al 그러나 그들 사이에 선호가

이 두 명령이 같은 일을한다는 것을 알고 있습니다.

ls -la
ls -al

그러나 그들 사이에 선호가 있는지 궁금합니다. 특정 방식으로 주문하는 것이 더 나은 방법입니까?



답변

명령에서 명시 적으로 언급하지 않는 한 실제로 중요하지 않습니다 *. 옵션을 차례로 배치하는 방법과 같은 지침을 제공하는 참조는 없었습니다. 따라서 가독성을 위해 옵션을 알파벳순으로 정렬 할 수 있다고 생각합니다.

* 옵션에 파일 이름이나 다른 입력이 필요한 경우 적절하게 입력 해야하는 매우 중요한 카바레가 있습니다.

예를 들어, -f옵션은 grep파일을 입력으로 가져 와서 입력 파일에서 찾을 패턴을 가져옵니다. 다음과 같이 명령을 제공해야합니다.

grep -cf input.txt file.txt

다음과 같이 사용하면 :

grep -fc input.txt file.txt

c파일 이름으로 사용 되므로 실패 합니다.


답변

POSIX의 규칙에서 정의한 가이드 라인 (11)과 유틸리티 구문 가이드 라인의 12 순서 “라는 문제가 안된다 “하지 않는 한이 유틸리티 자체에 대한 문서화 아니에요.

GNU C 라이브러리 참조 설명서 도 명예에 그 POSIX 규칙 25.1.1 프로그램 인수 구문 표기 규칙 .

그러나 일부 상황에서 매개 변수를 수행하는 방법 (예 : 찾기)을 엄격하게 지시하는 여러 유틸리티가 있습니다. 보내는 사람 찾기 맨 :

-name테스트는 앞에 오는 -type전화하는 것을 방지하기 위해 테스트 stat(2)모든 파일에.

때로는 유틸리티가 주문에 대해 불평합니다.


답변

ls를 사용하면 옵션 순서를 잘못 지정할 수 없습니다.

그러나 다른 명령은 순서에 따라 옵션에 대해 다른 응답을 가질 수 있습니다.

예를 들어 find 명령이 있습니다. 예를 들어 다음과 같은 다른 결과가 나타납니다.

  find . -ls -mtime -1

  find . -mtime -1 -ls

답변

연습하려는 경우 짧은 문자열을 알파벳순으로 정렬하는 것입니다. 나는 두 가지 전략, 즉 단어를 만들고 (오타를 줄이며) 문장을 만드는 것 (이해력을 향상시키는)이 유용하다는 것을 알았습니다.

예를 들어, ls의 경우, ls -halF대문자를 사용 하더라도 단어가 아닌 Falh 와 같은 것보다 halF 를 입력하는 것이 더 낫기 때문에 일반적으로 사용 합니다.

tar의 경우, 나는 다른 tar czvf filename머리의 의미를 배웠기 때문에 “tar 작성 및 Zip, Verbosely For 파일 이름”이라고 입력 하고 말합니다.


답변

다른 사람들이 대답했듯이 중요하지 않습니다 (달리 문서화되거나 옵션 인수가 추가 인수를 취하지 않는 한).

그러나 알파벳 순서로 옵션을 주문하는 것이 바람직합니다.

개인적으로, 니모닉이 엄격한 알파벳 순서보다 더 많은 가치를 제공한다는 것을 알았습니다. 기억에 남는 단어를 만들 때 일련의 옵션을 기억하는 것이 더 쉽습니다. 예를 들어 다음을 고려하십시오.

netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant

vs :

netstat -atn
netstat -nta

따라서 명령에 대해 특정 옵션 콤보를 반복하면 문자를 기억하기 쉬운 순서로 다시 정렬하려고 할 수 있습니다.