본문 바로가기
Back-end/Linux

Linux : 파일 압축(gzip, xz, bzip2, tar, zip)

by somlang_bba 2023. 1. 20.
728x90

# 압축하기
$> zip -P "비밀번호" 압축명 압축할파일

# 압축풀기
$> unzip 압축된파일

Linux기반의 OS에서는 보통 gzip을 이용하여 압축파일을 만들거나 압축을 해제한다.

 

특히나 레거시 시스템에서는 gz확장자로 압축된 것을 주로 확인할 수 있는데, 최근에는 xz나 bzip2를 이용하는 시스템들도 많아지는 추세라고 한다.

 

gzip을 이용한 압축은 다음과 같은 명령어로 사용가능하다.

$> gzip <압축대상파일>

 

압축을 풀기위해서는 -d 옵션을 주면 된다.

$> gzip -d <압축해제대상파일>

압축된 파일크기

참고로, gzip, xz, bzip2 셋 중에는 xz가 압축률이 제일 좋다.

같은 파일을 zx로 했을 때 약 28byte가 더 압축되었다.

 

 

그리고 여러개의 파일을 한개의 압축파일로 묶기 위해서는 tar를 이용한다. 다음과 같이 명령줄에 입력하면 된다.

 

$> tar cvfz <생성할 파일명> <압축할 파일들>

두개의 파일이 한개의 압축파일로 묶였다!

이후에 tar파일내에 어떤 파일들이 들어가 있는지 궁금하다면 다음의 명령어를 이용하여 리스트를 출력할 수 있다.

$> tar -tf <tar파일>

여기에 vz까지 붙이면 더욱 자세한 정보를 얻을 수 있다.

그리고 뒤에 파라미터로 검색할 단어까지 주면 해당단어로 만들어진 파일명을 찾아준다.

$> tar -tf <tar파일> <검색어>

 

압축을 풀어내기위해서는 다음과 같은 명령어를 사용해준다.

$> tar xvfz <압축풀 파일명>

 

만약 xz 형식으로 여러파일을 묶어 tar로 만드려면 cvfz 대신 cvfJ를 이용해서 묶어주면 된다.

$> tar cvfJ <생성할 파일명> <압축할 파일들>

 

tar로 파일을 묶다보면 

tar: Removing leading `/' from member names

위와같은 "알림"메시지를 볼 수 있는데, 이건 에러가 아니고 알림메시지임.

(절대경로로 표시한 파일을 tar로 묶을때는 상대경로로 표시하겠다는 알림메시지)

 

또한, 윈도우환경에서 흔히 볼 수 있는 zip 으로도 파일 압축이 가능하다.

 

 

728x90