리눅스 명령어 split 사용법 및 4가지 옵션

리눅스 명령어 split는 큰 파일을 여러 개의 작은 파일로 나누어야 할 때 사용합니다. 특히 시스템 로그 파일이나 대용량 데이터 파일을 처리할 때, 파일 크기가 너무 크면 관리가 어렵거나 일부 프로그램에서 정상적으로 처리되지 않을 수 있습니다. 이번 포스팅에서는 split 명령어의 기본 사용법과 주요 옵션, 그리고 활용 팁에 대해 알아보겠습니다.

리눅스 명령어 split란?

split은 하나의 파일을 지정된 크기 또는 줄 수에 따라 여러 개의 작은 파일로 나누는 명령어입니다. 기본적으로 리눅스 시스템에서 제공하는 유틸리티로, 대용량 파일을 나누어 관리하거나 전송할 때 매우 유용합니다.

기본 사용법

split 명령어의 기본적인 사용법은 아래와 같습니다.

split [options] filename [prefix]
ShellScript

예를 들어, sample.txt라는 텍스트 파일을 여러 개의 작은 파일로 나누고 싶다면 다음과 같이 입력할 수 있습니다.

split sample.txt
ShellScript

위 명령어는 기본적으로 파일을 1000줄씩 나누어 여러 개의 파일을 생성합니다. 파일 이름은 xaa, xab, xac 등의 형식으로 자동 생성됩니다.

그림 1. 리눅스 명령어 split: 기본적으로 1000줄씩 나누어 저장
그림 1. 리눅스 명령어 split: 기본적으로 1000줄씩 나누어 저장

주요 옵션

split 명령어에는 다양한 옵션이 있으며, 이를 통해 파일을 나누는 방식과 파일 이름을 세부적으로 설정할 수 있습니다. 주요 옵션을 살펴보겠습니다.

줄 수로 나누기 (-l 옵션)

기본값은 1000줄이지만, 사용자가 원하는 줄 수로 조정할 수 있습니다. 파일을 특정한 줄 수로 나누고 싶을 때는 -l 옵션을 사용할 수 있습니다.

split -l 500 sample.txt
ShellScript

이 명령어는 sample.txt 파일을 500줄씩 나누어 파일을 생성합니다.

그림 2. 리눅스 명령어 split: -l 옵션으로 라인 수를 지정해서 나누기
그림 2. 리눅스 명령어 split: -l 옵션으로 라인 수를 지정해서 나누기

파일 크기로 나누기 (-b 옵션)

파일을 특정 크기로 나누고 싶다면 -b 옵션을 사용할 수 있습니다. 크기를 설정할 때는 K(킬로바이트), M(메가바이트), G(기가바이트) 등의 단위를 사용할 수 있습니다. 단위를 별도로 지정하지 않으면 바이트(bytes) 단위로 설정됩니다.

split -b 30K sample.txt
ShellScript

위 명령어는 sample.txt를 30KB 단위로 나누어 각각의 파일을 생성합니다.

그림 3. 리눅스 명령어 split: -b 옵션으로 용량을 지정해서 파일 크기로 나누기
그림 3. 리눅스 명령어 split: -b 옵션으로 용량을 지정해서 파일 크기로 나누기

나눌 파일의 접두사 설정 (-d 옵션)

파일 이름에 숫자나 알파벳 대신 다른 접두사를 지정하고 싶다면 -d 옵션을 사용할 수 있습니다.

split -d -b 50K sample.txt part_
ShellScript

이 명령어는 sample.txt를 50KB 단위로 나누어 part_00, part_01, part_02 등의 파일을 생성합니다.

그림 4. 리눅스 명령어 split: -d 옵션으로 나눌 파일의 접두사(prefix) 설정
그림 4. 리눅스 명령어 split: -d 옵션으로 나눌 파일의 접두사(prefix) 설정

나누어진 파일 병합하기

파일을 split 명령어로 나눈 후 다시 병합해야 할 경우, cat 명령어를 사용하여 간단하게 합칠 수 있습니다.

cat x* > merged.txt      # default
cat part_* > merged.txt  # with prefix
ShellScript

위 명령어는 xaa, xab, xac 등으로 나누어진 파일을 다시 하나의 파일로 병합하여 merged.txt로 저장합니다.

그림 5. 리눅스 명령어 split로 나눈 파일 cat 명령어로 병합하기
그림 5. 리눅스 명령어 split로 나눈 파일 cat 명령어로 병합하기

split 명령어의 유용한 활용 방법

split 명령어는 대용량 파일을 관리하는 데 유용한 도구입니다. 파일을 여러 개로 나누면 파일을 나누어 전송하거나 백업할 때 매우 편리합니다. 특히 다음과 같은 경우 유용합니다:

  • 네트워크 전송 시: 네트워크 전송 중에 큰 파일이 전송 오류로 인해 중단될 위험이 있습니다. 이때 파일을 나누어 전송하면 오류 발생 시 재전송할 부분만 다시 보내면 됩니다.
  • 저장소 용량 관리: 제한된 용량의 저장소를 사용할 때, 파일을 작은 단위로 나누어 필요한 부분만 저장하거나 백업할 수 있습니다.

주의 사항

  1. 파일을 나눌 때, 나눈 파일들이 원본 파일과 동일한 형식을 유지하지 않을 수 있습니다. 따라서 텍스트 파일이 아닌 다른 형식의 파일을 나눌 때는 주의해야 합니다.
  2. split 명령어로 나누어진 파일을 다른 시스템에서 사용하거나 전송할 때는 해당 파일이 다시 병합되어야 정상적으로 사용할 수 있습니다. 나누어진 파일을 전송하는 경우, 반드시 병합 방법을 안내하는 것이 좋습니다.
  3. 나눠진 파일이 많아지면 파일 관리가 복잡해질 수 있습니다. 파일의 접두사나 파일 이름을 체계적으로 관리하는 것이 중요합니다.

정리

리눅스 명령어 split는 대용량 파일을 나누어 관리하고 전송할 때 매우 유용한 도구입니다. 기본적인 사용법부터 다양한 옵션을 활용하면 파일을 원하는 크기나 줄 수로 쉽게 나눌 수 있으며, 접두사 설정 등을 통해 파일 이름도 손쉽게 관리할 수 있습니다. 나눈 파일을 병합하는 방법도 간단하므로, 파일 관리에 많은 도움이 될 것입니다. 이 명령어를 잘 활용하여 보다 효율적으로 리눅스 파일 관리를 해보세요.

참고자료

관련 포스트

Leave a Comment