tctl 명령

용도

연속 테이프 장치에 대한 부속 명령을 지정합니다.

구문

tctl-f Device ] [  eof | weof | fsf | bsf | fsr | bsr | rewind | offline rewoffl | erase | retension | reset | status ] [ Count ]

tctl-b BlockSize ] [  -f Device ] [  -p BufferSize ] [  -v ] [  -n ] [  -B ] {  read | write }

설명

tctl 명령은 연속 테이프 장치에 대한 부속 명령을 지정합니다. Device 변수를 -f 플래그와 함께 지정하지 않으면 TAPE 환경 변수가 사용됩니다. 환경 변수가 존재하지 않는 경우 tctl 명령은 /dev/rmt0.1 장치를 사용합니다. (tctl 명령이 status 부속 명령을 지정하는 경우 디폴트 장치는 /dev/rmt0입니다.) Device 변수는 원시(블록이 아닌) 테이프 장치를 지정해야 합니다. Count 매개변수는 EOF 표시기의 수, 파일 표시의 수 또는 레코드의 수를 지정합니다. Count 매개변수를 지정하지 않으면 디폴트 개수는 1입니다.

부속 명령

항목 설명
eof 또는 weof 테이프의 현재 위치에 Count 매개변수가 지정하는 EOF 표시기의 수를 기록합니다. 8mm 테이프 드라이브에서 EOF 표시기를 다음 세 위치에 기록할 수 있습니다.
  • 공백 테이프 앞
  • 확장 파일 표시 앞
  • 테이프 시작 표시 부분

9 트랙 테이프 드라이브에서는 테이프 끝 표시기를 테이프의 어느 위치에나 기록할 수 있습니다. 그러나 이 부속 명령은 단일 블록 데이터의 겹쳐쓰기를 지원하지 않습니다.

fsf Count 매개변수가 지정하는 파일 표시의 수만큼 테이프를 앞으로 이동시키고 테이프를 파일 표시의 테이프 끝 쪽에 위치시킵니다.
bsf Count 매개변수가 지정하는 파일 표시의 수만큼 테이프를 뒤로 이동시키고 테이프를 파일 표시의 테이프 시작 쪽에 에 위치시킵니다.
  bsf 부속 명령이 시작을 지나쳐 테이프를 이동하는 경우 테이프가 되감기고 tctl 명령이 EIO를 리턴합니다.
fsr Count 매개변수가 지정하는 레코드 수만큼 테이프를 앞으로 이동합니다.
bsr Count 매개변수가 지정하는 레코드 수만큼 테이프를 뒤로 이동합니다.
rewind 테이프를 되감습니다. Count 매개변수는 무시됩니다.
offline 또는 rewoffl 테이프를 되감고 테이프 드라이브를 오프라인으로 전환합니다. 이렇게 하면 적절한 때 테이프가 로드 해제됩니다. 장치를 다시 사용하려면 먼저 테이프를 다시 삽입해야 합니다.
erase 테이프에 있는 모든 내용을 지우고 되감습니다.
read 내부 버퍼가 가득 찰 때까지 지정된 테이프 장치에서 읽은 다음(지정된 블록 크기 사용) 데이터를 표준 출력에 기록하고 EOF 표시에 도달할 때까지 이런 식으로 읽기 및 쓰기를 계속합니다.
reset 버스 장치 재설정(BDR)을 테이프 장치로 전송합니다. BDR은 장치를 열 수 없고 장치가 사용 중이 아닌 경우에만 전송됩니다.
retension 테이프를 시작 쪽으로 이동한 다음 끝 쪽으로 이동한 후 다시 테이프 시작 쪽으로 이동합니다. 복원 조작 중 읽기 오류가 지나치게 많이 발생하면 retension 부속 명령을 실행해야 합니다. 테이프가 극한 환경에 노출된 경우 테이프에 기록하기 전에 retension 부속 명령을 실행해야 합니다. 8mm 테이프 드라이브는 이 명령에 응답하지 않습니다.
status 지정된 테이프 장치에 대한 상태 정보를 인쇄합니다.
write 테이프 장치를 열어 표준 입력에서 읽은 후 읽은 데이터를 테이프 장치에 기록합니다.
팁: read 또는 write 부속 명령을 지정하면 tctl 명령이 테이프 장치를 열고 -b 또는 -n 플래그가 지정하는 대로 테이프 블록 크기를 설정합니다. 두 플래그 모두 지정되지 않는 경우 tctl 명령은 디폴트 블록 크기인 512바이트를 사용합니다.
제한:
  • -b, -n, -p-v 플래그는 readwrite 부속 명령을 사용하는 경우에만 적용됩니다.
  • -B 플래그는 read 부속 명령을 사용하는 경우에만 적용됩니다.

플래그

항목 설명
-b BlockSize 테이프 장치에 읽고 쓰는 데 사용되는 버퍼의 크기를 바이트 단위로 지정하고 -n 플래그가 없는 경우 테이프 블록 크기도 지정합니다. 블록 크기가 0인 경우 가변 길이 블록이 사용되고 테이프 버퍼의 크기는 32,768입니다. -b 플래그가 지정되지 않는 경우 디폴트 블록 크기 및 테이프 버퍼 크기는 512바이트입니다.
-B 테이프를 읽을 때마다 버퍼의 내용을 기록합니다. 일반적이지 않고 크기가 일정하지 않은 가변 길이 레코드를 읽을 때 이 플래그를 설정하십시오.
-f Device 테이프 장치를 지정합니다.
-p BufferSize 표준 입력 및 표준 출력에 사용될 버퍼의 크기를 지정합니다. 디폴트 버퍼 크기는 32,768바이트입니다. BufferSize 값은 테이프 블록 크기의 배수여야 합니다.
-v 상세입니다. 표준 오류에 대한 각 읽기 및 쓰기의 크기를 인쇄합니다.
-n read 또는 write 부속 명령을 사용하여 테이프에 대한 읽기 또는 쓰기를 수행할 때 가변 길이 레코드를 지정합니다.

종료 상태

이 명령은 다음 종료값을 리턴합니다.

항목 설명
0 성공적으로 완료되었습니다.
>0 오류가 발생했습니다.

예제

  1. rmt1 테이프 장치를 되감으려면 다음을 입력하십시오.
    tctl  -f /dev/rmt1  rewind
  2. 디폴트 테이프 장치에서 파일 두 파일 표시만큼 앞으로 이동하려면 다음을 입력하십시오.
    tctl  fsf 2
  3. /dev/rmt0.6에 있는 테이프에 EOF 표시기를 두 개 기록하려면 다음을 입력하십시오.
    tctl  -f /dev/rmt0.6  weof 2
  4. 80바이트 블록으로 형식화된 테이프 장치를 읽고 그 결과를 파일에 넣으려면 다음을 입력하십시오.

    tctl -b 80  read > file
  5. 80바이트 블록으로 형식화된 테이프 장치에서 가변 길이 레코드를 읽고 그 결과를 파일에 넣으려면 다음을 입력하십시오.
    tctl -b 80  -n read > file
  6. 가변 길이 레코드를 1024바이트 버퍼 크기를 사용하는 테이프 장치에 기록하려면 다음을 입력하십시오.
    cat file | tctl -b 1024 -n -f/dev/rmt1 write
  7. 512바이트 블록의 테이프 장치에 기록을 하고 표준 입력에 5120바이트 버퍼를 사용하려면 다음을 입력하십시오.
    cat file | tctl -v -f /dev/rmt1 -p 5120 -b 512 write

    주: QIC(1/4인치) 테이프 드라이브에 유효한 블록 크기는 0과 512뿐입니다.

  8. 8mm 테이프에 있는 여러 개의 백업 중 하나 위에 겹쳐쓴 후 백업 파일의 시작 부분에 테이프를 위치시키려면 다음 명령을 발행하십시오.
    tctl bsf 1

    tctl eof 1

첫 번째 명령이 테이프를 파일 표시의 테이프 시작 쪽으로 이동합니다. 두 번째 명령이 파일 표시를 다시 기록하며 이는 확장 파일 표시 앞에서 쓰기가 허용되기 때문입니다. 드라이브의 지우기 헤드는 쓰기 헤드가 데이터에 도달하기 전에 데이터를 지우므로 write 서브루틴은 테이프에 이미 있는 데이터 위에 겹쳐 쓸 수 있습니다. 그러나 파일 표시기가 무의미해지므로 이후의 모든 기존 데이터는 유실됩니다.

주: write 서브루틴은 공백 테이프가 축약형 파일 표시 뒤에 오지 않는 한 축약형 파일 표시 위에 겹쳐쓸 수 없습니다. 이 예제에서와 같이 기존 데이터를 겹쳐쓰려면 테이프에 확장 파일 표시가 기록되어야 합니다(SMIT 인터페이스를 통해 지정된 대로).

파일

항목 설명
/dev/rmtn 원시 연속 테이프 인터페이스를 지정합니다.
/usr/bin/tctl tctl 명령을 포함합니다.