FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

리눅스에서 화일의 분할압축 및 합치기(split,cat)

게시판 Tech/Tip 리눅스에서 화일의 분할압축 및 합치기(split,cat)

  • This topic has 0개 답변, 1명 참여, and was last updated 11 years 전에 by 인베인. This post has been viewed 33 times
  • 만든이
    게시글
  • #12112
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs

    만약 linux.tar.gz 1G가 있을때, 100M단위로 분할를 한후 다시 합치는 방법입니다.
    $ split -b 100m current.tar.bz2  current
    $ cat current* >  current.tar.bz2

    다음은 tar+split명령을 이용하여
    /bin 폴더의 모든 파일을 test.tar.gz이라는 파일로 분할 압축하는 명령이다.
    tar cvfz - /bin/* | split -b 1m - test.tar.gz

    tar cvfz - /bin/*는 /bin 폴더의 모든 파일을 tar.gz으로 압축하고 결과를 콘솔로 출력하는 명령이다. 아울러 split -b 1m - test.tar.gz은 콘솔로부터 입력 받은 데이타를 1M의 크기로 분할한 후 test.tar.gz라는 이름으로 저장하라는 명령이다. 따라서 이 명령을 실행하면 파일 크기에따라 그림처럼 test.tar.gzaa 부터 test.tar.gzac 까지의 파일이 생성된다.

    이렇게 생성된 파일의 압축을 해제하고 싶다면 파일을 합칠때 사용하는 cat 명령과 tar 명령을 함께 사용해서 압축 해제하면된다.

    cat test.tar.gz* | tar xvfz -

    cat test.tar.gz*은 파일이름이 test.tar.gz로 시작되는 파일을 합쳐서 콘솔로 출력하는 명령이고, tar xvfz -는 콘솔로부터 받은 파일의 압축 해제하는 명령이다. 리눅스의 경우 tar에서 gzip을 지원하므로 위와 같은 명령의 사용이 가능하다. 그러나 리눅스가 아니거나 리눅스 tar가 설치되어 있지 않은 경우 다음처럼 중간에 gzip 명령을 더 추가해야 한다.

    tar cvf - /bin/* | gzip - | split -b 1m - test.tar.gz
    cat test.tar.gz* | gzip -d - | tar xvf -

    마지막으로 눈치가 빠른 사람은 이미 알고 있겠지만
    명령행에서 사용되는 -는 표준 입출력(화면, 키보드)을 의미한다.

    이하여백.

    * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

  • 답변은 로그인 후 가능합니다.