리눅스 · 2 min read · Dec 16, 2025
리눅스에서 Split 명령어를 사용하여 큰 아카이브 파일을 여러 개의 작은 파일로 나누는 방법
아카이브를 만드는 주요 이유 중 하나는 다루기 쉽고 전송하기 편리하기 때문이지만, 때때로 압축된 파일 자체가 너무 커서 네트워크를 통해 전송하는 것이 악몽이 될 수 있습니다. 특히 네트워크 속도가 느릴 때 그렇습니다.
그렇다면 이러한 경우에는 무엇을 해야 할까요? 이 문제에 대한 해결책이 있을까요? 네, 그렇습니다 - 하나의 해결책은 압축된 파일을 더 작은 조각으로 나누는 것입니다. 이렇게 하면 네트워크를 통해 쉽게 전송할 수 있습니다. 목적지에서 원래 아카이브를 얻기 위해 다시 결합할 수 있습니다.
이 해결책이 흥미롭게 들린다면 리눅스에서 이것을 어떻게 할 수 있는지 정확히 이해하고 싶을 것입니다. 이 튜토리얼에서는 모든 중요한 세부 사항을 단계별로 논의할 것입니다.
진행하기 전에, 이 기사에서 언급된 모든 지침과 명령은 Ubuntu 14.04에서 테스트되었음을 알려드립니다.
큰 아카이브 나누는 방법
파일을 조각으로 나누는 데 도움이 되는 명령줄 유틸리티 - Split - 가 존재합니다. 대부분의 리눅스 배포판에 기본적으로 설치되어 있으므로 다운로드 및 설치를 위한 추가 단계를 수행할 필요가 없습니다. 다음은 이 명령의 구문입니다:
split [OPTION]... [INPUT [PREFIX]]여기서 INPUT은 더 작은 조각으로 나누어야 할 파일의 이름을 나타내고, PREFIX는 출력 파일 이름에 접두사로 추가하고자 하는 텍스트입니다. OPTION은 우리의 경우 -b로, 출력 파일의 크기를 지정할 수 있습니다.
Split의 사용법을 이해하기 위해 예제를 통해 설명하겠습니다. 먼저 나누고자 하는 압축 파일이 필요합니다. 예를 들어, 제 경우에는 다음과 같은 60MB .zip 파일이 있었습니다:
Split 명령어가 작동하는 모습입니다:
보시다시피, -b 옵션을 사용하여 Split 명령어에 큰 .zip 파일을 각각 20MB 크기의 동일한 조각으로 나누도록 요청했습니다. 압축 파일의 전체 이름과 접두사 텍스트를 제공했습니다.
Split 명령어가 실제로 요청한 대로 수행했는지 확인하는 방법은 다음과 같습니다:
위 스크린샷의 출력에서 알 수 있듯이, 제가 제공한 접두사를 포함하고 각각 20MB인 세 개의 파일이 출력으로 생성되었습니다.
물론, .zip 파일 외에도 위에서 언급한 방법을 사용하여 다른 유형의 압축 파일도 나눌 수 있습니다. 예를 들어, 이전에 논의한 동일한 명령을 사용하여 .tar.xz 파일을 나누는 방법은 다음과 같습니다:
이제까지 이해하셨겠지만, MB 단위로 파일을 여러 조각으로 나누고 싶다면 명령줄에 제공하는 숫자와 함께 M 문자를 사용해야 합니다. 그리고 우리가 방금 논의한 경우처럼 파일 크기를 KB 단위로 지정하려면 K 문자를 사용해야 합니다.
지금까지 우리는 Split 명령어가 제공하는 -b 옵션만 사용했습니다. 이는 우리가 원하는 대로 입력 파일을 명령줄에서 이 옵션 뒤에 오는 크기에 따라 나누도록 명령하기 때문입니다. 그러나 귀하의 경우와 요구 사항에 따라 Split 명령어가 제공하는 다른 옵션을 사용하고 싶을 수도 있습니다.
다음은 옵션 목록과 그들이 하는 일에 대한 간단한 설명입니다:
- -a, –suffix-length=N: 길이 N의 접미사를 생성합니다 (기본값 2)
- –additional-suffix=SUFFIX: 파일 이름에 추가 SUFFIX를 추가합니다.
- -b, –bytes=SIZE: 출력 파일당 SIZE 바이트를 넣습니다.
- -C, –line-bytes=SIZE: 출력 파일당 최대 SIZE 바이트의 줄을 넣습니다.
- -d, –numeric-suffixes[=FROM]: 알파벳 대신 숫자 접미사를 사용합니다. FROM은 시작 값을 변경합니다 (기본값 0).
- -e, –elide-empty-files: ‘-n’으로 빈 출력 파일을 생성하지 않습니다.
- –filter=COMMAND: 셸 COMMAND에 씁니다; 파일 이름은 $FILE입니다.
- -l, –lines=NUMBER: 출력 파일당 NUMBER 줄을 넣습니다.
- -n, –number=CHUNKS: CHUNKS 출력 파일을 생성합니다.
- -u, –unbuffered: ‘-n r/…’로 입력을 즉시 출력으로 복사합니다.
지금까지 우리는 큰 아카이브를 여러 개의 작은 부분으로 나누는 방법만 논의했습니다. 물론, 원래 압축 파일을 복구하기 위해 다시 결합하는 방법도 알아야 의미가 있습니다. 그래서, 다음은 이를 수행하는 방법입니다:
작은 조각을 결합하기 위한 특별한 명령줄 유틸리티는 없지만, 오래된 Cat 명령어가 이 작업을 처리할 수 있습니다. 예를 들어, Cat 명령어를 통해 Kaku-linux32.zip 파일을 복구하는 방법은 다음과 같습니다:
복구된 아카이브를 추출하고 원본과 비교하여 아무것도 변경되지 않았는지 교차 확인할 수 있습니다.
결론
리눅스 사용자이고, 일상 업무가 큰 압축 파일을 다루고 이를 네트워크를 통해 다른 사람과 공유하는 것이라면, 경우에 따라 아카이브를 나누고 싶을 가능성이 높습니다. 물론, 이 튜토리얼에서 언급한 해결책이 유일한 방법은 아닐 수 있지만, 확실히 가장 간단하고 노력 소모가 적은 방법 중 하나입니다.
다른 방법으로 큰 아카이브를 나누고 다시 결합하는 방법을 사용하고 있으며, 다른 사람들과 솔루션을 공유하고 싶다면 아래 댓글로 남길 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.