개발 창고/Server

[CentOS] 압축관련 Util, tar

로이제로 2020. 8. 4. 11:25
반응형

윈도우나 맥에서는 주로 zip으로 압축된 경우가 많지만, 리눅스에서는 tar 또는 tar.gz로 압축된 파일을 다운로드하는 경우가 많습니다.

 

기본적으로 apt/yum 등에서 패키지 관리가 가능하지만, 직접 다운 받은 파일 또는 지금 있는 파일들을 압축하고 싶을 때 어떻게 해야 할까요?

 

바로 그 답은 tar입니다 (물론 gzip도 있고 다른 util들도 있습니다)

 

  압축하기 (tar)

$> tar -cvf [파일명.tar] [폴더명]

 

ex)

$> tar -cvf targetFolder.tar targetFolder

 → targetFolder를 targetFolder.tar로 압축

더보기

  따라 해 보기

다음과 같이 임시로 targetFolder를 생성해주고 조회해 보면 아래와 같이 targetFolder가 생성된 것을 확인 가능합니다.

그다음으로

$> tar -cvf targetFolder.tar targetFolder

라는 명령을 호출하면

아래와 같이 콘솔창에 targetFolder/ 가 압축되었다는 내용이 호출됩니다. (만약 내부에 내용이 있으면 압축되는 내용이 목록으로 나열됩니다.)

그다음으로

$ ls -alt

 

를 해보면 다음과 같이 targetFolder.tar가 생성됨을 알 수 있습니다.

 

  압축해제 (tar)

$> tar -xvf [파일명.tar]

 

ex)

$> tar -xvf targetFolder.tar

 → targetFolder.tar 압축 파일을 현재 폴더에 압축해제

더보기

  따라해보기

먼저 상단의 targetFolder를 삭제하기 위해

$> rm -ivfr targetFolder

라는 명령을 수행해주고

$> ls -alt

를 하게 되면 아래와 같이 targetFolder.tar만 남고 targetFolder가 삭제되었음을 알 수 있습니다.

이 상태에서

아래와 같이

$> tar -xvf targetFolder.tar

명령어를 수행해주면

압축해제된 내용(현재는 폴더내 파일이 없었으므로 targetFolder/만)이 표시되는 것을 확인할 수 있습니다.

그 다음

$> ls -alt

를 해보면 아래와 같이 targetFolder라는 폴더가 생성되었음을 확인할 수 있습니다.

 

 

  압축하기

$> tar -zcvf [파일명.tar.gz] [폴더명]

 

tar와의 차이는 옵션인 cvf 앞에 z를 써준다는 차이로 보면 간단할겁니다.

 

  압축해제

$> tar -zxvf [파일명.tar.gz]

 

tar와의 차이는 옵션인 xvf 앞에 z를 써준다는 차이로 보면 간단할겁니다.

 

 

 

자세한 옵션 내용은 man페이지에서 확인 가능합니다. (해당 명령어는 root권한에서 가능합니다.)

$> man tar

man으로 본 tar에 대한 옵션 내용

 

이 중에서 제가 방금 이용한 압축하기(zcvf)와 압축풀기(zxvf)가 가장 일반적으로 쓰이는데 옵션의 내용은 각각 아래와 같습니다

 

z: gzip(ex 확장자가 gz)으로 압축된 파일을 압축하거나 압축 해제하려고 하는 경우

c: 압축하려는 경우

x: 압축을 해제하려는 경우

v: 압축/압축해제 할때 해당 파일의 내용을 콘솔창에 보여줌 (상단의 명령어 수행시 /targetFolder라고 노출되는 이유)

f: 파일이름을 지정

 

반응형