이 절은 AFS 명령의 구성요소와 단축 형식을 사용하여 명령 입력을 보다 효율적으로 수행하는 방법을 설명합니다. 다음과 같은 절들이 있습니다.
집합에 속하는 AFS 명령은 다음과 같은 구조를 사용합니다.
command_suite operation_code -switch <value>[+] [-flag]
command_suite와 operation_code는 함께 명령 이름을 만듭니다.
command_suite는 명령이 속한 관련 명령의 그룹을 지정하고 명령 인터프리터와 서버가 수행하는 프로세스와 명령을 나타냅니다. AFS에는 bos, fs, kas, package, pts, scout, uss 그리고 vos를 포함한 여러 명령 집합이 있습니다. 이런 집합 중 일부에는 실행자가 명령 이름의 command_suite 부분을 생략하는 대화식 모드가 있습니다.
operation_code는 명령 인터프리터와 서버 프로세스에게 수행해야 하는 작업을 알려줍니다. 대부분의 명령 집합에는 여러 조작 코드가 있습니다. AFS Administration Reference에서는 각 연산 코드를 자세히 설명하며 AFS 관리 안내서에서는 관리 타스크를 수행할 때 이들을 사용하는 방법을 설명합니다.
여러 AFS 명령이 하나의 집합에 속해 있지 않으므로 그 이름에는 command_suite 부분이 없습니다. 그렇지 않은 경우 그 구조가 집합의 명령과 유사합니다.
용어 옵션은 다음 절에서 설명하는 인수와 플래그를 모두 참조합니다.
하나 이상의 인수가 명령 이름 뒤에 나올 수 있습니다. 인수는 명령을 수행하는 동안 작동할 엔티티(예: 서버 시스템, 서버 프로세스 또는 파일)를 지정합니다. 오류 가능성을 최소화하려면 구문 정의에서 미리 지정한 순서대로 명령의 인수를 제공하십시오.
각 인수는 두 가지 부분을 가지며 지정된 순서대로 나타납니다.
일부 인수는 명령 설명과 온라인 도움말에서 더하기 부호(+)를 맨 뒤에 붙임으로써 여러 값을 허용합니다. 다른 인수와 비교할 때 하나의 명령 인수가 취하는 값의 수와 그 순서에 따라 스위치를 생략할 수 있는 때가 결정됩니다. 스위치 생략 조건을 참조하십시오.
일부 명령은 필수 인수 뿐 아니라 선택적 인수도 가집니다. 명령 설명과 온라인 도움말에는 선택적 인수를 각괄호([ ])로 묶어서 표시합니다.
일부 명령은 하나 이상의 플래그를 가지며 이것은 명령 인터프리터와 서버 프로세스가 명령을 수행하는 방식이나 생성하는 출력 유형을 지정합니다. 플래그는 스위치와 같은 하이픈이 앞에 붙지만 값을 가지지 않습니다. 명령 설명과 온라인 도움말에서 일반적으로 그 인수 다음에 명령 플래그를 나열하고 있으나 플래그에 대해 미리 지정된 순서는 없습니다. 이들은 한 인수의 중간을 제외한 연산 코드 다음에 나오는 명령행의 어떠한 위치에도 나타날 수 있습니다. 플래그는 항상 선택적입니다.
다음 예제는 AFS 명령 집합에 속하는 명령의 다른 부분을 설명합니다.
% bos getdate -server fs1.abc.com -file ptserver kaserver
여기서,
단일 행에 각 AFS 명령을 입력하십시오(명령 끝에서만 <Return> 사용). 이 문서의 일부 명령은 여러 행으로 구분되어 나타나지만 이해를 돕기 위한 것에 불과합니다.
공백을 사용하여 명령행의 각 요소를 분리하십시오. 쉼표 이외에 공백도 인수의 여러 값을 분리하는 데 사용됩니다.
많은 경우에 명령의 실행자는 다음 방법 중 하나 또는 두 가지를 모두 사용하여 입력해야 할 내용을 줄일 수 있습니다.
다음 절에서는 명령행의 부분을 생략하거나 줄이기 위한 조건을 설명합니다. 모든 스위치를 포함하여 약어를 사용하지 않고 명령 전체를 입력하는 방법이 항상 문제 없이 사용할 수 있는 방법입니다.
항상 인수의 스위치 부분을 입력할 수 있으나 많은 경우에 불필요하기도 합니다. 특히 다음 조건이 충족될 경우 스위치를 생략할 수 있습니다.
스위치를 생략하는 것은 각 명령의 인수에 대해 미리 지정된 순서가 있기 때문에 가능한 것입니다. 실행자가 스위치를 포함시키지 않으면 명령 인터프리터는 인수의 순서에 의존합니다. 명령 인터프리터는 연산 코드 이후의 첫째 요소가 명령이 첫째 요소이고 다음 요소가 명령의 둘째 요소가 되는 것처럼 차례대로 적용된다고 가정합니다. 중요한 예외는 명령의 마지막 필수 인수가 여러 값을 허용할 때입니다. 이 경우 명령 인터프리터는 실행자가 마지막 인수까지 각 인수에 대해 하나의 값을 제대로 제공했다고 가정하므로 맨 끝의 추가 값은 마지막 인수에 속하게 됩니다.
다음 목록은 반대적 개념에서 스위치를 생략하는 규칙을 설명합니다. 따라서 다음 조건 중 하나가 적용될 때 인수의 스위치를 제공해야 합니다.
예제 명령에서 예제 명령을 다시 살펴 보십시오.
% bos getdate -server fs1.abc.com -file ptserver kaserver
이 명령은 두 개의 필수 인수를 가집니다. 바로 서버 시스템 이름(-server 스위치로 식별)과 2진 파일 이름(-file 스위치로 식별)입니다. 두 번째 인수는 여러 값을 수용합니다. 세 가지 규칙을 모두 준수함으로써 실행자는 다음과 같이 스위치를 생략할 수 있습니다.
% bos getdate fs1.abc.com ptserver kaserver
스위치가 없으므로 bos 명령 인터프리터는 인수의 순서에 의존합니다. 또한 연산 코드 다음에 나오는 첫째 요소인 fs1.abc.com이 서버 시스템 이름이고 다음 인수인 ptserver가 2진 파일 이름이라고 가정합니다. 그런 다음 명령의 두 번째(및 마지막) 인수가 여러 값을 허용하므로 명령 인터프리터는 kaserver를 추가 값으로 해석합니다.
한편 다음은 스위치 생략 조건의 처음 두 가지 조건을 위반하므로 허용되지 않습니다. 인수 당 하나의 값만 있다고 해도 인수가 미리 지정한 순서대로 나타나지 않고 하나의 인수에 대해 스위치가 제공되지만 이것도 지정한 순서와 다릅니다.
% bos getdate ptserver -server fs1.abc.com
이 절에서는 연산 코드, 옵션 이름, 서버 시스템 이름, 파티션 이름 및 셀 이름을 약어로 표시하는 방법을 설명합니다. 다른 유형의 값은 약어로 표시할 수 없습니다.
집합 내의 다른 연산 코드와 여전히 구분되는 가장 짧은 형태로 연산 코드를 축약하여 나타낼 수 있습니다.
예를 들어 bos install을 bos i로 줄일 수 있는 데 이것은 bos 명령 집합에 문자 i로 시작되는 다른 연산 코드가 없기 때문에 가능합니다. 반대로 문자 s로 시작하는 여러 개의 bos 연산 코드가 있으므로 이 약어는 더 이상 유용하지 않습니다.
bos salvage에 대해 bos sa
bos setauth에 대해 bos seta
bos setcellname에 대해 bos setc
bos setrestart에 대해 bos setr
bos shutdown에 대해 bos sh
bos start에 대해 bos start
bos startup에 대해 bos startu
bos status에 대해 bos stat
bos stop에 대해 bos sto
일부 연산 코드는 약어 뿐 아니라 연산 코드를 가장 짧은 명확한 양식으로 줄여서 생성한 형태는 아닌 별명을 가집니다. 예를 들어 fs setacl 명령의 별명은 fs sa이며 가장 짧은 축약형은 fs seta입니다.
연산 코드가 별명을 가지는 다음의 두 가지 일반적인 이유가 있습니다.
연산 코드가 별명을 가지는 경우에도 가장 짧은 명확한 형태를 사용하는 것이 여전히 가능합니다. 따라서 fs setacl 명령은 fs setacl(전체 양식), fs seta(가장 짧은 축약형) 및 fs sa(별명)의 세 가지 양식을 허용합니다.
연산 코드에 대한 다른 스위치 및 플래그와 여전히 구분되는 가장 짧은 형태로 스위치나 플래그를 축약하여 나타낼 수 있습니다. 전체 스위치를 생략하는 것도 스위치 생략 조건에서 설명하는 조건에 따라 가능합니다.
AFS 서버 시스템은 완전 규정화된 인터넷 양식 호스트 이름(예: fs1.abc.com)을 가져야 하지만 명령행에 항상 전체 이름을 입력할 필요는 없습니다. AFS 명령은 명확한 축약 형태를 허용하지만 셀의 이름 서비스(예: 도메인 이름 서비스)나 로컬 호스트 테이블에 따라 명령이 실행될 때 축약 이름을 완전 규정화된 이름으로 해석합니다.
대부분의 명령은 또한 시스템의 IP 주소의 점분리 십진 양식을 식별자로 허용합니다.
AFS 볼륨이 있는 파티션은 양식 /vicepx 또는 /vicepxx의 이름을 가져야 하며 여기서 변수의 마지막 부분은 하나나 두 개의 소문자입니다. 일반적으로 파일 서버 시스템에서 작성된 첫째 서버 파티션을 /vicepa라고 하고 둘째를 /vicepb라고 하며 이와 같은 방식으로 계속됩니다. AFS 빠른 시작에서는 AFS 볼륨을 저장하기 위해 파일 서버 시스템의 파티션을 구성하고 명명하는 방법을 설명합니다.
AFS 명령을 실행할 때 다음 양식을 사용하여 파티션 이름을 줄일 수 있습니다.
/vicepa = vicepa = a = 0 /vicepb = vicepb = b = 1
/vicepz(색인이 25인) 뒤에는 다음이 옵니다.
/vicepaa = vicepaa = aa = 26 /vicepab = vicepab = ab = 27
그 이후에도 다음이 적용됩니다.
/vicepiv = vicepiv = iv = 255
셀의 전체 이름은 보통 그 인터넷 도메인 이름(예: State University의 경우 stateu.edu, ABC Corporation의 경우 abc.com)와 일치합니다. 일부 AFS 명령은 로컬 /usr/vice/etc/CellServDB와 관련하여 명확한 축약 형태를 허용하지만 로컬 이름 서비스의 능력에 따라 해당 도메인 이름을 해석하기도 합니다.
명령 집합에 속하는 AFS 명령에 대한 온라인 도움말을 표시하려면 help 및 apropos 연산 코드를 사용하십시오. 거의 모든 AFS 명령에 대해 -help 플래그도 사용할 수 있습니다.
명령에 대한 온라인 도움말 항목은 둘 또는 세 개의 행으로 구성됩니다.
연산 코드가 지정되지 않으면 help 연산 코드가 명령 집합의 모든 연산 코드에 대한 첫째 행(짧은 설명)을 표시합니다.
% command_suite help
실행자가 하나 이상의 연산 코드를 지정하면 help 연산 코드는 각 명령의 완전한 온라인 항목(설명, 있는 경우 별명 및 구문)을 표시합니다.
% command_suite help operation_code+
-help 플래그는 명령의 구문을 표시하지만 짧은 설명이나 별명은 표시하지 않습니다.
% command_name -help
apropos 연산 코드는 그 연산 코드나 짧은 설명에 지정된 키워드가 들어 있는 명령의 짧은 설명을 표시합니다.
% command_suite apropos "<help string>"
다음 예제 명령은 fs setacl 명령에 대한 완전한 온라인 도움말 항목을 표시합니다.
% fs help setacl fs setacl: set access control list aliases: sa Usage: fs setacl -dir <directory>+ -acl <access list entries>+ [-clear] [-negative] [-id] [-if] [-help]
명령 구문만 보려면 -help 플래그를 사용하십시오.
% fs setacl -help Usage: fs setacl -dir <directory>+ -acl <access list entries>+ [-clear] [-negative] [-id] [-if] [-help]
다음 예제에서 사용자는 홈 볼륨에 대한 할당량을 표시하려고 합니다. 이 사람은 적절한 명령이 fs 명령 집합에 속해 있다는 것을 알고 있으나 연산 코드를 기억할 수 없습니다. 따라서 키워드로 quota를 사용합니다.
% fs apropos quota listquota: list volume quota quota: show volume quota usage setquota: set volume quota
다음은 명령 이름이나 짧은 설명에 키워드가 들어 있지 않을 때 나타나는 오류 메시지를 보여줍니다.
% fs apropos "list quota" Sorry, no commands found