탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 관리: 네트워크 서비스 Oracle Solaris 11 Information Library (한국어) |
rcp 명령은 로컬 및 원격 시스템 간이나 두 원격 시스템 간에 파일 또는 디렉토리를 복사합니다. 원격 시스템(rlogin 명령을 사용하여 로그인한 후) 또는 로컬 시스템(원격 시스템에 로그인 안함)에서 이 명령을 사용할 수 있습니다.
rcp를 사용하면 다음과 같은 원격 복사 작업을 수행할 수 있습니다.
사용자 시스템에서 원격 시스템으로 파일 또는 디렉토리 복사
원격 시스템에서 로컬 시스템으로 파일 또는 디렉토리 복사
로컬 시스템에서 원격 시스템 간에 파일 또는 디렉토리 복사
자동 마운트가 실행되고 있는 경우 cp 명령을 사용하여 이러한 원격 작업을 수행할 수 있습니다. 그러나 cp의 범위는 자동 마운트를 통해 만들어진 가상 파일 시스템과 사용자의 홈 디렉토리에 상대적인 작업으로 제한됩니다. rcp는 이러한 제약 조건 없이 동일한 작업을 수행하므로 이 절에서는 해당 작업의 rcp 버전만 설명합니다.
시스템 간에 파일 또는 디렉토리를 복사하려면 로그인하고 파일을 복사할 수 있는 권한이 있어야 합니다.
![]() | 주의 - cp 명령과 rcp 명령 모두 주의 메시지 없이 파일을 덮어쓸 수 있습니다. 명령을 실행하기 전에 파일 이름이 올바른지 확인하십시오. |
rcp 명령을 C 셸에 포함하면 절대 경로 이름이나 축약 경로 이름을 사용하여 소스(복사할 파일 또는 디렉토리) 및 대상(파일 또는 디렉토리를 복사해 넣을 위치)을 지정할 수 있습니다.
|
절대 경로 이름은 특정 시스템에 마운트되어 있는 파일 또는 디렉토리를 식별합니다. 이전 예에서 첫번째 절대 경로 이름은 mars 시스템에 있는 (myfile.txt) 파일을 식별합니다. 축약 경로 이름은 상주 위치에 관계없이 사용자의 홈 디렉토리에 상대적인 파일 또는 디렉토리를 식별합니다. 이전 첫번째 예에서 축약 경로 이름은 동일한 파일 myfile.txt를 식별하지만 “~” 기호를 사용하여 jones 홈 디렉토리를 나타냅니다.
~ = mars:/home/jones
두번째 행의 예에서는 원격 로그인 후에 절대 및 축약 경로 이름을 사용한 것을 보여줍니다. 축약 경로 이름의 경우 차이점이 뚜렷하지 않습니다. 그러나 원격 로그인 작업이 jones 홈 디렉토리를 로컬 사용자의 홈 디렉토리와 병렬로 로컬 시스템에 마운트했기 때문에 절대 경로 이름에 더 이상 시스템 이름 mars가 필요하지 않습니다. 원격 로그인 작업이 다른 사용자의 홈 디렉토리를 마운트하는 방법에 대한 자세한 내용은 원격으로 로그인한 후 수행되는 작업을 참조하십시오.
다음 표에는 C 셸에서 인식되는 절대 및 축약 경로 이름의 샘플이 나와 있습니다. 샘플에는 다음 용어가 사용됩니다.
표 29-4 디렉토리 및 파일 이름에 허용되는 구문
|
최소한 소스 시스템에서 읽기 권한, 대상 시스템에서 쓰기 권한이 있어야 합니다.
소스 또는 대상의 경로를 모르는 경우 원격 시스템에 로그인하는 방법(rlogin)에 설명된 대로 먼저 rlogin 명령을 사용하여 원격 시스템에 로그인할 수 있습니다. 그런 다음 해당 위치를 찾을 때까지 원격 시스템을 탐색합니다. 그런 후 로그아웃하지 않고 다음 단계를 수행할 수 있습니다.
$ rcp [-r] source-file|directory target-file|directory
(옵션 없음) 소스에서 대상으로 단일 파일을 복사합니다.
소스에서 대상으로 디렉토리를 복사합니다.
이 구문은 사용자가 원격 시스템에 로그인했는지, 아니면 로컬 시스템에 로그인했는지에 관계없이 적용됩니다. 표 29-4 및 다음 예에 설명된 것과 같이 파일 또는 디렉토리의 경로 이름만 변경됩니다.
“~” 및 “.” 문자를 사용하여 로컬 파일 또는 디렉토리 이름의 경로 부분을 지정할 수 있습니다. 그러나 “~”는 원격 시스템이 아니라 현재 사용자에게 적용되고 “.”은 현재 로그인된 시스템에 적용됩니다. 이러한 기호에 대한 설명은 표 29-4를 참조하십시오.
예 29-8 rcp를 사용하여 원격 파일을 로컬 시스템으로 복사
이 예에서 rcp는 원격 시스템 pluto의 /home/jones 디렉토리에서 로컬 시스템 earth에 있는 작업 디렉토리(/home/smith)로 letter.doc 파일을 복사하는 데 사용됩니다.
earth(/home/smith): rcp pluto:/home/jones/letter.doc .
이 경우 rcp 작업은 원격 로그인 없이 수행됩니다. 여기서 명령줄 끝에 있는 “.” 기호는 원격 시스템이 아니라 로컬 시스템을 가리킵니다.
대상 디렉토리는 로컬 사용자의 홈 디렉토리이기도 하므로 “~” 기호를 사용하여 지정할 수도 있습니다.
예 29-9 rlogin 및 rcp를 사용하여 원격 파일을 로컬 시스템으로 복사
이 예에서 rcp 작업은 원격 시스템에서 로컬 시스템으로 파일을 복사하기 위해 rlogin 명령이 실행된 후에 실행됩니다. 작업 흐름은 이전 예와 같지만 경로는 원격 로그인을 허용하기 위해 변경됩니다.
earth(/home/smith): rlogin pluto . . . pluto(/home/jones): rcp letter.doc ~
이 경우에는 명령줄 끝에서 “.” 기호를 사용하는 것이 부적절합니다. 원격 로그인 때문에 이 기호는 단순히 원격 시스템을 가리켜 본질적으로 rcp에 중복 파일을 만들도록 지시하게 됩니다. 그러나 “~” 기호는 로그인 대상이 원격 시스템이더라도 현재 사용자의 홈 디렉토리를 가리킵니다.
예 29-10 rcp를 사용하여 로컬 파일을 원격 시스템으로 복사
이 예에서 rcp는 로컬 시스템 earth의 홈 디렉토리(/home/smith)에서 원격 시스템 pluto의 /home/jones 디렉토리로 notice.doc 파일을 복사하는 데 사용됩니다.
earth(/home/smith): rcp notice.doc pluto:/home/jones
제공된 원격 파일 이름이 없기 때문에 notice.doc 파일이 동일한 이름을 사용하여 /home/jones 디렉토리로 복사됩니다.
이 경우 이전 예의 rcp 작업이 반복되지만 rcp는 로컬 시스템(/tmp)의 다른 작업 디렉토리에서 입력됩니다. 현재 사용자의 홈 디렉토리를 가리키기 위해 “~” 기호를 사용하는 방법은 다음과 같습니다.
earth(/tmp): rcp ~/notice.doc pluto:/home/jones
예 29-11 rlogin 및 rcp를 사용하여 로컬 파일을 원격 시스템으로 복사
이 예에서 rcp 작업은 로컬 파일을 원격 디렉토리로 복사하기 위해 rlogin 명령이 실행된 후에 실행됩니다. 작업 흐름은 이전 예와 같지만 경로는 원격 로그인을 허용하기 위해 변경됩니다.
earth(/home/smith): rlogin pluto . . . pluto(/home/jones): rcp ~/notice.doc .
이 경우 “~” 기호를 사용하여 현재 사용자의 홈 디렉토리가 로컬 시스템에 있더라도 해당 디렉토리를 나타낼 수 있습니다. “.” 기호는 사용자가 원격 시스템에 로그인되어 있으므로 원격 시스템에 있는 작업 디렉토리를 가리킵니다. 다음은 동일한 작업을 수행하는 대체 구문입니다.
pluto(/home/jones): rcp earth:/home/smith/notice.doc /home/jones