핵심 편지? 옵션 문자? 이것들은 무엇입니까?

핵심 편지? 옵션 문자? 이것들은 무엇입니까?

일부 GNU 및 GNU 유사 도구는 예를 foo -hgcf들어 foo -h -g -c -f.

예는 타르입니다., 예를 tar cXbf keepout 20 archive.shar *.txt들어 tar -c -b 20 -X keepout -f archive.tar *.txt.

매개변수를 지정하는 "압축" 또는 "짧은" 스타일에 이름이 있는 것 같습니다. 이름이 무엇인지, 이에 대해 자세히 알아보는 방법과 도구가 이를 지원하는지 확인하는 방법을 아는 사람이 있습니까?

답변1

전통적인 Unix에서 옵션은 ls -l또는 와 같은 문자입니다 ls -d. 어떤 경우에는 옵션이 cut -d: -f1 /etc/passwd( -d(구분 기호) 및 값 :, -f(선택할 필드) 및 값 1)과 같은 매개변수를 허용합니다. 옵션에 인수가 없으면 를 ls -l -d -F /tmp/*작성할 수 있습니다 ls -ldF /tmp/*. 일부 명령은 +의 10행에서 시작하는 것과 같이 로 시작하는 옵션을 사용합니다 more +10 file.more(1)file

cut --delimiter=: --fields=1 /etc/passwd나는 위의 GNU 와 같은 긴 옵션에 대한 아이디어를 도입한 것이 87년경의 GNU 프로젝트였다고 생각합니다 cut. 이는 더 읽기 쉬운 옵션을 제공하고 다음 문제를 해결할 것입니다.오직ls(1)62개의 문자와 숫자, 너무 적은 옵션 gcc -c -O2 --fomit-frame-pointer xxx.c...

일부 이단적인 명령은 로 시작하는 긴 옵션을 사용합니다 -. 예를 convert -adjoin -authenticate passwd some.jpg graphic.gif files.png -o here.pdf들어 (이미지 마술사, -adjoin이미지를 합치려면 -authenticate비밀번호가 필요합니다. 이것은 매뉴얼 페이지의 옵션 목록에서 함께 엮은 것이므로 그 조합은 아마도 의미가 없을 것입니다.

많은 명령(모두는 아니지만 사용 중인 Unix 특성에 따라 다름)은 --"다음은 옵션처럼 보이지만 더 이상 옵션이 아닙니다"를 의미하므로 GNU를 사용하면 일반적으로 다음과 같이 생성되는 파일을 rm(1)사용할 수 있습니다. -rf어리석은 장난 rm -- -rf.

답변2

C에서 참조getopt_long그리고 bash찾아보세요getopts

관련 정보