2023년 8월 27일 일요일

리눅스 파일 압축 및 해제 (zip, tar, tar.gz, tar.bz2)

리눅스 파일 압축 및 해제 (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