| HOME / 정보공유 / AIX 명령어 모음

admin
admin admin 명령(SCCS) 목적 소스 코드 제어 시스템(SCCS) 파일을 작성하고 제어합니다. 구문
새로운 SCCS 파일 작성
admin { -n -i[FileName ] } [ -a { User | GroupID } ] ... [ -f HeaderFlag[Value ] ... ] [ -r SID ] [ -t FileName ] [ -m ModificationRequestList ] [ -y[Comment ] ] File ...
주: 플래그와 선택적(괄호 표시) 변수 사이에 공백을 두지 마십시오.
기존의 SCCS 파일 수정
admin [ -a { User | GroupID } ] ... [ -e { User | GroupID } ] ... [ { -d HeaderFlag | -f HeaderFlag[Value ] ... } ] [ -m ModificationRequestList ] [-t [ FileName ] ] [ -y [ Comment ] ] File ...
주: 플래그와 선택적(괄호 표시) 변수 사이에 공백을 두지 마십시오.
손상된 SCCS 파일 검사
admin -h File ...
손상된 SCCS 파일 정정
admin -z File ...
설명
admin 명령은 새로운 소스 코드 제어 시스템(SCCS) 파일을 작성하거나 기존 SCCS 파일에서 지정된 매개변수를 변경합니다.
get 명령이 사용자가 편집할 수 있는 필드를 구축하도록 제어하는 매개변수를 admin 명령으로 변경할 수 있습니다. 이 매개변수는 파일에 액세스할 수 있는 사람과 파일을 편집할 수 있는 릴리스에 관한 조건도 설정할 수 있습니다.
File 매개변수로 지정된 파일이 있으면, admin 명령이 이 플래그로 지정한 파일을 수정합니다. 파일이 없고 -i 또는 -n 플래그를 제공할 경우, admin 명령은 새 파일을 작성하고 지정되지 않은 플래그에 디폴트 값을 제공합니다.
File 매개변수에 디렉토리 이름을 지정하면 admin 명령이 해당 디렉토리의 모든 SCCS 파일에 요청된 조치를 수행합니다. 모든 SCCS 파일에는 파일 이름 앞에 s. 접두어가 붙어 있습니다. File 매개변수에 대해 -(빼기 부호)를 사용하면, admin 명령은 표준 입력을 읽고 각 행을 SCCS 파일 이름으로 해석합니다. EOF 문자로 입력을 마칩니다.
사용자에게는 파일을 작성할 수 있는 쓰기 권한이 있어야 합니다. 모든 SCCS 파일의 이름 형식에는 s.Name이 있어야 합니다. 새로운 SCCS 파일은 읽기 전용 사용권한으로 작성됩니다. admin 명령은 x.이름이라고 하는 임시 x-file에 기록합니다. 이 파일이 이미 존재하는 경우, x-file은 원래의 SCCS(소스 코드 제어 시스템) 파일과 동일한 사용권한을 갖습니다. x-file은 admin 명령이 새로운 파일을 작성해야 하는 경우 읽기 전용입니다. admin 명령을 성공적으로 실행한 후에, x-file은 SCCS 파일의 이름으로 이동됩니다. 그러면 admin 명령이 실행 중에 오류를 발견하지 못한 경우에만 SCCS 파일을 변경합니다.
SCCS 파일이 들어 있는 디렉토리는 사용권한 코드 755로 작성되어야 하는데, 이 코드는 소유자의 읽기, 쓰기, 실행 사용권한 및 그룹 멤버와 기타 사람들의 읽기, 실행 사용권한을 나타내는 것입니다. SCCS 파일 자체는 읽기 전용 파일(444)로 작성되어야 합니다. 이 사용권한을 사용하면, 소유자만 비-SCCS 명령으로 SCCS 파일을 수정할 수 있습니다. 어떤 그룹이 SCCS 파일을 사용하고 수정할 수 있다면, 그 디렉토리에는 그룹의 쓰기 사용권한이 포함되어 있어야 합니다.
admin 명령은 또한 임시 잠금 파일 ( z.Name)을 사용하여 서로 다른 사용자가 SCCS 파일을 동시에 갱신하지 못하도록 합니다.
플래그와 파일 이름은 순서에 관계없이 입력할 수 있습니다. 모든 플래그는 모든 파일에 적용됩니다. 플래그와 선택적(괄호 표시) 변수 사이에 공백을 두지 마십시오. 헤더 플래그는 -f 플래그를 사용하여 설정하고 -d 플래그를 사용하여 설정해제할 수 있습니다. 헤더 플래그는 get 명령으로 작성한 g-파일의 형식을 제어합니다.
플래그
-a User 또는 -a GroupID 지정 사용자를 사용자 리스트에 추가하여 그 사용자가 SCCS 파일에 대한 변경 세트(델타)를 만들 수 있도록 합니다. User 값은 사용자 이름이거나 그룹 ID입니다. 그룹 ID를 지정하는 것은 그 그룹의 모든 사용자 이름을 지정하는 것과 같습니다. 하나의 admin 명령행에서 둘 이상의 -a 플래그를 지정할 수 있습니다. SCCS(소스 코드 제어 시스템) 파일에 빈 사용자 리스트가 들어 있는 경우, 누구나 델타를 추가할 수 있습니다. 파일에 사용자 리스트가 들어 있으면 파일 작성자는 반드시 그 리스트에 포함되어 그 작성자가 그 파일에 델타를 만들어야 합니다. User 또는 GroupID 매개변수 앞에 !(느낌표)가 있으면, 지정 사용자는 델타를 만들 수 있는 사용권한이 거부됩니다. 예를 들면, -a !User를 입력합니다.
-d HeaderFlag SCCS 파일내에서 지정 헤더 플래그의 영향이 나타나지 않게 합니다. 기존 SCCS 파일에는 이 플래그만 지정할 수 있습니다. 단일 admin 명령에서 둘 이상의 -d 플래그를 지정할 수도 있습니다. 헤더 플래그 리스트를 참조하여 지원 값에 대해 자세히 알아 보십시오.
-e User 또는 -e GroupID SCCS 파일에 델타를 만들도록 허락된 사용자 리스트에서 지정 사용자를 제거합니다. 그룹 ID를 지정하는 것은 그 그룹에 공통인 모든 User 이름을 지정하는 것과 같습니다. 여러 개의 -e 플래그를 단일 admin 명령행에 지정할 수 있습니다.
-f HeaderFlag[Value ] SCCS 파일의 지정된 헤더 플래그와 값을 활성화시킵니다. 하나의 admin 명령에 2개 이상의 헤더 플래그도 지정할 수 있습니다. 12개의 헤더 플래그가 있습니다. 헤더 플래그 리스트를 참조하여 지원 값에 대해 자세히 알아 보십시오. HeaderFlag 및 Value 변수간에 공백을 두지 마십시오.
-h SCCS 파일 구조를 검사하고, 새로 계산한 체크섬을 SCCS 행의 첫번째 행에 저장된 체크섬과 비교합니다. 체크섬 값이 정확하지 않으면 그 파일이 부적절하게 수정되었거나 손상된 것입니다. SCCS 파일을 수정하는 데 있어서 비-SCCS 명령을 부적절히 사용한 결과로 생긴 손상뿐만 아니라 우연한 손상을 발견하는 데 이 플래그가 도움이 됩니다. -h 플래그는 파일에 기록하는 것을 금지하므로, 제공한 다른 플래그의 영향을 취소시킬 수 있습니다. 파일이 손상되었다는 오류 메세지가 복귀하면 -z 플래그를 사용하여 체크섬을 다시 계산하십시오. 그런 다음, 다시 -h 플래그를 사용하여 파일이 고쳐졌는지 테스트하십시오.
-i[FileName ] FileName 변수에서 새 SCCS 파일에 대한 텍스트를 가져옵니다. 이 텍스트는 파일의 첫번째 델타입니다. -i 플래그를 지정하면서 파일 이름을 생략하면 admin 명령이 EOF 문자에 도달할 때까지 표준 입력에서 텍스트를 읽습니다. -i 플래그를 지정하지 않았지만 -n 플래그를 지정한 경우, 이 명령은 빈 SCCS(소스 코드 제어 시스템) 파일을 작성합니다. admin 명령은 한번에 텍스트가 들어 있는 하나의 파일만을 작성할 수 있습니다. admin 명령을 한번 호출하는 둘 이상의 SCCS(소스 코드 제어 시스템) 파일을 작성하는 경우, -n 플래그를 사용해야 하며, 생성된 SSCS 파일은 비게 됩니다. FileNmae 변수가 지정하는 파일의 각 행에는 512자 이하가 들어 있어야 합니다. 파일 이름에는 복수 바이트 문자 세트(MBCS) 문자가 포함될 수 있습니다. 플래그와 FileName 변수 사이에 공백을 삽입하지 마십시오.
-m ModificationRequestList 초기 델타를 작성하는 이유로서 수정 요청(MR) 번호 리스트가 SCCS 파일에 삽입되도록 지정합니다. 널 리스트 즉, 비어 있는 리스트는 사용하고 있는 유효성 프로그램에 따라 유효하다고 간주할 수 있습니다. v 헤더 플래그가 설정되어야 합니다. MR 번호는 v 헤더 플래그가 어떤 값(MR 번호 유효성 프로그램의 이름)을 갖는 경우, 유효합니다. admin 명령은 v 헤더 플래그가 설정되지 않았거나 MR 유효성이 실패한 경우에 오류를 보고합니다.
-n 비어 있는 새 SCCS 파일을 작성합니다. -n 플래그를 -i 플래그 없이 사용할 때, SCCS 파일은 제어 정보를 사용하되 파일 데이터는 사용하지 않고 작성됩니다.
-r SID SCCS 식별 문자열(SID) 파일 버전을 작성하도록 지정합니다. SID 변수는 4개의 레벨, 즉 릴리스, 레벨, 분기, 시퀀스(예 : 3.2.5.1)로 델타를 승인합니다. 릴리스만 지정되면 admin 명령은 자동으로 레벨 1(물리적 레벨)로 간주됩니다. 사용자가 -r 플래그를 지정하지 않으면 최초 델타는 릴리스 1, 레벨 1(즉 1.1)이 됩니다. SID 지정에 대한 자세한 내용은 get 명령에 설명된 SID 판별표를 참조하십시오.
-i 또는 -n 플래그를 지정한 경우에도 -r 플래그만 지정할 수 있습니다. SCCS 파일을 작성할 때에만 이 플래그를 사용합니다.
-t [FileName] FileName 변수가 지정한 파일로부터 SCCS 파일용 설명 텍스트를 가져옵니다. 새 SCCS 파일을 작성할 때 -t 플래그를 사용하려면 파일 이름을 제공해야 합니다. 기존 SCCS 파일 경우는 다음과 같습니다.
파일 이름이 없으면 -t 플래그는 SCCS에 현재 있는 모든 설명 텍스트를 제거합니다.
파일 이름이 있으면 -t 플래그는 SCCS 파일에 현재 있는 모든 설명 텍스트를 명명된 파일의 텍스트로 바꿉니다.
파일 이름에는 복수 바이트 문자 세트(MBCS) 문자가 포함될 수 있습니다.
플래그와 FileNmae 변수 사이에는 공백을 두지 마십시오.
-y [Comment] 지정된 주석을 delta 명령과 같은 방식으로 초기 델타에 삽입합니다. SCCS 파일을 작성할 때에만 이 플래그를 사용합니다. 주석을 지정하지 않으면 admin 명령이 다음 형식의 행을 삽입합니다.
date and time created YY/MM/DD HH:MM:SS by Login
파일 이름에는 복수 바이트 문자 세트(MBCS) 문자가 포함될 수 있습니다. 플래그와 FileNmae 변수 사이에는 공백을 두지 마십시오.
-z SCCS 파일의 체크섬을 다시 계산하여 SCCS 파일의 첫번째 행에 저장합니다. (-h 플래그 참조).
주의: 손상된 파일에서 admin 명령을 -z 플래그와 함께 사용하면 이후에 손상의 감지를 막을 수 있습니다. 이 플래그는 SCCS 파일이 심각한 오류 때문에 비-SCCS 명령을 사용하여 변경되는 경우에만 사용할 수 있습니다.
File admin 명령으로 변경되거나 작성된 파일의 이름을 지정합니다. -(빼기 부호)를 지정하면, admin 명령은 표준 입력에서 읽습니다. EOF 문자로 입력을 마칩니다.
헤더 플래그
다음 리스트에는 -f 플래그로 설정하고 -d 플래그로 설정해제할 수 있는 헤더 플래그가 나와 있습니다. 헤더 플래그는 get 명령으로 작성한 g-파일의 형식을 제어합니다.
b get 명령의 -b 플래그를 사용하여 분기 델타를 작성할 수 있도록 합니다.
c Number Number 변수로 get -e 명령이 사용할 수 있는 가장 높은 릴리스 번호를 사용하십시오. Number 변수는 0보다 크고 9999보다 작아야 합니다(디폴트 값은 9999입니다).
d SID SID 변수를 get 명령에 제공되는 디폴트 델타로 만드십시오.
f Number Number 변수로 get -e 명령이 검색할 수 있는 가장 낮은 릴리스 번호를 사용하십시오. Number 변수는 0보다 크고 9999보다 작아야 합니다(디폴트 값은 1입니다).
i [String] get 또는 delta 명령에 의해 발생한 다음 정보 메세지를 오류로 간주합니다.
파일에 SCCS 식별 키워드가 없습니다. (cm7)
이 플래그가 없을 경우 메세지는 단지 경고입니다. SCCS 파일에 저장되거나 검색된 텍스트에 SCCS 식별 키워드가 없을 경우에 이 메세지가 표시됩니다(get 명령 참조). 문자열이 제공되면 키워드는 주어진 문자열과 정확히 일치해야 합니다. 문자열에는 키워드가 있어야 하지만 내장형 개행(newline)은 없습니다.
j get 명령을 동시에 사용하여 SCCS 파일의 동일한 SID를 편집할 수 있도록 합니다. j 헤더 플래그를 사용하면 같은 버전의 SCCS 파일을 동시에 여러 번 갱신할 수 있습니다.
lList 소문자 L List 변수로 지정된 릴리스를 편집하지 못하도록 잠궈서 get -e 명령이 이러한 릴리스 중 하나에 대해 실행되지 않도록 합니다. 리스트는 다음과 같은 구문을 필요로 합니다.
: : = | ,
: : = SID | a
위 리스트의 문자 a는 명명된 SCCS 파일의 모든 릴리스를 명시하는 것과 같은 의미입니다.
m Module get 명령으로 검색한 SCCS 텍스트 파일에 나타나는 모든 %M% 키워드 대신 Module 변수를 사용합니다. 디폴트 Module 변수는 s. 접두어가 없는 SCCS 파일의 이름입니다. 모듈 이름은 MBCS(복수 바이트 문자 세트) 문자를 포함할 수 있습니다.
n 새 릴리스에 델타를 만들 때 건너뛴 릴리스에 delta 명령이 널(null) 델타를 작성하도록 합니다. 예를 들면, 델타 2.7 이후에 델타 5.1을 작성한 경우, 릴리스 3 및 4가 널(null)이 됩니다. 릴리스 3 및 4는 s. 파일의 델타 테이블에 있는 널(null) 델타 항목으로서 작성됩니다. 결과 널(null) 델타는 분기 델타를 구축하는 지점으로서 사용할 수 있습니다. 이 플래그가 없으면, 생략된 릴리스는 SCCS(소스 코드 제어 시스템) 파일에 표시되지 않습니다.
q Text get 명령으로 검색한 SCCS 텍스트 파일에 있는 %Q% 키워드의 모든 출현을 대신하여 지정 텍스트를 사용합니다.
t Type get 명령으로 검색한 g-파일에서 모든 %Y% 키워드대신 지정된 유형을 사용합니다.
v [Program] 델타 작성의 이유로 delta 명령이 MR(Modification Request) 번호를 요청하도록 합니다. Program 변수는 MR 번호 유효성 검사 프로그램을 지정합니다. v 플래그가 SCCS 파일에 설정된 경우에는 -m 플래그의 값이 널이더라도 반드시 이를 사용해야 합니다. 프로그램 이름은 MBCS(복수 바이트 문자 세트) 문자를 포함할 수 있습니다.
손상된 SCCS 파일 찾기
SCCS에 어느 정도의 오류 방지 기능이 있더라도, 우발적으로 손상된 파일은 복구해야 합니다. 이런 손상은 시스템 오동작, 운영자 오류, SCCS 명령을 사용하지 않고 SCCS 파일을 변경하는 경우에 발생할 수 있습니다.
SCCS 명령은 체크섬을 사용하여 파일이 마지막 사용 이후, 변경되었는지 여부를 판별합니다. 손상된 파일을 처리하는 유일한 SCCS 명령은 -h 또는 -z 플래그와 함께 사용할 때 이용되는 admin 명령입니다. -h 플래그는 admin 명령이 SCCS 파일 헤더에 저장된 체크섬과 계산된 체크섬을 비교하도록 지시합니다. -z 플래그는 체크섬을 다시 계산하여 이를 파일 헤더에 저장하도록 명령을 지시합니다.
종료 상태
이 명령은 다음과 같은 종료값으로 복귀합니다.
0 정상적으로 완료되었습니다.
>0 오류가 발생하였습니다.
예제
이 예에서는 test.c라고 하는 가상의 텍스트 파일과 ed와 같은 편집기를 사용하여 파일을 편집합니다.
먼저, 일반적인 SCCS 파일을 작성하십시오. 이름이 s.test.c인 비어 있는 SCCS 파일을 작성하려면, 다음과 같이 입력하십시오.
$ admin -n s.test.c
admin 명령을 -n 플래그와 함께 사용하면 빈 SCCS 파일이 작성됩니다.
기존 텍스트 파일을 SCCS 파일로 변환하려면, 다음과 같이 입력하십시오.
$ admin -itest.c s.test.c
파일에 SCCS 식별 키워드가 없습니다(cm7).
$ ls
s.test.c test.c
-i 플래그를 사용하면 admin 명령이 지정된 파일로부터 델타 1.1을 작성합니다. 일단 델타 1.1이 작성되면 원본 텍스트 파일의 이름을 다시 붙여 SCCS 명령을 방해하지 않게 하십시오.
$ mv test.c back.c
메세지 There are no SCCS identification keywords in the file (cm7)은 오류를 나타내지 않습니다. 파일에 식별 키워드가 없을 때 SCCS가 이 메세지를 작성합니다. 식별 키워드는 변수이고 SCCS 파일에 위치할 수 있습니다. 이러한 변수 값으로 날짜, 시간, SID, 파일 이름과 같은 정보를 알 수 있습니다. 식별 키워드의 설명에 대해서는 get 명령을 참조하십시오. 식별 키워드가 있는 경우, SCCS는 메세지를 기록합니다. 그러나, i 헤더 플래그가 s. 파일에 설정되어 있을 경우, 이 메세지는 오류 상황을 발생시킵니다. 이 플래그는 사용자가 설정합니다.
SCCS 파일에 s.로 시작하는 이름을 붙이십시오. 앞의 예에서는 원본 파일과 SCCS 파일의 이름이 같지만, 반드시 그럴 필요는 없습니다.
릴리스 번호를 명시하지 않았기 때문에 admin 명령이 SCCS 파일에 1.1이라는 SID를 제공했습니다. SCCS는 델타를 식별하는 데 숫자 0을 사용하지 않습니다. 그러므로, 예를 들면 파일에 SID 1.0 또는 2.1.1.0이 있을 수 없습니다. 모든 새로운 릴리스는 레벨 1로 시작합니다.
릴리스 번호 3.1로 test.c 파일을 시작하려면, -r 플래그를 admin 명령과 함께 사용하여 다음과 같이 입력하십시오.
$ admin -itest.c -r3 s.test.c
SCCS 파일의 변경 권한을 특정 사용자 ID로 제한하려면, admin 명령의 -a 플래그를 사용하여 SCCS 파일의 사용자 리스트에 사용자 ID 또는 그룹 ID를 나열하십시오. 이 플래그는 명령행에서 여러 번 나타날 수 있습니다. 그러면 이들 ID는 SCCS 파일 헤더에 표시됩니다. 액세스를 제한하는 -a 플래그가 없으면, 모든 사용자 ID는 SCCS 파일을 변경할 수 있습니다.
편집 권한을 사용자 ID dan으로 제한하려면, 다음과 같이 입력하십시오.
$ admin -adan s.test.c
정기적으로 SCCS 파일을 검사하여 손상이 있는지 확인하십시오. 가장 쉬운 검사 방법은 SCCS 파일이나 SCCS 디렉토리에서 -h 플래그와 함께 admin 명령을 다음과 같이 수행하는 것입니다.
$ admin -h s.file1 s.file2 ...
$ admin -h directory1 directory2 ...
admin 명령이 계산된 체크섬과 SCCS 파일 헤더에 나열된 체크섬이 같지 않은 파일을 발견하면 다음 메세지를 표시합니다.
ERROR [s. filename]:
1255-057 The file is damaged. (co6)
파일이 손상되었으면 파일을 다시 편집하고 백업 사본을 읽으십시오. 파일을 수정한 후에, -z 플래그 및 수정된 파일 이름과 함께 admin 명령을 실행하십시오.
$ admin -z s.file1
이러한 작업으로 SCCS 파일 헤더에 있는 오래된 체크섬이 현재 파일 내용에 근거한 새로운 체크섬으로 대체됩니다. 이제 다른 SCCS 명령으로 파일을 처리할 수 있습니다.
파일
/usr/bin/admin SCCS admin 명령을 포함하고 있습니다.
관련 정보
delta 명령, ed 명령, get 명령, prs 명령, sccshelp 명령, what 명령.
sccsfile 파일 형식.