Simplify

리눅스 환경에서 tar 압축하기 - How to compress a *.tar file in linux 본문

Web & Server/OS, Windows, Linux

리눅스 환경에서 tar 압축하기 - How to compress a *.tar file in linux

Simplify - Jonghun 2020. 2. 12. 22:56

사실 너무 기본적이 내용이긴 하지만, 항상 느끼지만, 자꾸 까먹기 때문에 이 기회에 정리해 둡니다. 정리만 하더라도 제 블로그에서 찾기 쉽고, 정리하면서 기억도 되는거라서 정리해 두려고 합니다. 

 

우선 tar 로 묶는 것은 jar 랑 비슷하게, 그저 파일을 하나로 묶는 역할만을 합니다. 이것이 아니라, tar.gz 로 만들면, 이건 압축해서 묶는 것에 해당합니다. 동일한 형태로 명령어가 되어 있고, 옵션만 다르기 때문에 기억해 두면 좋습니다. 

 

tar 로 묶기/풀기

우선 tar로 묶기 위해서는 리눅스에서 tar 명령어를 사용합니다. 

tar -cvf {파일명.tar} {폴더명 또는 파일명}

우선 묶는 데에는 Compress 의 약자인 c 를, 압축을 해제하는 데에는 eXtract 의 약어인 x 를 옵션으로 사용한다는 점을 기억하고 있다면 다음과 같은 명령어로 묶은 tar를 풀어줄 수 있습니다. 

tar -xvf {파일명.tar}

 

tar.gz 로 압축하기/해제하기

만약 텍스트 파일이 압축 후에 훨씬 더 작아질 여지가 있다면 압축 옵션을 이용하여 더 작게 파일을 만들어 두는 것이 저장공간 확보에 더욱 도움이 됩니다. 앞선 살펴본 명령어와 유사하나, Zip 의 z 가 포함된다는 점만 기억해 주면 됩니다. 

tar -zcvf {파일명.tar.gz} {폴더명 or 파일명}

위와 같은 명령어로 압축을 진행할 수 있고, 압축 대상이 되는 부분에는 여러 개의 파일을 지정해도 되고, *.log 와 같이 다중 파일이 선택되도록 입력해 주면 됩니다. 앞서 살펴본 옵션에 z 만 추가된 사항입니다. 

tar -zxvf {파일명.tar.gz}

마찬가지로, 압축 해제 역시 z 옵션만 추가해 주면 됩니다. 만약 gz 로 압축된 파일에 z 를 빼고 실행하면 어떻게 되는지 모르겠습니다만, 가급적 맞춰서 해주시길 권장합니다. 

 

위에서 사용하지 않은 옵션들을 아래와 같이 정리합니다. 이해하기 좋게 글로 적겠습니다. 

 

특히 리눅스 환경에서 같은 프로그램 구동 환경을 압축하고 이를 다른 시스템에 배포(옮기는)하는 작업을 하려면 -p 파일 권한을 저장하는 옵션도 유용합니다. -v 는 사실 다른 프로그램들도 많이들 사용하고 있는 verbose 의 약자로 보면 되고,  -C 로 경로를 지정하는 것은 명령어로서는 잘 사용하지는 않는 것 같으나 알아두면 써먹을데가 있을지도 모르겠습니다. 

 

 

사실 위 처럼 zip 명령어를 사용하는 방법도 있고, 이걸 더 편히 생각하시거나 특히 windows 에 공유하고자 하는 사람들은 zip 을 선호하기도 합니다. (물론 요즘은 아무런 관계가 없어요) 하지만 기본적인 linux 환경에서 zip 은 제공하고 있지 않다고 보는게 맞고, 따라서 apt 등을 통해 설치해 주어야 한다는 점에서는 tar.gz 를 충분히 활용해 보는 것이 좋아 보입니다. 

 

 

 

참고 및 출처 

https://nota.tistory.com/m/53

 

 

Comments