웹사이트 검색

대형 'tar' 아카이브를 특정 크기의 여러 파일로 분할하는 방법


네트워크를 통해 대용량 파일을 전송하거나 업로드하는 것이 걱정된다면 더 이상 걱정하지 마세요. 파일을 주어진 크기의 블록으로 분할하여 느린 네트워크 속도를 처리하기 위해 파일을 비트 단위로 이동할 수 있기 때문입니다.

이 방법 가이드에서는 아카이브 파일 생성 및 선택한 크기의 블록으로 분할하는 방법을 간략하게 살펴보겠습니다. Linux에서 가장 널리 사용되는 보관 유틸리티 중 하나인 tar를 사용하고 split 유틸리티를 활용하여 보관 파일을 작은 조각으로 나눌 것입니다.

더 나아가기 전에 이러한 유틸리티를 어떻게 사용할 수 있는지 살펴보겠습니다. tarsplit 명령의 일반 구문은 다음과 같습니다.

tar options archive-name files 
split options file "prefix”

이제 이 기사의 주요 개념을 설명하기 위해 몇 가지 예를 살펴보겠습니다.

예 1: 우선 다음과 같이 아카이브 파일을 생성할 수 있습니다.

tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/* 

out 아카이브 파일이 생성되었는지 확인하고 크기도 확인하려면 ls 명령을 사용할 수 있습니다.

ls -lh home.tar.bz2

그런 다음 분할 유틸리티를 사용하여 다음과 같이 home.tar.bz2 아카이브 파일을 각각 10MB 크기의 작은 블록으로 나눌 수 있습니다.

split -b 10M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*

위 명령의 출력에서 볼 수 있듯이 tar 아카이브 파일은 네 부분으로 분할되었습니다.

참고: 위의 split 명령에서 -b 옵션은 각 블록의 크기를 지정하는 데 사용됩니다. "home.tar.bz2.part"는 분할 후 생성된 각 블록 파일 이름의 접두사입니다.

예 2: 위의 경우와 유사하게 여기서는 Linux Mint ISO 이미지 파일의 아카이브 파일을 만들 수 있습니다.

tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso 

그런 다음 위의 예 1과 동일한 단계에 따라 아카이브 파일을 200MB 크기의 작은 비트로 분할합니다.

ls -lh linux-mint-18.tar.gz 
split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
ls -lh ISO-archive.parta*

예 3: 이 경우 파이프를 사용하여 tar 명령의 출력을 연결하여 다음과 같이 분할할 수 있습니다.

tar -cvzf - wget/* | split -b 150M - "downloads-part"

파일을 확인하세요.

ls -lh downloads-parta*

이 마지막 예에서는 아시다시피 아카이브 이름을 지정할 필요가 없으며 단순히 - 기호를 사용하면 됩니다.

분할 후 Tar 파일을 결합하는 방법

Linux에서 tar 파일이나 대용량 파일을 성공적으로 분할한 후 cat 명령을 사용하여 파일을 결합할 수 있습니다. cat을 사용하는 것은 조인 작업을 수행하는 가장 효율적이고 안정적인 방법입니다.

모든 블록 또는 tar 파일을 다시 결합하려면 아래 명령을 실행합니다.


cat home.tar.bz2.parta* >backup.tar.gz.joined

cat 명령을 실행한 후 이전에 생성한 모든 작은 블록을 동일한 크기의 원본 tar 아카이브 파일에 결합하는 것을 볼 수 있습니다.

결론

전체 아이디어는 간단합니다. 위에서 설명한 것처럼 tarsplit 유틸리티의 다양한 옵션을 사용하는 방법을 알고 이해하기만 하면 됩니다.

다른 옵션에 대해 자세히 알아보고 일부 복잡한 작업을 수행하려면 의 수동 입력 페이지를 참조하거나 다음 문서를 통해 tar 명령에 대해 자세히 알아볼 수 있습니다.

놓치지 마세요: 18가지 유용한 'tar' 명령 예

질문이나 추가 팁이 있는 경우 아래 댓글 섹션을 통해 의견을 공유할 수 있습니다.