리눅스

서버간 파일 전송: scp, tar, gzip

망고고래 2025. 1. 14. 14:35

1. scp: 서버간 파일 전송 명령어

1) 현재 서버에서 다른 서버로 파일 보내기

① 파일 전송 명령어 입력

scp -P <포트번호> <보낼 파일 경로> <상대편 ID>@<상대편 서버 주소>:<파일 저장할 경로>

 

② 상대 계정의 비밀번호 입력

 

2) 다른 서버에서 현재 서버로 파일 받기

① 파일 전송 명령어 입력

scp -P <포트번호> <상대편 id>@<상대 서버 주소>:<파일 경로> <받을 파일 경로>

 

② 상대 계정의 비밀번호 입력

 

기본적인 구조는 scp + -P + 보낼 파일 경로 + 받을 파일 경로이다.

다른 파일 경로 중 한 쪽이 다른 서버일 경우 파일 경로 앞에 '<id>@<서버 주소>:'가 더해지는 것이다.

 

 

옵션

P: 포트 번호 지정 복사

v: 과정 출력 복사

 

2. tar: 여러 개의 파일을 묶음(tape archiver)

* tar는 파일을 묶는 기능을 하고, 파일 용량은 그대로다.

 

1) tar로 파일 묶기

tar cvf <파일명.tar> <파일명> [<파일명2>, <파일명3>]

 

c: create(새로운 tar 아카이브 파일 생성)

v: verbose(상세 출력 모드 활성화)

- 작업 중 처리된 파일 목록을 화면에 출력함

f: file(파일 지정)

- f 옵션 뒤에는 아카이브 파일 이름을 지정해야 한다.

2) tar로 묶여있는 파일 풀기

(1) 현재 디렉토리에 풀기

tar xvf <파일명.tar>

 

x: extract

(2) 디렉토리 지정해서 풀기

tar xvf T.tar -C <지정 경로>

 

(3) 기존 tar 아카이브에 파일 추가

tar -a <tar파일명.tar> <추가할 파일명>

 

a: append

 

3. gzip: 파일 압축

파일 크기 축소, 원본 파일 모드, 소유권 및 타임스탬프를 유지하는 압축 알고리즘

텍스트 파일과 tar 아카이브를 압축하는 데 가장 많이 사용된다.

 

1) 파일 압축

gzip <압축할 파일명>

 

 

2) 압축 해제

gzip -d filename.gz
gunzip filename-gz

 

두 명령어의 기능은 같다.

 

압축된 파일 유지하면서 압축 풀기

gzip -dk filename.gz