티스토리 뷰

개발 노트/Linux

리눅스에서 압축하기, 압축풀기

오리지날초이 2013. 10. 2. 15:21


@ 압축 및 해제

 

  ▣  tar

    - 프로그램 설명   

  • tar - 복수의 파일과 디렉토리를 단일한 묶음 파일로 변환

   ☞ 파일 묶기

 

 $ tar  cvf  def.tar  def/
  -> def 디렉토리의 모든 파일과 하위 디렉토리를 def.tar 파일로 묶음
 

 $ tar  zcvf  def.tar.gz  def/
  -> def 디렉토리의 모든 파일과 하위 디렉토리를 def.tar.gz 파일로 묶고 gzip을 사용하여 압축
 

 $ tar  jcvf  def.tar.bz2  def/
  -> def 디렉토리의 모든 파일과 하위 디렉토리를 def.tar.bz2 파일로 묶고 bzip2를 사용하여 압축

 

   c : 묶은 파일 ,  v : 묶은 파일 보여줌,  f : 파일명 지정,  t : 테스트

  ※ ps, tar 명령어는 옵션 사용시 '-' 생략한다.  

 

   ☞ 파일 풀어내기

 

 $ tar  tvf  def.tar

  -> def.tar 파일을 미리 확인해본다.(내용이 무엇인지, 오류가 있는지 미리 알아본다)

 

 $ tar  xvf  def.tar
  -> def.tar 파일을 풀어냄
 

 $ du  -sh  def

  -> def 파일이 사용한 용량을 보여준다.

 

 $ tar zxvf def.tar.gz
  -> def.tar.gz 파일을 gunzip을 사용하여 압축 해제후 풀어냄
 

 $ tar jxvf def.tar.bz2
  -> def.tar.bz2 파일을 bunzip2를 사용하여 압축 해제후 풀어냄

 

 예제)

 $ cp  -R  /usr/local  .                        => /usr/local 파일들을 ~ 현재디렉토리에 복사해온다.

 $ du  -sh  ~                                      => ~의 현재 사용용량 확인

 $ tar  zcvf  local.tar.gz  local/             => local 파일들을 압축한다.

 $ du  -sk  local                                 => local 파일들의 사용용량 확인

 $ tar  ztvf  local.tar.gz                        => local.tar.gz 파일을 미리 확인 테스트 한다.

 $ tar  zxvf  local.tar.gz                       => local.tar.gz 파일을 압축 푼다.

 $ tar  cvf  local.tar                             => local.tar 파일로 묶는다.

 $ bzip2  local.tar                               => 원본파일 삭제하고 local.tar 로 압축한다.

 $ tar  jcvf  local.tar.bz2  local/            =>

 

 ※ 파이프라인( | )

    파이프라인을 기준으로 왼편 프로그램은 표준출력(stdout), 오른편 프로그램은 표준입력(stdin)이

   있어야하고, 왼편에서 오른편으로 순차 실행

 ※ 세미콜론 ( ; )

    여러명령을 사용할 경우 각각을 구분

 ※ grep

    grep 뒤의 주어진 글자 패턴이 들어 있는 문자열만 따로 뽑아서 보여주는 것이다.

      $ ps  aux  |  grep  $USER       => 현재 로그인한 사용자들을 출력

      $ ls -al | grep mg -w |more

       => ls 명령어로 'mg' 란 단어가 정확히 일치하는 파일을 출력하며 파일의 수가 너무 많을 때

           화면을 나누어 보여준다

 

 

 ▣  gzip & gunzip 

   - 프로그램 설명

  • gzip, gunzip, zcat - 파일의 압축 및 해제 프로그램

   ☞ 파일 압축

 

 $ gzip def
  -> def.gz 파일이 만들어지고 원본 파일은 삭제된다.

 $ gzip  -9  def.tar

  -> def.tar.gz  최대압축률로 압축한다.(gzip는 개별파일만 압축한다.)

 

   ☞ 압축 해제

 

 $ gunzip def.gz
  or
 $ gzip -d def.gz
   

   ☞ 압축된 텍스트 파일 내용 보기

 

 $ zcat def.gz
  or
 $ zmore def.gz

 

 

▣  bzip2 & bunzip2 

  - 프로그램 설명

 

  • bzip2, bunzip2 - 블럭 정렬 파일 압축기, v1.0.3
  • bzcat - 파일의 압축을 풀어 stdout으로 보냄 
  • bzip2recover - 손상된 bzip2 파일로부터 자료를 복구
  •  

       ☞ 파일의 압축

     $ bzip2  def
    -> def.bz2 파일이 만들어지고 원본 파일은 삭제된다. -k 옵션을 사용하면 원본 파일이 유지된다.

      ☞ 압축 해제 

     

     $ bunzip2  def.bz2
      or
     $ bzip2  -d  def.bz2

     

      ☞ 손상 압축 파일의 복원 

     

     $ bzip2recover def.bz2

     

      ☞ 압축된 텍스트 파일 내용 보기

     

     $ bzcat def.bz2





    원본출처 : http://towanouta.tistory.com/101


    뭐...리눅스를 사용하시는 분들에게는 가장 기본적인 일이지만 초보에게는 살짝 햇갈리면서 의외로 많이 쓰이는 것...
    압축하고 풀기입니다.

    일단 우분투를 포함한 대부분의 리눅스의 압축과 윈도우즈에서의 압축은 조금 다르달까요...

    윈도우즈에선 zip같은 방식으로 압축을 할 때에는 선택한 파일들을 통째로 묶어주면서 각 파일에 압축을 넣어주는데요
    리눅스에선 묶어주는 역할과 압축해주는 역할이 나누어져있다고 보면 됩니다. (어느쪽이 더 효율적이냐는 넘겨놓고~)

    보통 가장 많이 보는 형식은 tar.gz입니다.
    이것은 tar형식과 gz형식의 혼합입니다. tar형식은 파일들을 묶어주고 gz은 파일을 압축하는 역할을 하게 됩니다.

    ----<압축풀기>-----------------------------------------------------------------------------------------

    1. tar.gz 압축풀기


    $gunzip filename.tar.gz    // tar.gz에서 gz을 풀어냅니다.
    $tar xvf filename.tar         // tar를 풀어냅니다.  ( x: 압축풀기 , v: 압축푸는 상태를 본다, f: 파일이름 )

    압축푸는 상황을 보고 싶지 않으시다면 v옵션을 주지 않으셔도 됩니다만 보통은 적습니다.

    2. tar.gz 한번에 풀기

    $tar xvzf filename.tar.gz

    이렇게 간단하게 풀어버리는 방법도 있습니다.ㅋ

    ----<압축하기>-----------------------------------------------------------------------------------------

    3. tar.gz 압축하기

    $tar cvf filename.tar file1...    //file1의 폴더나 파일을 filename.tar로 묶는다 (압축아님)
    $gzip filename.tar                //filename.tar을 filename.tar.gz로 압축한다 (이땐 압축)

    4. tar.gz 한번에 압축하기

    $tar cvzf filename.tar.gz file1...     //file1의 폴더나 파일을 filename.tar.gz로 묶고 압축한다.


    728x90
    반응형

    '개발 노트 > Linux' 카테고리의 다른 글

    tcp port open 확인  (0) 2013.11.01
    dos2unix  (0) 2013.10.31
    리눅스 기본 데몬들  (0) 2013.09.16
    sendmail 트러블 슈팅 (dnsmasq 문제 해결)  (0) 2013.09.12
    리눅스 부팅시 명령스크립트 실행하기  (0) 2013.09.11
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    «   2024/04   »
    1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30
    글 보관함