명령줄 인터페이스의 공통 사양

명령줄 인터페이스의 공통 사양
  1. Linux 및 bash에서 사용되는 명령줄 인터페이스에 대한 일반적인 개념을 어디서 찾고 배울 수 있는지 알고 싶습니다.
  2. 지금까지 나는 경험을 바탕으로 그러한 정보 중 일부만을 찾았습니다.

    1. cat의 경우 추가 인수 없이 stdin 입력을 허용합니다. 그러나 특별한 이름을 사용하여 STDIN을 명시적으로 지정할 수 -있으며 두 방법 모두 동일합니다. cat파일 이름도 허용됩니다 . 그러면 파일 이름의 매개변수를 입력하는 cat filename것입니까 ? -이 사용법은 -다른 명령에도 공통적으로 적용됩니까?
    2. In 은 chardet <<<somestring문자열 <<< 을 stdin으로 사용하는 것을 의미합니다 echo somestring | chardet. 이런 사용법이 <<< 일반적인가요?
    3. 매개변수의 숫자 범위를 지정하는 방법은 cut -c 1-3,20,25- employees다른 명령에서 흔히 볼 수 있나요?1-3,20,25-
  3. 마지막으로, 이러한 일반적인 아이디어는 bash, Linux, Unix 또는 getopt를 명령줄 파서로 사용하는 소프트웨어에 공통적으로 적용됩니까?

답변1

기본 사용법을 배우고 일부 고급 기능을 이해하려면 Unix 또는 Linux 셸 및 명령줄 사용법에 대한 책을 읽는 것이 좋습니다. 그런 다음 참조 문서를 참조할 수 있습니다.

특정 명령의 사용법은 해당 설명서에 설명되어 있습니다. 시스템의 명령 매뉴얼이 표시됩니다 man cat. cat매뉴얼 페이지에는 예제가 포함되어 있는 경우가 많지만 일반적으로 튜토리얼이 아닌 참조 자료입니다. Linux에서는 cat --help간결한 사용법 메시지를 표시합니다(기본 사항을 이미 알고 있고 특정 작업에 대한 옵션을 찾고 싶을 때 빠르게 읽을 수 있음).

이것POSIX표준은 모든 UNIX 시스템이 지원해야 하는 최소 명령, 옵션 및 셸 기능 집합을 지정합니다. 최신 시스템에서 지원됨POSIX:2004(Single UNIX 버전 3 및 Open Group Base Spec Issue 6이라고도 함)암소 비슷한 일종의 영양소프트웨어(Linux의 유틸리티)에는 이 최소 세트에 대한 많은 확장이 있는 경우가 많습니다.

명령줄 인수에 대한 일반적인 규칙이 있습니다. POSIX 지정실용적인 관례대부분의 유틸리티는 특히 다음을 따릅니다.

  • --ab옵션은 Yes 의 약어 뒤에 오는 문자로 구성됩니다 -a -b.
  • --옵션의 끝을 나타냅니다. 예를 들어 에서는 rm -- -a옵션 -a이 아니라 연산할 파일인 피연산자이므로 명령은 -a.
  • -입력 파일이 필요한 표준 입력을 위해 단독으로 사용됩니다. 원하는 출력 파일의 표준 출력을 나타냅니다.

GNU 유틸리티 및 기타 유틸리티도 "long options" 형식을 지원합니다 --name. 일부 유틸리티는 단일 대시가 포함된 여러 문자 옵션을 사용하여 일반적인 규칙을 위반합니다 -name.

리디렉션은 셸 기능이므로 셸 설명서에서 찾을 수 있습니다. <<<문자열을 표준 입력으로 사용하는 것은 ksh 확장이며 bash 및 zsh에서도 지원됩니다. 쉘이 지원하는 한 모든 명령과 함께 사용할 수 있습니다.

답변2

간단히 말해서 O'rielly의 Unix를 살펴보거나 Google bash 튜토리얼을 살펴보는 것이 좋습니다.

Bash(일명 Bourne Again SHell).

내가 정확하게 기억한다면 다른 쉘은 SH, CSH 및 KSH입니다. CSH는 C를 기반으로 합니다.

또한 C와 Perl 또는 Python을 배우는 것이 좋습니다. 이는 작업 속도를 크게 높이는 데 도움이 됩니다.

답변3

그렇다면 파일 이름의 매개변수를 입력하라는 뜻인가요?

예.

- 다른 명령어에도 이런 사용법이 일반적인가요?

표준이 있는지는 확실하지 않지만 일부 GNU 도구(예: tar)는 이 목적으로 사용됩니다.

cut -c 1-3,20,25-Employees, 1-3,20,25- 에서 매개변수의 숫자 범위를 지정하는 방법이 다른 명령에서 공통적으로 사용됩니까?

이것은 자연스러운 것 같습니다. 대부분의 GNU 도구와 함께 사용할 수 있다고 확신합니다. 대부분 동일한 규칙을 따르지만 GNU가 아닌 도구에 대해서는 설명서를 확인하겠습니다.

관련 정보