리눅스 파일 압축 및 해제 (zip, tar, tar.gz, tar.bz2)
zip 압축 및 해제하기
- 압축하기
zip -rF [압축파일명.zip] [압축할 파일 또는 폴더]
옵션
r : 서브 디렉터리 까지 압축
F : 한글 이름을 가진 파일까지 압축
# Example 현재 폴더에 전부를 압축할때 ./*는 현재 폴더 전부를 의미
zip filename.zip ./*
# Example 현재 폴더 하위에있는 폴더 포함하여 압축
zip -r filename.zip ./*
zip은 해당 폴더로 이동한 후 명령을 입력하는 것을 추천합니다.
- 압축 풀기
# Example 현재 디렉토리에 압축 해제
unzip filename.zip
# Example 합축 풀 폴더 지정 해제
unzip filename.zip -d /foldername/
tar 압축 및 해제하기
- 압축하기
$ tar -cvf [압축파일명.tar] [압축할 파일 또는 폴더]
# Example
$ tar -cvf test.tar folder
- 압축 풀기
$ tar -xvf [압축파일명.tar]
# Example 지정된 위치에 압축풀기
$ tar -xvf filename.tar -C /folder/dest_folder_name/
* tar 와 tar.gz 파일압축의 다른점 : 옵션에서 z 차이
옵션 : 'v' 옵션으로 실행 과정 출력
tar.gz 압축 및 해제하기
- 압축하기
$ tar -czvf [압축파일명.tar.gz] [압축할 파일 또는 폴더]
$ tar -czvf [압축파일명.tar.gz] [압축할 파일 또는 폴더1] [압축할 파일 또는 폴더2] [압축할 파일 또는 폴더3] ...
# Example
$ tar -czvf images.tar.gz ./folder/a1.jpg ./folder/a2.jpg ./folder/a3.jpg
# Example 예외 압축
$ tar -czvf --exclude=./folder/filename.jpg tarname.tar.gz ./folder
- 압축 풀기
$ tar -zxvf [압축파일명.tar.gz]
#Example 지정된 위치에 압축풀기
$ tar -zxvf filename.tar.gz -C /folder/dest_folder_name/
옵션 : 'z' 옵션이 gz 파일 압축풀기 옵션
tar.bz2 압축 및 해제하기
- 압축하기 (압축률이 가장높음)
$ tar -jcvf [압축파일명.tar.bz2] [압축할 파일 또는 폴더]
- 압축 풀기
$ tar -jxvf [압축파일명.tar.bz2]
# Example 디렉토리에 파일 내용물을 넣고 싶으면 -C를 쓰고 디렉토리
$ tar -jxvf filename.tar.bz2 -C /folder/dest_folder_name/
옵션 : 'j' 옵션이 bz2 파일 압축풀기 옵션
tar.xz 압축 및 해제하기
- 압축하기
$ xz [압축파일명.tar]
# Example
$ xz test.tar
- 압축 풀기
$ xz -d [압축파일명.tar.xz]
# Example 디렉토리에 파일 내용물을 넣고 싶으면 -C를 쓰고 디렉토리
$ xz -d test.tar.xz
$ unxz [압축파일명.tar.xz]
# Example
$ unxz test.tar.xz
문제점 :
압축 풀기 안될때
- unzip 이 안깔려 있을때 apt-get install unzip
차이점 :
zip 과 tar 의 압축 경로 옵션 설정은 zip : -d, tar : -C