1577, 6/79 회원가입  로그인  
   williamlee
   [자작]리눅스 압축 명령 정리.

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1628 [복사]


리눅스 압축 명령어 정리.

console 창에서 직접 압축을 하는 방법으로 tar, gzip, bzip2 , zip , compress 명령을 정리해 보려고 합니다.
* Tar
tar 는 압축방식은 아니고, 여러 개의 파일을 하나로 묶어주는 역할을 합니다. 주로 리눅스에서는 tar를 사용해서 파일을 하나로 묶은 다음 그 묶은 파일을 압축명령어를 사용하여 압축합니다.
옵션으로는
-c : create 의 약자로 묶음파일을 생성합니다.
-x : extract 의 약자로 묶음파일에서 데이터를 추출합니다.
-v : visual 의 약자로 묶음 생성 or 추출 시 그 과정을 눈으로 볼수 있게 보여줍니다.
-f : 사용할 tar 파일을 지정하는 명령으로 묶음이나 묶음해제시 필수적으로 넣어야 하는 명령입니다.
- r : 이미 묶음이 완료된 파일에 새로운 파일을 추가시킬 때 사용하는 명령입니다.
-t : 압축파일 안에 어떤파일이 들어있는지 내용을 확인합니다.
-z : tar로 묵은후 gzip으로 압축/해제 합니다.
-j : tar로 묶은후 bzip2로 압축/해제 합니다.
사용 예 :
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
한개의 파일만 압축할 수 있기 때문에 tar와 함께 쓰이며 압축후 기본적으로 원본파일은 사라집니다.
gzip의옵션으로는
-n : n은 1부터 9까지 숫자로 지정하며 1이 가장 빠르게 압축을 하지만 압축율은 가장 낮습니다.
-c : 원본파일은 그대로 놔두며 압축합니다.
-d : decompress,압축을 해제합니다.
-l : 압축 파일의 정보를 출력합니다.
-r : 디렉토리를 지정 시 디렉토리에 포함된 모든 파일을 압축합니다.(한개의 파일만 압축할수 있기 때문에 각각의 파일이 각각 압축됨.)
-v : 압축 혹은 해제시 자세한 정보를 보여줌니다.
압축해제시 " gzip -d 파일명 " 으로 해제할수도 있고, gunzip 명령으로 해제할 수 도 있습니다.
gunzip 옵션
-l 압축 파일 정보 출력
-r 디렉토리 지정시 디렉토리 내의 모든 파일의 압축 해제
-v 압축해제 시 자세한 정보 출력.

*  bzip2
.bz2 라는 확장자로 다루어 집니다. tar옵션중 j 를 이용해 tar명령어와 함께 사용할수 있습니다.
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를 사용한다.

*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를 만들어야 나중에 압축을 풀때 오류가 생기지 않는다.

  Hit : 13319     Date : 2010/12/29 06:52
[불법/스팸글로 신고하기]



    
stares ssh관리하면서 유용하겟습니다.
감사합니다.
2010/12/29  
jjangoo94 감사합니다...많은 도움이 될것 같네요 2011/01/10  
1477   [펌] PC키퍼 깨기[4]     dzhfldk
08/22 13634
1476   * 엘리트해커가 되는길 *추천 *[30]     HackerMapia
03/02 13590
1475   리눅스 명령어 마스터 8 [마지막][44]     소유
09/10 13362
1474   [[초급/강좌]] 유닉스 주요 명령어[7]     소유
10/09 13321
  [자작]리눅스 압축 명령 정리.[2]     williamlee
12/29 13318
1472   [[초급/강좌]] 유닉스 기본 정리[8]     소유
10/09 13316
1471   리눅스 명령어 마스터 6[7]     소유
09/08 13292
1470   리눅스 명령어 마스터 7[8]     소유
09/09 13288
1469   레벨5 레이스컨디션에 대해서. [의외로 질문하시는 분들이 많아서..][9]     yl
10/01 13192
1468   리눅스 방화벽의 종류...[4]     bsjzzz
01/12 13008
1467   해커스쿨 Level1 풀이     xodnr631
08/20 12993
1466   넷센드 하는법(하도많이 물어보시길래;;)[13]     qkreoghks00
01/23 12990
1465   BOF 해결 무작정 따라하기 #1[7]     ssuckies
04/12 12971
1464   인터넷에 리눅스 서버 구축하기[1]     소유
07/07 12954
1463   Webhacking.kr 51번 RPG게임 나오기[4]     푸른하늘
03/31 12911
1462   ↓보충. 올바른 검색 조건으로, find명령어를 사용하자.[13]     yl
09/09 12824
1461   오라클 Enterprise Edition Release 8.0[6]     netwow1
12/14 12763
1460   C언어에서 사용되는 특수문자/서식문자[4]     xodnr631
08/18 12681
1459   [자작]백트랙 4 R1, 윈7 멀티부팅 (+ 한글화+grub설정)[4]     williamlee
11/20 12680
1458   윈도우 시스템의 컴퓨터에서 리눅스 설치방법[15]     o-0_o-0
09/19 12655
[1][2][3][4][5] 6 [7][8][9][10]..[79]

Copyright 1999-2022 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com