본문 바로가기

OS/Linux

Linux - 압축하기 / 압축풀기 (tar, tar.gz, gzip, bzip2)

728x90

리눅스는 압축하거나 관리할 파일들을 먼저 하나의 파일로 묶은 뒤, 압축을 해서 용량을 줄이는 방법을 사용합니다.

아카이빙 Archiving : 파일 또는 디렉토리를 하나로 묶는다
압축 Compression : 우리가 알고 있는 압축 (디스크가 사용하는 용량을 줄여준다)

 

1. tar

tar는 "tape archive"의 약자로 Unix 및 Linux 운영 체제에서 많이 사용되는 아카이브 유틸리티입니다.

tar [옵션] [아카이브 파일명] [파일 또는 디렉토리]

자주 사용 옵션 설명
-f tar 아카이브 파일 이름을 지정
-c tar 아카이브 생성 (create) - 파일을 묶음
-x tar 아카이브에서 파일을 푼다
-v 처리되는 과정을 보여줌
-t tar 아카이브의 파일을 보여줌
-z gzip으로 압축하거나 해제함
-j bzip2으로 압축하거나 해제함
--exclude tar 아카이브 시 파일이나 디렉토리를 제외함

 

ex) file1, file2, directory1을 samso_tar_test.tar에 묶어(아카이빙) 봅니다.

 

# tar -cvf samso_tar_test.tar file1 file2 directory1

ex) 묶인 파일을 풀려면 다음 명령어를 사용합니다.

# tar -xvf samso_tar_text.tar

ex) samso 폴더의 log 확장자 제외 하고 samso_tar_test.tar로 묶어(아카이빙) 봅니다.

ex) samso_tar_test.tar의 파일이 무엇이 있는지 확인해 봅니다.

2. gzip(gunzip) / tar.gz

gzip은 파일을 압축하거나 압축을 해제할 때 사용되며, 압축률이 높고 속도가 빠른 것으로 유명합니다.

gzip [옵션] [파일명]

자주 사용 옵션 설명
-d 압축을 해제 한다
-1 파일 압축 시간을 줄임 (압축률 ↓)
-9 파일을 최대로 압축 (시간 ↑)
-l 압축된 파일 정보를 출력
-v 처리되는 과정을 보여줌
-r 디렉토리 아래의 모든 파일을 하나씩 압축

 

 

반응형

 

 

ex) file1, file2를 압축해 봅니다.

# gzip file1 file2
# tar zcvf file1.tar.gz file1  // tar 명령어로도 gzip 사용 가능

※ tar와 다르게 파일 자체가 .gz으로 변경되는 것을 확인할 수 있습니다.

ex) file1.gz를 압축해제 해봅니다.

# gzip -d file1.gz
# gunzip file2.gz

※ tar로 압축한 파일은 tar로 gzip으로 압축한 파일은 gzip으로 압축해제 해야 합니다.

 

3. bzip2(bunzip2)

gzip보다 압축률은 좋지만, 압축하는데 더 많은 시간이 걸린다. (확장자 .bz2)

자주 사용 옵션 설명
-d 압축을 해제 한다
-1 파일 압축 시간을 줄임 (압축률 ↓)
-9 파일을 최대로 압축 (시간 ↑)
-l 압축된 파일 정보를 출력
-v 처리되는 과정을 보여줌
-r 디렉토리 아래의 모든 파일을 하나씩 압축
# bzip2 file1   -->   file1.bz2
# bunzip2 file1.bz2  -->  file1

※ bzip2, bunzip2 명령어는 gzip, gunzip과 옵션 및 사용방법이 동일하다.

728x90
반응형