반응형


* 여러 파일을 포함하는 디렉토리 전체를 원격 컴퓨터에 전송하기

"-r" 옵션을 주면 디렉토리를 전송할 수 있다.

$ scp -r [디렉토리_이름] [원격지_아이디]@[원격지_주소]:[경로]


예제:

$ scp -r /home/usera/test/ cdsn@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 원격지 컴퓨터의 exp 디렉토리 안에 test 디렉토리가 복사된다.




* 원격 컴퓨터로부터 여러 파일을 포함하는 디렉토리 전체를 받기

$ scp -r [원격지_아이디]@[원격지_주소]:[보내는_디렉토리_경로] [경로]


예제:

$ scp -r remoteuser@192.168.2.8:/home/remoteuser/exp/ /home/usera/

이렇게 하면 로컬 컴퓨터의 usera 디렉토리 안에 exp 디렉토리가 복사된다.




* 여러 개의 파일을 원격 컴퓨터로 보내기

여러 개의 파일을 보낼 때는 그냥 띄어쓰기로 구분해서 파일 이름을 나열하면 모두 전송된다. 만약 공백이 있는 파일 여러개를 보내고 싶다면 파일 하나씩 쌍따옴표(")로 둘러싸면 된다.

$ scp [파일명1] [파일명2] [원격지_아이디]@[원격지_주소]:[받는_위치]


예제:

$ scp /home/usera/111.txt /home/usera/222.txt  remoteuser@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 원격지 컴퓨터의 exp 디렉토리 안에 111.txt와 222.txt가 복사된다.


$ scp "tcp 1111.txt" "tcp 9999.txt" remoteuser@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 띄어쓰기가 포함된 두 개의 파일(tcp 1111.txt, tcp 9999.txt)이 원격지 컴퓨터의 exp 디렉토리 안에 복사된다.




* 원격 컴퓨터에 있는 여러 개의 파일을 로컬 컴퓨터에 받기

하나의 원격지 컴퓨터에 있는 여러 개의 파일을 받을 때는 원격지 주소까지 쓰고 나서 콜론(:) 뒤에 쌍따옴표(")로 둘러싼 영역 안에 여러 개의 파일명을 써주면 된다. 만약 보내는 파일명이 공백을 포함하는 경우에는 그냥 따옴표(')로 해당 파일명을 둘러싸도록 한다.

$ scp [원격지_아이디]@[원격지_주소]:"[파일명1] [파일명2] [파일명3]" [받는 위치]


예제:

$ scp remoteuser@192.168.2.8:"/home/remoteuser/111.txt /home/remoteuser/222.txt" /home/usera/

이렇게 하면 원격지에 있는 111.txt, 222.txt 파일들이 usera 디렉토리 안에 복사된다.


$ scp remoteuser@192.168.2.8:"'/home/remoteuser/tcp 1111.txt' '/home/remoteuser/tcp 9999.txt'" /home/usera/

이렇게 일반 따옴표를 써서 공백이 있는 파일 두 개를 받을 수 있다.




* 아직 되는지 알 수 없는 부분

한 개의 파일을 받을 때 받는 쪽에서 파일이름을 바꿔서 지정할 수는 있지만, 여러 개의 파일을 받을 때 파일 이름을 각각 바꿀 수 있는 방법은 찾지 못했다. 즉, 명령어 한 줄로 여러 개의 파일을 보낼 수는 있지만, 받는 쪽에서 그 여러 개의 파일 이름을 고치고 싶은데 어떻게 해야할 지 아직 모르겠다.

아무래도 scp 명령을 통해서 일단 파일들을 모두 받은 이후에 mv 명령으로 수정하는 방법이 현실적이라고 생각된다.




반응형
블로그 이미지

Bryan_

,