GNU+linux/shell

리눅스 압축/압축풀기 총정리!

ensuta 2021. 8. 22. 06:33
728x90
반응형

컴퓨터에는  zip, .apk, .rar, .7z, . tar , .egg 등의 다양한 압축 포맷이 있다.

리눅스에서 다양한 압축포맷을 자체지원하지는 않는다.

 

리눅스에서의 압축을 총정리 해보았다.

 

TAR

tar (무손실 압축 = 파일을 하나로 묶기만 한다)

.tar.bz2 (= .tb2, .tbz, .tbz2)

.tar.gz ( = .tgz) 

.tar.lz (= .tlz)

.tar.lzma ( = .txz)

.tar.xz

.tar.Z (= .tZ)

tar

$ tar -cvf [파일이름.tar] [요소1] [요소2] [...] # tar 압축 하기
$ tar -xvf [파일이름.tar] # tar 압축 풀기 (현재 디렉토리)
$ tar -xvf [파일이름.tar] -C /압축/해제/경로/ # tar 압축 풀기 (경로)

tar.gz

$ tar -zcvf [파일이름.tar.gz] [요소1] [요소2] [...] # tar.gz 압축 하기
$ tar -zxvf [파일이름.tar.gz] # tar.gz 압축 풀기 (현재 디렉토리)
$ tar -zxvf [파일이름.tar.gz] -C /압축/해제/경로/ # tar.gz 압축 풀기 (경로)

tar.bz2

$ tar -jcvf [파일이름] [요소1] [요소2] [...] # tar.bz2 압축 하기
$ tar -jxvf [파일이름] # tar.bz2 압축 풀기 (현재 디렉토리)
$ tar -jxvf [파일이름] -C /압축/해제/경로/ # tar.bz2 압축 풀기 (경로)

tar.lz

$ tar --lzip -cvf [파일이름] [요소1] [요소2] [...] # tar.lz 압축 하기
$ tar --lzip -xvf [파일이름] # tar.lz 압축 풀기 (현재 디렉토리)
$ tar --lzip -xvf [파일이름] -C /압축/해제/경로/ # tar.lz 압축 풀기 (경로)

tar.lzma

$ tar --lzma -cvf [파일이름] [요소1] [요소2] [...] # tar.lzma 압축 하기
$ tar --lzma -xvf [파일이름] # tar.lzma 압축 풀기 (현재 디렉토리)
$ tar --lzma -xvf [파일이름] -C /압축/해제/경로/ # tar.lzma 압축 풀기 (경로)

tar.xz

$ tar -Jcvf [파일이름] [요소1] [요소2] [...] # tar.xz 압축 하기
$ tar -Jxvf [파일이름] # tar.xz 압축 풀기 (현재 디렉토리)
$ tar -Jxvf [파일이름] -C /압축/해제/경로/ # tar.xz 압축 풀기 (경로)

 

ZIP

ZIP

$ unzip <filename>.zip # zip 압축해제
$ zip -r <filename>.zip /원/본/파/일/… # zip 압축하기
$ zip <filename>.zip /원/본/파/일/…  # 기존zip에 추가하기
$ zip -9 -r <filename>.zip /원/본/파/일/… -x '*.git' # 특정 디렉토리를 제외

rar

rar

$ unrar x rarfile.rar  #현재 경로로 추출하여 풀기
$ unrar e -kb rarfile.rar #깨진파일 강제로 풀기
$ unrar l rarfile.rar #압축파일 내용 출력
$ unrar a rarfile.rar #rar파일로 압축
$ unrar r rarfile.rar #압축파일 복구 또는 수정
$ unrar a -p rarfile.rar #암호화된 rar파일로 압축하기

7z

7z

$ 7z x 7zfile.7z #7z 파일을 압축 해제 (플러그인)
$ 7z a 7zfile.7z file1 file2 file3 #압축하기 (플러그인) 
$ 7z a 7zfile.7z file1 file2 file3 -p -mhe=on #암호화하여 압축하기 (플러그인)
$ 7z l 7zfile.7z #7z 파일 내용 확인

$ 7zr x 7zfile.7z #7z 파일을 압축 해제 (라이트버전)
$ 7zr a 7zfile.7z file1 file2 file3 #압축하기 (라이트버전)

$ 7za l 7zfile.7z #7z 파일 내용 확인 (독립실행)
$ 7za x 7zfile.7z #7z 파일을 압축 해제 (독립실행)
$ 7za a 7zfile.7z file1 file2 file3 #압축하기 (독립실행)
$ 7za a 7zfile.7z file1 file2 file3 -p -mhe=on #암호화하여 압축하기 (플러그인)

정확한 7z, 7za, 7zr의 차이에 대한 설명은 여기에 있습니다.

 

패키지에는 세 개의 바이너리 /usr/bin/7z, /usr/bin/7za, 및 /usr/bin/7zr. 그들의 매뉴얼 페이지는 차이점을 설명합니다:
  • 7z 은 플러그인을 사용하여 아카이브를 처리합니다.
  • 7za 은 7z보다 적은 수의 아카이브 형식을 처리하는 독립 실행형 실행 파일입니다.
  • 7zr 은 독립 실행형 실행 파일입니다. 7z 아카이브만 처리하는 7za의 "라이트 버전"입니다. 7za와 달리 암호화된 아카이브를 처리할 수 없습니다.

-ArchWiki에서-

반응형