CS

[리눅스] tar 명령어 알아보기, tar 압축하기, 압축해제

뭉치v 2024. 7. 5.

리눅스 tar 명령어 알아보기 

 Linux를 다루다 보면 .zip, .tar , .tar.gz 등 다양한 압축 파일을 만나게 된다. tar는 정말 자주 사용되는 명령어 중 하나인데, tar 명령어에 대해 알아보자

tar 명령어란?

 tar는 Tape Archive의 약자로, 원래는 테이프 드라이브에 데이터를 아카이빙하기 위해 만들어진 명령어다. 그러나 현대에 와서는 주로 파일과 디렉토리를 하나의 아카이브 파일로 묶거나, 그 반대로 아카이브 파일에서 풀어내는 데 사용된다.

 리눅스에서 tar 명령어는 파일 관리의 핵심 도구 중 하나로, 간단하면서도 강력한 기능을 제공하여 다양한 상황에서 유용하게 사용할 수 있다. 특히, tar -zcvf와 tar -zxvf 명령어를 잘 익혀두면 파일 압축과 해제 작업이 훨씬 수월해진다.

 

tar 명령어의 기본 사용법

tar 명령어는 다양한 옵션과 함께 사용할 수 있는데, 대표적인 두 가지는 -cvf-xvf가 있다.

1. 압축하기: tar -zcvf

`tar -zcvf` 명령어는 여러 파일이나 디렉토리를 하나의 tar.gz 파일로 압축하는 데 사용한다.

  • -z 옵션은 gzip으로 압축하는 것을 의미하고,
  • -c는 아카이브 파일을 생성(create)하는 것을 의미한다.
  • -v는 과정 중의 파일 목록을 보여주는 것이고,
  • -f는 파일 이름을 지정한다는 뜻이다.
tar -zcvf archive-name.tar.gz /path/to/directory

이 명령어를 사용하면 /path/to/directory에 있는 파일과 디렉토리가 archive-name.tar.gz라는 이름의 압축 파일로 생성된다.

2. 압축해제: tar -zxvf

이제 tar 파일을 해제하는 방법을 알아보자. tar -zxvf 명령어를 사용하면 되는데,

  • -zvf 는 위와 동일하고,
  • -x 옵션은 아카이브 파일을 추출(extract)하는 것을 의미한다.
tar -zxvf archive-name.tar.gz

이 명령어를 실행하면 현재 디렉토리에 archive-name.tar.gz의 내용이 풀어지게 된다.😊

 

헷갈리지 않게, 압축할때는 c(create) , 해제할때는 x(extract) 를 기억하시면 좋습니다!

 

tar 명령어의 다양한 활용법

특정 디렉토리로 압축 해제하기

기본적으로 tar 파일을 해제하면 현재 디렉토리에 풀리게 된다. 하지만 특정 디렉토리로 해제를 원할 때는 -C 옵션을 사용하면 된다.

tar -zxvf archive-name.tar.gz -C /path/to/extract

이 명령어를 실행하면 /path/to/extract 디렉토리에 파일이 풀리게 된다.

아카이브 파일의 내용 확인하기

아카이브 파일의 내용을 확인하고 싶을 때는 -t 옵션을 사용하면 된다. (아마도 test의 약자 인듯?)

tar -ztvf archive-name.tar.gz

이 명령어를 실행하면 archive-name.tar.gz 파일의 내용물이 화면에 표시된다. 추출하기 전에 어떤 파일들이 포함되어 있는지 확인할 수 있어서 유용하다.

기존 .tar 에 압축 파일 추가하기

기존의 tar 파일에 새로운 파일을 추가하고 싶다면 -r 옵션을 사용하면 된다.

tar -rvf archive-name.tar newfile.txt

이 명령어는 newfile.txt를 archive-name.tar에 추가합니다. 이렇게 하면 새롭게 파일을 생성하지 않고도 간편하게 파일을 추가할 수 있다.

※ gzip으로 압축된 압축파일(.tar.gz)에는 파일 추가 불가능.

tar 명령어 관련 기타 유용 팁

대용량 파일의 tar 해제

대용량 파일을 압축하거나 해제할 때는 --use-compress-program 옵션을 사용하면 압축 해제 속도를 높일 수 있다.

tar --use-compress-program=pigz -xvf archive-name.tar.gz

pigz는 멀티코어를 활용한 병렬 압축 해제 프로그램으로, 대용량 파일의 압축 해제 속도를 크게 향상시킬 수 있다.

 

예전에 postgresql 백업본을 압축할때 pigz를 이용해서 시간 단축을 했었는데,
rpm 으로도 간단하게 설치 할 수 있으니 아래 페이지 참고. 
https://zlib.net/pigz/
 

pigz - Parallel gzip

A parallel implementation of gzip for modernmulti-processor, multi-core machines Welcome to the pigz home page. You can download the latest source code right here: pigz, which stands for parallel implementation of gzip, is a fully functional replacement fo

zlib.net

 

반응형

댓글

💲 추천 글