ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 파일 분할
    prev/LINUX 2010. 3. 31. 13:03
    만약 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 -

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

    'prev > LINUX' 카테고리의 다른 글

    우분투 방화벽 ufw  (0) 2010.05.24
    허용 아이피 확인  (0) 2009.04.21
    CVS가 있는 디렉토리를 전부 삭제하는 쉘 스크립트  (0) 2009.04.16
    FTP passive mode  (0) 2008.11.19
    tar 리눅스 압축  (0) 2007.12.27
Designed by Tistory.