일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- file read
- object
- TCP/IP
- QT TCP
- 찾다죽는줄
- 청량리역한양수자인192
- 수도권주택공급
- file open
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- FILE TRANSFER
- C API
- QTcpServer
- 프리미어 영상저장
- meta table
- lua for windows
- 티몬삼겹살데이
- lua setup
- 중소규모택지
- 엑스퍼트2주년
- 엑스퍼트생일축하해
- C++ API
- 월세
- Lua
- 등록임대주택
- 프리미어 영상변환
- lua install
- file write
- lua interpreter
- 국토교통부
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- Today
- Total
Value Creator의 IT(프로그래밍 / 전자제품)
우분투 파일 복사 _ scp 사용법 본문
ssh 원격 접속 프로토콜을 기반으로 한 SecureCopy(scp)의 약자로서 원격지에 있는 파일과
디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜입니다.
네트워크가 연결되어 있는 환경에서 ssh와 동일한 22번 포트와 identity file을 사용해서
파일을 송수신하기 때문에 보안적으로도 안정된 프로토콜이라고 할 수 있겠습니다.
자 그럼 본론으로 들어가서 사용하는 방법과 형식에 대해서 알아보겠습니다.
Local ( 로컬 ) ----> Remote (원격지)
1. 단일 파일을 원격지로 보낼 때.
구문 : # scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]
scp testfile2 root@192.168.159.129:/tmp/testclient
현재 위치의 testfile2를 원격지 192.168.159.129:/tmp/testclient 경로에 파일을 전송한 상태입니다.
실제 원격지 ( 192.168.159.129:/tmp/testclient ) 경로에 testfile2 가 잘 전송된 것을 확인할 수 있습니다.
2. 복수의 파일을 원격지로 보낼 때.
구문 : # scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[받는 위치]
scp tesfile1 testfile2 root@192.168.159.129:/tmp/testclient
현재 위치의 tesfile1 testfile3을 동시에 원격지 192.168.159.129:/tmp/testclient 경로에 파일을
전송한 상태입니다.
실제 원격지 ( 192.168.159.129:/tmp/testclient ) 경로에 tesfile1 testfile3 파일이 잘 전송된 것을 확인할 수 있습니다.
단일로 보내건 복수로 보내건 보내는 구문에는 크게 차의가 없이 파일명 뒤에 한 칸 띄우고 파일명을 넣어주시면
동일하게 전송이 가능합니다.
3. 여러 파일을 포함하고 있는 디렉터리를 원격지로 보낼 때. ( -r 옵션을 사용합니다 )
구문 : # scp [옵션] [디렉터리 이름] [원격지_id]@[원격지_ip]:[보낼 경로]
scp -r testgogo root@192.168.159.129:/tmp/testclient
현재 위치의 여러 파일을 포함하는 testgogo라는 디렉터리를 -r 옵션을 부여하여
원격지 192.168.159.129:/tmp/testclient 에 전송한 상태입니다.
이처럼 -r 옵션을 사용하면 보내고자 하는 디렉터리의 하위 폴더 및 파일까지 동시에 전송이 가능합니다.
추가적인 옵션을 살펴보면 다음과 같습니다.
r | 디렉토리 내 모든 파일/디렉토리 복사 | scp -r |
p (소문자) | 원본 권한 속성 유지 복사 | scp -p |
P (대문자) | 포트 번호 지정 복사 | scp -P [포트번호] |
c (소문자) | 압축 복사 | scp -c |
v | 과정 출력 복사 | scp -v |
a | 아카이브 모드 복사 | scp -a |
필요한 부분과 상황에 맞추어 옵션을 부여해서 사용이 가능하므로 적절하게 사용합시다.
Remote ( 원격지 ) ---> Local ( 로컬 )
1. 단일 파일을 원격지에서 로컬로 가져올 때
구문 : # scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치] [받는 위치]
scp root@192.168.159.129:/tmp/testclient/testfile2 /tmp
현재 로컬에서 원격지 192.168.159.129:/tmp/testcleint/testfile2 파일을 로컬의 /tmp 경로로 받은 상태입니다.
받는 것도 보내는 구문과 크게 차의가 없어서 어렵지 않습니다.
로컬의 /tmp 경로에서 보면 정상적으로 testfile2 가 다운된 걸 확인할 수 있습니다.
2. 복수의 파일을 원격지에서 로컬로 가져올 때
구문 : # scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치 파일][원본 위치 파일] [받는 위치]
scp root@192.168.159.129:"/tmp/testclient/testfile2 /tmp/testclient/testfile3" /tmp
보낼 때랑 다르게 받을 때는 원격지 경로의 파일을 " " (큰따옴표)를 사용해서 묶어줍니다.
로컬의 /tmp 경로에 원격지의 testfile2와 testfile3을 동시에 보낸 다운로드한 상태입니다.
보내기와 다르게 구문의 차의 점은 다운로드할 원격지의 원본 경로를 " " ( 큰따옴표 )로 묶어주는 거 기억합시다.
로컬의 /tmp 경로에서 보면 정상적으로 testfile2, testfile3 파일이 다운된 걸 확인할 수 있습니다.
3. 여러 개의 파일을 포함하는 디렉터리 원격지에서 로컬로 가져올 때
구문 : # scp [옵션] [원격지_id]@[원격지_ip]:[디렉터리 위치] [받을 경로]
scp -r root@192.168.159.129:/tmp/testclient/testgogo /tmp
보낼 때와 마찬가지로 가져올 때도 -r 옵션을 부여하여 디렉터리에 포함되어 있는 여러 파일과 디렉터리를
동시에 다운 가능합니다.
정상적으로 로컬의 /tmp 경로에 여러 파일을 포함하는 testgogo라는 디렉터리가 잘 전송되었습니다.
보낼 때와 마찬가지로 옵션 적용은 동일하게 가능하기 때문에 옵션은 보내는 항목에서 참조해주시기 바랍니다.