System Hacking/해커스쿨 F.T.Z Training

해커스쿨 F.T.Z Training 7

En_Geon 2020. 2. 3. 03:57

Training 7에서는 리눅스 환경에서 파일들을 압축하고 해제하는 방법을 배운다.

 

데이터가 손실되는 것을 방지하기 위해 "백업"을 하는 것은 필수이며 이 백업을 할 때 압축 명령어들이 사용된다.

리눅스에서 압축할 때 사용되는 명령어는 "tar", "gzip" 명령어가 있다.

"gzip"은 윈도우에서 매일 보는 "winzip"의 할아버지 벌 되는 프로그램이다.

 

tar

 

tar는 압축 프로그램은 아니다. tar로 파일을 압축 했을 때 용량이 줄어들어야 하지만 오히려 용량이 늘어난다. 이 점에서 압축 프로그램이 아니라고 말한다.

tar은 파일을 압축하지 않고 그냥 합쳐버리기만 한다. 다시 기존의 파일들을 복구할 때 붙인 파일들을 떼어내기만 하면 되기 때문에 속도가 빠르다.

윈도우에서 압축파일을 풀어본 적이 있다면 알겠지만, 속도가 느려서 하드가 힘들어하는 걸 봤을 것이다. 따라서 tar은 속도 면에서 볼 때 백업용 프로그램으로는 최적이다.

 

또한, tar은 gzip과도 깊은 관계에 있다. 리눅스의 gzip 프로그램은 한 번에 한 개의 파일만 압축할 수 있다.

만약 3개의 파일이 있을 때 gzip을 사용하면 3개의 파일이 1개로 압축되는 것이 아니고 3개의 파일이 각각 3개의 압축 파일로 생성된다.

tar을 사용하여 여러 파일을 1개로 합치고 gzip을 사용하여 압축하면 제일 좋은 방법이다.

 

tar 사용법

 

명령어 의미
tar cvf 합칠 파일명 합칠 파일들 합치기
tar xvf 해제할 파일 해제하기

 

tar 옵션

 

옵션 의미
c - Create 새로운 파일을 만드는 옵션
x - eXtract 압축을 해제시키는 옵션
v - View 압축이 되거나 풀리는 과정을 출력하는 옵션
f - File 파일로서 백업하는 옵션

 

gzip

 

gzip은 한 번에 한 개의 파일만 압축한다. tar처럼 여러 개를 합치지 못한다. 

 

gzip 사용법

 

명령어 의미
gzip 파일 이름 선택된 파일을 압축한다.
gzip -d 파일 이름 선택된 파일을 해제한다.

 

압축파일 확장자

 

확장자 의미
tar tar 프로그램을 사용하여 압축된 파일로써 사실 압축이 아닌 여러 파일을 하나로 뭉친 파일이다.
gz gzip 프로그램을 사용하여 압축된 파일이다.
tar.gz tar 프로그램을 사용하여 파일을 합친 후 또다시 gzip을 사용하여 압축 한 파일이다.
tgz 위 tar.gz를 합쳐서 tgz라는 확장자로 만들 때도 있다.