본문 바로가기
서버인프라/리눅스

리눅스 에서 압축과 압축 해제

by techwold ted 2023. 8. 6.

기초적인것들 이지만, 자주 잊어 먹어서 항상 찾게 되는 그런 내용이다.

gzip 그리고 tar

 

윈도우처럼 gzip이 압축하기 편하면 좋을텐데 우리가 사용하듯이 사용하기 불편한 사항들이 많다.

그래서 하나하나 알아가보자.

 

gzip을 이용한 압축이다 아래와같이 입력하면 test.txt 파일에 대해서 압축되어

text.txt.gz 파일이 생성된다

gzip test.txt

그리고 압축 해제 방법은 다음과 같다.

gunzip test.txt.gz

위와 같이 실행하면 압축이 해제 된다. 다음은 압축율을 지정해서 압축하는 것이다.

 

-1 에서 -9 까지이고 -9로 지정시 가장 높은 압축률을 실행한다.

다만 cpu사용량이 많을 것이며, 시간이 오래 걸릴 수 있다는 단점이 있고, 용량을 줄일 수 있다는 장점이 있다.

gzip -1 test.txt

gzip -9 test.txt

이번에는 원본파일은 나두고, 압축파일을 생성하는 것이다. gzip을 그냥 실행하면 원본파일이 test.txt.gz 이런식으로 변경된다.

하지만 그 파일은 여전히 필요하고, 압축해서 보관할 파일이 필요할때가 있다 그럴때는 다음과 같다.

gzip -c test.txt > test.txt.gz

위와 같이 -c 옵션을 주고 실행하면 별도로 생성되는 압축 파일을 만들 수 있다.

 

위와 같이 테스트 하며 궁금증 하나가 생겼을 것이라고 생각된다. gzip은 디렉토리 압축이 안되는 건가???

그렇다. gzip은 기본적으로 파일압축을 지원하는 것이지 디렉토리 전체를 압축 하지 않는다.

그래서 우리는 여기서 tar를 사용하여 압축해야 한다.

 

우리는 디렉토리를 압축하는 방법을 다음과 같이 실행 할 것이다.

tar czvf directoryname.tar.gz directoryname/

c: 새로운 아카이브 파일 생성
z: gzip으로 압축
v: 과정을 화면에 표시 (verbose)
f: 아카이브 파일 이름 지정

 

그리고 압축해제

tar xzvf directoryname.tar.gz

 

위와 같이 실행하면 디렉토리를 압축 할 수 있다. 우리가 윈도우에서 쉽게 압축 하듯이. 

다만 cli명령어로 해야 한다는 것이 불편 할 수 있겠지만. 대부분 리눅스 사용하고 있다면 서버 관리자나 개발자라고 생각되며

 

이 글이 많은 도움이 되길 바란다.

'서버인프라 > 리눅스' 카테고리의 다른 글

SSH Tunneling Port forwarding  (98) 2023.10.12
Ubuntu 20.04 LTS 디렉토리 구조  (0) 2023.08.07
ppk -> pem 변경  (0) 2023.05.08
Ubuntu 22.04LTS 계정 보안설정  (1) 2023.02.21
Linux sar 모니터링  (0) 2023.02.03

댓글