리눅스 데스크탑 - 리눅스 압축 tar, gzip, gz, bzip2, bz2, zip, unzip, compress, xz 총정리....
이 름 : 바다아이
|
조회수 : 10468
짧은 주소 : https://www.bada-ie.com/su/?971591829700
압축은 파일명.gz 또는 파일명.bz2 요 두가지를 제일 많이 사용합니다.
* Tar
tar 는 압축방식은 아니고, 여러 개의 파일을 하나로 묶어주는 역할을 합니다.
주로 리눅스에서는 tar를 사용해서 파일을 하나로 묶은 다음 그 묶은 파일을 압축명령어를 사용하여 압축합니다.
옵션으로는
-c : create 의 약자로 묶음파일을 생성합니다.
-x : extract 의 약자로 묶음파일에서 데이터를 추출합니다.
-v : visual 의 약자로 묶음 생성 or 추출 시 그 과정을 눈으로 볼수 있게 보여줍니다.
-f : 사용할 tar 파일을 지정하는 명령으로 묶음이나 묶음해제시 필수적으로 넣어야 하는 명령입니다.
-r : 이미 묶음이 완료된 파일에 새로운 파일을 추가시킬 때 사용하는 명령입니다.
-t : 압축파일 안에 어떤파일이 들어있는지 내용을 확인합니다.
-z : tar로 묵은후 gzip으로 압축/해제 합니다.
-j : tar로 묶은후 bzip2로 압축/해제 합니다.
-p : 권한, 퍼미션 부분까지 저장...
사용 예 :
tar cvf achive.tar /root/* --> root 이하의 모든 파일과 디렉토리를 achive.tar 파일로 묶는다.
tar czvf achive.tar.gz /root/* -->root 이하의 모든 파일과 디렉토리를 achive.tar로 묶은후 gzip을 사용해서achive.tar.gz으로 압축한다.
tar cjvf achive.tar.bz2 /root/* --> root 이하의 모든 파일과 디렉토리를 achive.tar로 묶은후 bzip2를 사용해서 achive.tar.bz2로 압축한다.
tar xvf achive.tar --> achive.tar 라는 묶음파일을 해제 시킨다.
tar tvf achive.tar --> achive.tar 라는 파일에 어떤파일들이 묶여 있는지 확인한다.
tar rf achive.tar file.txt --> achive.tar 라는 묶음파일에 file.txt라는 새로운 파일을 추가한다.
보통.... 저같은 경우... 옵션을 아래처럼 합니다... 묶은 후 압축은 gzip 을 사용하기에 z 옵션...
zcvfp --> 압축시..
zxvfp --> 해제시...
압축을 gz 로 할려면 z 옵션
압축을 bz2 로 할려면 z 빼고 j
풀때도 압축 종류에 따라. z 혹은 j 를 사용합니다.
tar 의 순서를 보면..
tar옵션만들파일이름 압축및묶을파일들
옵션앞에 "-" 기호는 붙여도 되고 안붙여도 됩니다.
* gzip
한개의 파일만 압축할 수 있기 때문에 tar와 함께 쓰이며 압축후 기본적으로 원본파일은 사라집니다. 통상 gzip 만 가지고 압축하지는 않습니다. 그냥 이런 게 있구나 정도만 생각하시면 되겠습니다.
tar 에서 파일들을 묶은 후 z 옵션 하나로 끝이구나... 이 정도면 됩니다.
gzip의옵션으로는
-n : n은 1부터 9까지 숫자로 지정하며 1이 가장 빠르게 압축을 하지만 압축율은 가장 낮습니다.
-c : 원본파일은 그대로 놔두며 압축합니다.
-d : decompress,압축을 해제합니다.
-l : 압축 파일의 정보를 출력합니다.
-r : 디렉토리를 지정 시 디렉토리에 포함된 모든 파일을 압축합니다.(한개의 파일만 압축할수 있기 때문에 각각의 파일이 각각 압축됨.)
-v : 압축 혹은 해제시 자세한 정보를 보여줌니다.
압축해제시 " gzip -d 파일명 " 으로 해제할수도 있고, gunzip 명령으로 해제할 수 도 있습니다.
gunzip 옵션
-l 압축 파일 정보 출력
-r 디렉토리 지정시 디렉토리 내의 모든 파일의 압축 해제
-v 압축해제 시 자세한 정보 출력.
* bzip2
.bz2 라는 확장자로 다루어 집니다. tar옵션중 j 를 이용해 tar명령어와 함께 사용할수 있습니다.
최근 많이 사용들 합니다만.... 그래도 gzip 이 더 많은 것 같네요... 역시 bzip2 만 가지고 압축하지는 않습니다. tar 하고 같이 쓰고 옵션에 j 를 쓰는 구나.. 이 정도면 끝입니다.
bzip2 옵션
-z : 압축합니다.
-d : 압축을 풉니다.
-k : 파일 압축 or 해제시 원본 파일을 지우지 않습니다.
-v : 작업사항을 자세히 볼수 있습니다.
-s : bzip2가 작업 중 사용하는 메모리의 양을 줄일수 있습니다. (bzip2 작업에 2.5byte 만을 사용한다.) 시간은 더 오래 걸리지만 적은 메모리에서 bzip2를 사용할 수 있습니다.
-f : 압축 , 해제 할때 같은 이름의 파일이 있을 경우 덮어쓰기를 합니다.
bzip2 -d 를 이용하여 압축을 해제 할수도 있고, bunzip2 명령으로 해제 할수도 있습니다.
* zip
zip 압축은 다른 압축과는 다르게 암호를 설정할수 있다는 특징이 있습니다.
이 압축은 별로 인기가 없습니다... 그냥 이런 게 있구나... 정도만 아시면 됩니다.
zip 옵션
-r 하위 디렉토리까지 포함하여 모두 압축 시킵니다.
-P [암호] : 암호를 설정할 수 있습니다.
사용 예
zip -P ilikehacker -r hacker.zip /hacker
-->/hacker라는 폴더의 하위 디렉토리까지 모두 포함하여 hacker.zip 파일로 압축한다. 이때 암호는 ilikehacker를 사용한다.
풀때는
unzip 압축파일이름
--> 단순 풀기
or
unzip 압축파일이름 -d 특정폴더
--> 특정 폴더에 풀기
*compress
확장자 .Z 형태의 압축파일 생성 , 압축 알고리즘에 의해 크기가 줄어드는 경우에만 압축을 수행합니다.
이거는 모르셔도 됩니다.. 별로 사용할 일이 없을 겁니다.
사용 예
compress -vf test
--> test라는 파일을 압축합니다.
uncompress -d test.Z or compress -d test.Z
--> test.Z파일의 압축을 해제합니다.
옵션
-v 파일 압축 효율을 퍼센트로 보여줍니다.
-f 수행 결과 파일과 같은 이름의 파일이 있으면 물어보지 않고 덮어씁니다. 또한 파일의 크기가 줄어들지 않아도 압축을 실행합니다.
*** 압축 알고리즘 간단히 소개.
Run-Length Encoding Algorithm ((ex)RLE)
--> BAAAAAAC 를 BA5C 이런식으로 반복되는 문자의 길이를 세서 숫자로 표현. 반복되는 문자가 적으면 압축률이 떨어지는 단점이 있음.
Lempel-Ziv Algorithm ((ex)LZ77)
--> ABCDEFBCDAE 를 ABCDEF(5,3)AE 이런식으로 압축. 여기서 (5,3)이라는 뜻은 5번째 전부터 시작해서 3개 까지가 반복됨을 뜻함. 이렇게 반복되는 패턴을 숫자로 치환하는 알고리즘.
Huffman Algorithm
--> 단순하게 예를 들면 ADDAAAAAAE 중 A의 빈도수가 가장 높고 그다음 D, E순서로 빈도수가 높다.
이 빈도수를 계산하여 높은 빈도수를 가진 패턴에 작은 bit의 코드를 부여하여 압축한다.
이때 Huffman tree를 만들어야 나중에 압축을 풀때 오류가 생기지 않는다.
* xz
최근 xz 라는 압축이 많이 보입니다. 역시 한개의 파일만 가능합니다.
xz는 압축율이 높고, gzip의 30%, bzip2의15% 더 효율이 좋다고 합니다.
그러나 번거롭습니다. gz 로 가세요 그냥...
압축
xz 파일이름 --> 압축 후 원본 파일이 사라져요.. 주의
xz -k 파일이름 --> 원본 보존....
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.05593 초 to webmaster... gogo sea. gogo sea.