Linux / 명령어 / split - 큰 파일을 크기·행 수별로 분할

split은 큰 파일을 지정한 크기나 행 수로 나눠 여러 조각 파일을 만듭니다. 전송 제한에 맞게 파일을 쪼개거나 배치 처리 단위를 만들 때 사용합니다.

split 명령어란?

기본은 1000행 단위로 나누고 xaa 같은 접두어·접미어를 사용합니다. 바이너리 파일은 바이트 단위로 자를 수 있으며, 원래 순서대로 이어 붙이면 복원할 수 있습니다. 출력 파일이 기존 파일과 충돌하지 않도록 접두어를 정하세요.

기본 문법

split [옵션] [입력파일 [출력접두어]]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man split으로 현재 시스템의 설명을 확인하세요.

사용 예제

행 수로 분할

500행씩 별도 파일에 저장합니다.

split -l 500 data.txt part-

크기로 분할

약 100 MiB 단위의 조각을 만듭니다.

split -b 100M archive.bin archive-part-

순서대로 재결합

조각 이름의 정렬 순서를 확인한 뒤 이어 붙입니다.

cat archive-part-* > archive-restored.bin

분할 뒤 생성되는 파일 확인하기

다음 명령은 네 행을 두 행씩 나눕니다. 현재 디렉터리에 part-aa와 part-ab가 생성되므로 빈 작업 디렉터리에서 시험하세요.

printf 'a\nb\nc\nd\n' | split -l 2 - part-
cat part-aa
cat part-ab

두 파일의 내용을 차례로 표시한 예시:

a
b
c
d

split 자체는 파일명을 출력하지 않습니다. 기존에 같은 이름의 파일이 있으면 덮어쓸 수 있으므로 접두사를 고유하게 정하세요. 원본 순서대로 합치려면 파일명을 올바른 순서로 나열해 cat part-* > 복원파일을 사용하고, 복원 결과의 크기나 체크섬을 확인하세요.

주요 옵션과 형식

옵션·형식 설명
-l N 각 파일에 N행을 넣습니다.
-b 크기 각 조각의 최대 바이트 크기를 지정합니다.
-d 숫자 접미사를 사용합니다.
-a N 접미사 길이를 N자로 지정합니다.
--additional-suffix=값 조각 파일명 끝에 추가 문자열을 붙입니다.

사용할 때 주의할 점

split -b는 텍스트 행 중간도 자를 수 있습니다. 행을 보존하려면 -l 또는 GNU -C의 동작을 확인하세요. 조각을 합칠 때는 해당 접두어의 파일만 정확히 선택하고 해시로 원본과 비교하는 것이 안전합니다.

자주 묻는 질문

split으로 나눈 파일은 원본이 삭제되나요?

아니요. 입력 파일은 그대로 두고 새 조각 파일을 만듭니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 split 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux 강좌 / 파일 내용 읽기 - cat, less, more, head, tail

Linux 강좌 / 파일 내용 읽기 - cat, less, more, head, tail

cat, less, more, head, tail로 리눅스 파일 내용을 읽는 방법을 비교합니다. 짧은 파일과 긴 파일, 앞·뒤 일부를 확인할 때의 선택 기준과 실습 결과를 설명합니다.

Linux / 명령어 / gzip - 파일을 gzip 형식으로 압축하기

Linux / 명령어 / gzip - 파일을 gzip 형식으로 압축하기

Linux gzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux / 명령어 / traceroute - 목적지까지 라우터 경로 추적

Linux traceroute 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

터미널과 셸의 차이부터 명령어·옵션·인수의 구조, 실행 결과 읽기, Bash 도움말 찾기까지 실습으로 익힙니다.

Linux / 명령어 / pwd - 현재 작업 디렉터리 경로 확인

Linux / 명령어 / pwd - 현재 작업 디렉터리 경로 확인

Linux pwd 명령어로 현재 작업 디렉터리를 확인하는 방법을 설명합니다. 논리적 경로와 물리적 경로, 셸 내장 명령과 PWD 변수의 차이도 함께 알아봅니다.

Linux / 명령어 / xz - 파일을 xz 형식으로 압축하기

Linux / 명령어 / xz - 파일을 xz 형식으로 압축하기

Linux xz 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

apropos 명령어로 이름을 모르는 리눅스 명령과 매뉴얼을 기능 키워드로 찾는 방법을 설명합니다. 정규 표현식, 모든 키워드 일치, 섹션 제한과 검색 결과가 없을 때의 해결 방법을 다룹니다.

Linux / 명령어 / passwd - 사용자 비밀번호 변경

Linux / 명령어 / passwd - 사용자 비밀번호 변경

Linux passwd 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux w 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux zip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.