리눅스(Linux)에서 파일을 복사하는 명령어는 cp가 가장 보편적으로 알려져 있습니다.
서버 간 파일 복사가 필요하면 scp 명령어를 사용하는데 scp 명령어는 secure copy의 줄임말입니다.
scp 명령어 사용법
1. 로컬 서버 -> 원격 서버로 전송
# scp [옵션] [원본 경로 및 파일] [계정명]@[서버 IP]:[복사할 경로 및 파일]
2. 원격 서버 -> 로컬 서버로 전송
# scp [옵션] [계정명]@[서버 IP]:[원본 경로 및 파일] [복사할 경로 및 파일]
옵션
-P : 포트 번호 지정(ssh 포트) // 주로 많이 씀
-p : 원본 권한 속성 유지하여 복사
-r : 디렉토리 내 모든 파일/디렉토리 복사 // 주로 많이 씀
-c : 압축 복사
-v : 복사 과정 출력
-a : 아카이브 모드 복사
1-1. ex) scp /home/abc.txt samso@1.1.1.1:/home/remote
로컬 서버에서 1.1.1.1 서버에 samso 계정으로 로그인해 /home/remote 아래에 /home/abc.txt 파일 복사
1-2. ex) # scp test1.txt test2.txt samso@1.1.1.1:/home/remote
복수의 파일을 원격지로 복사
1-3. ex) # scp -r /home/samsodir/ samso@1.1.1.1:/home/remote
디렉토리를 원격지로 복사 (-r 옵션 사용)
2-1. ex) scp samso@1.1.1.1:/home/abc.txt /home/local
원격 서버 1.1.1.1에 samso 계정으로 로그인해 /home/abc.txt 파일을 /home/local 에 복사
* samso 계정이 /home/abc.txt 파일에 대한 권한이 있어야 한다.
2-2. ex) # scp samso@1.1.1.1:"/test1.txt /test2.txt" /home/local
복수의 파일을 원격지에서 로컬로 복사
* 원격지 경로의 파일은 큰 따옴표로 묶어주어야 한다.
2-3. ex) # scp -r samso@1.1.1.1:/home/samsodir /home/local
원격지에 있는 디렉토리를 로컬로 복사 (-r 옵션 사용)
※ scp 명령어 사용 중 주의사항
- 파일을 복사하려면 원본 파일의 읽기 권한 / 원격 서버에 접근하는 계정에는 쓰기 권한이 있어야 합니다.
- 안전한 데이터 전송을 위해 SSH을 이용하기 때문에 원격 서버에 접근하는 계정에 암호를 설정해야 합니다.
- 같은 이름과 위치에서 파일을 복사할 때는 SCP 명령어에서 별도로 경고하지 않고 덮어쓰므로 주의해야 합니다.
- 로컬과 원격 위치를 구분할 때는 쌍점(:)을 사용합니다.
'OS > Linux' 카테고리의 다른 글
Linux - 용량 확인 명령어 (du, df) (0) | 2023.03.16 |
---|---|
Linux - 네트워크설정(IP / DNS 설정) (0) | 2023.03.14 |
Linux - 파일 출력 명령어 (cat) (0) | 2023.03.08 |
Linux - 텍스트 편집 명령어(sed) (2) | 2023.02.16 |
Linux - mount(마운트) (0) | 2023.02.14 |