리눅스(Linux)는 파일이나 폴더들을 묶는 것(archive)압축(compress)하는 기능이 세분화되어 있습니다.

여러 파일을 한 파일로 묶은 것을 아카이브(archive)라 하며 확장자는 .tar (tape archives)입니다.

그리고 tar(아카이브) 파일을 다시 gzip을 사용하여 압축해서 .tar.gz의 확장자를 가지는 압축 아카이브파일을

실무에서 많이 사용하고 있습니다.

 

압축 확장자: tar, tgz(=tar.gz), bz2

압축률: tar ≪ tgz(권장) < bz2

 

tar  (tape archives)

1. 개요

압축/해제 리눅스 명령어 + 해당 파일 형식이며 UNIX 계열 표준 형식이다.

여러 파일을 하나의 파일로 묶는다

 

2. 명령어

tar

 

3. 옵션

-x : 압축 파일 풀기 ( create )

-c : 압축 파일 생성 ( extract /  get )

-z : gzip방식 사용 ( gzip / gunzip / ungzip )

-j : bzip2방식 사용 ( bzip2 )

-p : 권한(permission)을 원본과 동일하게 유지 ( permission )

-v : 묶음/해제 과정을 화면에 표시 ( verbose )

-f : 파일 이름을 지정 ( file )

--exclude : 특정 폴더나 파일을 제외할 때 사용 (리스트로 가능)

 

4. 예제

$ tar -czvf [압축 파일 이름] [압축 대상 파일, 폴더명]

$ tar -czvf [압축 파일 이름] [압축 대상 파일, 폴더명] --exclude 제외할 폴더나 파일명1 --exclude 제외할 폴더나 파일명2

$ tar -xzvf [압축 해제할 압축 아카이브 이름]

 
1. test폴더 아카이브생성 + 압축  (tar.gz)

$ tar -cvzf test.tgz test/     

$ tar -cvzf test.tgz test/ --exclude test/123.txt     (123.txt제외 하고 압축)

2. 압축 해제 

$ tar -xvzf test.tar.gz

 

gz ( gzip / gunzip )

1. 개요

파일 압축에 쓰이는 응용 소프트웨어로 ZIP 파일포맷과 같이 DEFLATE 알고리즘을 따르지만,

여러 파일을 하나의 파일로 압축하는 옵션이 없다는 점에서 차이가 있음

여러 파일 또는 디렉터리를 하나의 파일로 압축하기 위해 보통 Tar와 함께 사용됨

 

2. 명령어

 gzip    -  압축 (.gz)

 gunzip -  gzip으로 압축된 파일을 압축 해제하는 명령어

 

3. 옵션

-n: n은 1부터 9사이의 숫자를 지정, 1은 가장빠른 압축, 9는 가장 느린 압축

-c: 압축 결과를 출력하고, 원본 파일은 그대로 둔다.

-d: 압축 해제 옵션, gunzip과 같음

-f: 강제 압축

-l: 압축 파일의 정보 출력

-r: 디렉토리를 지정 시 디렉토리에 포함된 모든 파일 압축

-t: 압축 파일 테스트

-v: 자세한 정보 출력

-h: 도움말 출력

-V: 버전 정보 출력

 

4. 예제

$ gzip [압축 파일 이름] [압축 대상 파일, 폴더명]

1. 압축
$ gzip text.txt

2. 압축 해제
$ gunzip text.txt.gz

 

bz2 ( bzip2 / bunzip2 )

1 개요

1996년 공개된 압축 소프트웨어로 버로우즈-휠러 변환 기반의 압축 알고리즘 및 압축 소프트웨어임

보통 gzip, ZIP보다 압축률이 좋지만 약간 느림

 

2. 명령어

 bzip2    -  압축 (.bz2)

 bunzip2 -  bzip2 로 압축된 파일을 압축 해제하는 명령어

 

3. 옵션

-c --stdout : 압축되거나 압축을 푼 파일을 표준출력으로 보낸다.

-d --decompress : 압축을 푼다.

-z --compress : 파일을 압축한다.

-f --force : 압축하거나 압축 해제 시 같은 이름의 파일이 있을 경우 덮어쓴다.

-k --keep : 원본파일을 보존하며 압축하거나 해제한다.

-v --verbose : 상세한 정보를 출력한다.

- 1~-9 : 압축시 블록 크기를 지정한다.

 

4. 예제

$ bzip2 [압축 파일 이름] [압축 대상 파일, 폴더명]

1. 압축
$ bzip2 text.txt

2. 압축 해제
$ bunzip2 text.txt.bz2

 

더 효율적이고 다양한 방법이 있겠지만 제가 직접 사용했던 방식을 정리하였으니 참고 부탁드립니다.

읽어주셔서 감사합니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기