# 관리 안내서

# 부록 B. AFS 명령 사용

이 절은 AFS 명령의 구성요소와 단축 형식을 사용하여 명령 입력을 보다 효율적으로 수행하는 방법을 설명합니다. 다음과 같은 절들이 있습니다.

  AFS 명령 구문

  AFS 명령 입력 규칙

  약어 및 별명 사용 규칙

  AFS 명령에 대한 온라인 도움말 표시

## 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 부분이 없습니다. 그렇지 않은 경우 그 구조가 집합의 명령과 유사합니다.

### 옵션

용어 옵션은 다음 절에서 설명하는 인수와 플래그를 모두 참조합니다.

### 인수

하나 이상의 인수가 명령 이름 뒤에 나올 수 있습니다. 인수는 명령을 수행하는 동안 작동할 엔티티(예: 서버 시스템, 서버 프로세스 또는 파일)를 지정합니다. 오류 가능성을 최소화하려면 구문 정의에서 미리 지정한 순서대로 명령의 인수를 제공하십시오.

각 인수는 두 가지 부분을 가지며 지정된 순서대로 나타납니다.

- 스위치는 인수의 유형을 지정하며 하이픈(-)이 앞에 붙습니다. 예를 들어 스위치 -server는 보통 인수가 서버 시스템을 명명함을 나타냅니다. 스위치는 스위치 생략 조건에 나온 규칙에 따라 생략될 수 있습니다.
- 값은 앞의 스위치에서 지정한 유형의 특정 엔티티를 명명합니다. 예를 들어 -server 스위치에 대한 적절한 값은 fs3.example.com과 같은 서버 시스템 이름입니다. 스위치(필수 양식을 가짐)와는 달리 값은 실행자가 수행하려는 작업에 따라 달라질 수 있습니다. 값은 명령 설명과 온라인 도움말에서 앵글 괄호(< >)로 묶여서 사용자 제공 변수 정보임을 표시합니다.

일부 인수는 명령 설명과 온라인 도움말에서 더하기 부호(+)를 맨 뒤에 붙임으로써 여러 값을 허용합니다. 다른 인수와 비교할 때 하나의 명령 인수가 취하는 값의 수와 그 순서에 따라 스위치를 생략할 수 있는 때가 결정됩니다. 스위치 생략 조건을 참조하십시오.

일부 명령은 필수 인수 뿐 아니라 선택적 인수도 가집니다. 명령 설명과 온라인 도움말에는 선택적 인수를 각괄호([ ])로 묶어서 표시합니다.

### 플래그

일부 명령은 하나 이상의 플래그를 가지며 이것은 명령 인터프리터와 서버 프로세스가 명령을 수행하는 방식이나 생성하는 출력 유형을 지정합니다. 플래그는 스위치와 같은 하이픈이 앞에 붙지만 값을 가지지 않습니다. 명령 설명과 온라인 도움말에서 일반적으로 그 인수 다음에 명령 플래그를 나열하고 있으나 플래그에 대해 미리 지정된 순서는 없습니다. 이들은 한 인수의 중간을 제외한 연산 코드 다음에 나오는 명령행의 어떠한 위치에도 나타날 수 있습니다. 플래그는 항상 선택적입니다.

### 예제 명령

다음 예제는 AFS 명령 집합에 속하는 명령의 다른 부분을 설명합니다.

       % bos getdate -server fs1.example.com -file ptserver kaserver

여기서,

- bos는 명령 집합입니다. BOS 서버는 이 집합에 있는 대부분의 명령을 실행합니다.
- getdate는 연산 코드입니다. 이것은 지정된 서버 시스템(이 경우에는 fs1.example.com)의 BOS 서버에게 로컬 /usr/afs/bin 디렉토리의 2진 파일 수정일을 보고하게 합니다.
- -server fs1.example.com은 인수이며 스위치로서 -server와 값으로서 fs1.example.com을 가집니다. 이 인수는 BOS 서버가 2진 날짜를 수집하고 보고하는 서버 시스템을 지정합니다.
- -file ptserver kaserver는 여러 값을 취하는 인수입니다. 스위치는 -file이고 값은 ptserver와 kaserver입니다. 이 인수는 BOS 서버에게 파일 /usr/afs/bin/kaserver 및 /usr/afs/bin/ptserver에 대한 수정일을 보고하게 합니다.

### AFS 명령 입력 규칙

단일 행에 각 AFS 명령을 입력하십시오(명령 끝에서만 <Return> 사용). 이 문서의 일부 명령은 여러 행으로 구분되어 나타나지만 이해를 돕기 위한 것에 불과합니다.

공백을 사용하여 명령행의 각 요소를 분리하십시오. 쉼표 이외에 공백도 인수의 여러 값을 분리하는 데 사용됩니다.

많은 경우에 명령의 실행자는 다음 방법 중 하나 또는 두 가지를 모두 사용하여 입력해야 할 내용을 줄일 수 있습니다.

- 스위치 생략
- 연산 코드, 스위치(포함된 경우) 및 다른 유형의 값에 대해 허용되는 축약형 사용

다음 절에서는 명령행의 부분을 생략하거나 줄이기 위한 조건을 설명합니다. 모든 스위치를 포함하여 약어를 사용하지 않고 명령 전체를 입력하는 방법이 항상 문제 없이 사용할 수 있는 방법입니다.

#### 스위치 생략 조건

항상 인수의 스위치 부분을 입력할 수 있으나 많은 경우에 불필요하기도 합니다. 특히 다음 조건이 충족될 경우 스위치를 생략할 수 있습니다.

- 명령의 모든 필수 인수가 명령 구문에서 미리 지정한 순서대로 나타나는 경우
- 인수에 스위치가 제공되지 않는 경우
- 각 인수에 대해 하나의 값만 있는 경우(그러나 다음에서 설명하는 중요한 예외 상황에 유의하십시오.)

스위치를 생략하는 것은 각 명령의 인수에 대해 미리 지정된 순서가 있기 때문에 가능한 것입니다. 실행자가 스위치를 포함시키지 않으면 명령 인터프리터는 인수의 순서에 의존합니다. 명령 인터프리터는 연산 코드 이후의 첫째 요소가 명령이 첫째 요소이고 다음 요소가 명령의 둘째 요소가 되는 것처럼 차례대로 적용된다고 가정합니다. 중요한 예외는 명령의 마지막 필수 인수가 여러 값을 허용할 때입니다. 이 경우 명령 인터프리터는 실행자가 마지막 인수까지 각 인수에 대해 하나의 값을 제대로 제공했다고 가정하므로 맨 끝의 추가 값은 마지막 인수에 속하게 됩니다.

다음 목록은 반대적 개념에서 스위치를 생략하는 규칙을 설명합니다. 따라서 다음 조건 중 하나가 적용될 때 인수의 스위치를 제공해야 합니다.

- 명령의 인수가 미리 지정된 순서로 나타나지 않을 경우
- 선택적 인수가 생략되었으나 그 다음 선택적 인수가 제공되는 경우
- 앞의 인수에 대한 스위치가 제공된 경우
- 앞의 인수에 대해 둘 이상의 값이 제공된 경우(물론 이 인수는 여러 값을 취해야 함) 현재 인수에 대한 스위치가 없는 경우 명령 인터프리터는 현재 인수가 이전 인수에 대한 또 다른 값이라고 가정합니다.

#### 스위치 생략의 예

예제 명령에서 예제 명령을 다시 살펴 보십시오.

       %  bos getdate -server fs1.example.com -file ptserver kaserver

이 명령은 두 개의 필수 인수를 가집니다. 바로 서버 시스템 이름(-server 스위치로 식별)과 2진 파일 이름(-file 스위치로 식별)입니다. 두 번째 인수는 여러 값을 수용합니다. 세 가지 규칙을 모두 준수함으로써 실행자는 다음과 같이 스위치를 생략할 수 있습니다.

       % bos getdate fs1.example.com ptserver kaserver

스위치가 없으므로 bos 명령 인터프리터는 인수의 순서에 의존합니다. 또한 연산 코드 다음에 나오는 첫째 요소인 fs1.example.com이 서버 시스템 이름이고 다음 인수인 ptserver가 2진 파일 이름이라고 가정합니다. 그런 다음 명령의 두 번째(및 마지막) 인수가 여러 값을 허용하므로 명령 인터프리터는 kaserver를 추가 값으로 해석합니다.

한편 다음은 스위치 생략 조건의 처음 두 가지 조건을 위반하므로 허용되지 않습니다. 인수 당 하나의 값만 있다고 해도 인수가 미리 지정한 순서대로 나타나지 않고 하나의 인수에 대해 스위치가 제공되지만 이것도 지정한 순서와 다릅니다.

       % bos getdate ptserver -server fs1.example.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 명령이 한 예입니다.
- 명령의 이름이 변경되었지만 이전 버전의 AFS 사용자는 이전 이름을 알고 있습니다. 예를 들어 bos listhosts는 그 이전 이름인 bos getcell을 별명으로 가집니다. 별명을 가장 짧은 형태(예: bos getcell을 bos getc로)로 줄일 수 있습니다.

연산 코드가 별명을 가지는 경우에도 가장 짧은 명확한 형태를 사용하는 것이 여전히 가능합니다. 따라서 fs setacl 명령은 fs setacl(전체 양식), fs seta(가장 짧은 축약형) 및 fs sa(별명)의 세 가지 양식을 허용합니다.

#### 스위치 및 플래그 약어 사용

연산 코드에 대한 다른 스위치 및 플래그와 여전히 구분되는 가장 짧은 형태로 스위치나 플래그를 축약하여 나타낼 수 있습니다. 전체 스위치를 생략하는 것도 스위치 생략 조건에서 설명하는 조건에 따라 가능합니다.

#### 서버 시스템 이름 약어 사용

AFS 서버 시스템은 완전 규정화된 인터넷 양식 호스트 이름(예: fs1.example.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

#### 셀 이름 약어 사용

셀의 전체 이름은 보통 그 인터넷 도메인 이름(예: Example Organization의 경우 example.org, Example Corporation의 경우 example.com)와 일치합니다. 일부 AFS 명령은 로컬 /usr/vice/etc/CellServDB와 관련하여 명확한 축약 형태를 허용하지만 로컬 이름 서비스의 능력에 따라 해당 도메인 이름을 해석하기도 합니다.

### AFS 명령에 대한 온라인 도움말 표시

명령 집합에 속하는 AFS 명령에 대한 온라인 도움말을 표시하려면 help 및 apropos 연산 코드를 사용하십시오. 거의 모든 AFS 명령에 대해 -help 플래그도 사용할 수 있습니다.

명령에 대한 온라인 도움말 항목은 둘 또는 세 개의 행으로 구성됩니다.

- 첫째 행은 명령을 명명하고 수행하는 작업을 간단하게 설명합니다.
- 명령이 별명을 가지는 경우 다음 행에 별명이 나타납니다.
- 문자열 `Usage:`로 시작하는 마지막 행은 미리 지정된 순서대로 명령의 옵션을 나열합니다. 온라인 도움말 항목은 이 문서와 동일한 인쇄 기호(괄호 등)를 사용합니다.

연산 코드가 지정되지 않으면 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

[ 페이지의 맨 위 | 이전 페이지 | 다음 페이지 | 목차 | 색인 ]

© IBM Corporation 2000. All Rights Reserved