오늘은 맑음

[Linux] 파일 압축 해제 / tar와 tar.gz 본문

Linux

[Linux] 파일 압축 해제 / tar와 tar.gz

자전거 타는 구구 2022. 5. 31. 00:07
반응형

리눅스에서 파일을 다루다 보면 *.tar 혹은 *.tar.gz 파일을 자주 봅니다
뭔가 압축 파일인 것 같은데 무슨 뜻인지도 모르겠고 그냥 구글에 '리눅스 압축 해제'를 검색하죠
그래서 tar -zcvf name 등의 명령어를 치면 압축이 해제되고 디렉토리가 나옵니다

그래서 오늘은 tar가 무엇인지 알아보고 사용법을 알아보겠습니다


tar란?

tar란 tape archive의 줄임말입니다
과거에는 tape에 정보를 보관했죠(반도체 업계에서는 fab에 보내기 직전의 작업까지 수행한 상태를 tape out이라고 하죠)
거기서 이어진 단어로 데이터를 모으는 것을 의미합니다
단순하게 데이터를 모으는 작업이기 때문에 데이터가 압축되지 않습니다

tar.gz란?

gz란 gzip 알고리즘을 이용해서 압축을 하는 것을 의미합니다
압축을 하게 되면 파일의 용량이 줄어들겠죠?
즉, tar.gz 확장자인 파일은 tar로 한 번 데이터들을 모아주고 gzip 알고리즘을 이용해서 데이터를 압축했다는 의미입니다

여기서 tar와 gz는 독립적입니다
항상 tar와 gz가 함께 쓰이지는 않습니다


tar 명령어 사용법

자주 사용하는 옵션은 아래와 같습니다.

 tar [OPTION...] [FILE]...
        -f     : tar의 대상 지정
        -c     : tar 생성(파일 묶기)
        -x     : tar 해체(파일 풀기)
        -v     : 처리되는 과정 출력
        -z     : gzip 압축

더 많은 명령어가 필요하시다면 tar --help를 검색해보시기 바랍니다

1. tar로 파일 묶기

tar -vcf

vcf옵션을 이용해서 tar 명령어를 수행했습니다.
f 옵션으로 묶을 폴더를 지정하고, v 옵션으로 struct 폴더 내의 데이터가 묶이는 과정이 출력됩니다
마지막으로 c(create) 옵션으로 .tar 파일이 생성됩니다

tar를 이용해서 묶기

2. gzip으로 압축하기

tar -zvcf

위의 옵션에서 z옵션을 추가해서 .tar로 묶인 파일을 압축했습니다
비교해보면 확실히 gzip으로 압축한 파일이 용량이 적은 것이 보이네요

.tar를 tar.gz로 압축

3. gzip으로 압축 해제

tar -zvxf

이번에는 c(create)옵션이 아닌 x(extract) 옵션을 주어 파일을 추출해보겠습니다
먼저 있었던 tar파일을 지워주고 압축 해제를 진행하면 같은 용량의 struct.tar 파일이 생성된 것을 볼 수 있습니다

압축이 해제된 struct.tar

4. tar 추출

tar -vxf

이제 마지막으로 struct.tar를 추출해보겠습니다
기존 struct 폴더를 삭제하고 추출을 해보니 struct 폴더가 돌아왔습니다!

.tar 파일에서 추출


tar는 생각보다 자주 사용하지만 옵션을 사용하려면 자주 잊어버립니다
자주 사용하는 옵션을 알파벳으로 기억하지 말고, c(create)와 x(extract)등 단어로 기억하면 더욱 좋습니다
저도 더이상 검색하고 싶지 않아 포스팅해 봅니다

반응형
Comments