리눅스에서 특정 크기의 파일을 만드는 방법
파일 업로드 기능을 개발하는 도중 파일 업로드 크기(Size) 제한 부분에 대해서 테스트가 필요하였다.
테스트를 위해서는 다양한 크기를 가진 파일들이 필요하였으며, 개발 장비에 여러 다양한 사이즈를 가진 파일들이 있으나
100MB(메가바이트) / 1GB(기가바이트) / 5GB(기가바이트)와 같이 정확한 크기를 가진 파일들이 필요하였다.
다행히도 리눅스(Linux)에서는 여러 명령어를 통해서 특정 크기의 파일을 만들 수 있다.
그럼 그 방법들은 하나하나 알아보도록 하자.
1. truncate 명령어 사용
truncate 명령어를 이용하여 100MB의 크기를 가진 파일 생성해보도록 하자.
디렉토리 안에 아무런 파일이 없는 상태에서 아래와 같은 명령어를 입력해보자.
- $ truncate -s 100M 100mb_test.txt
그럼 위와 같이 100MB를 가진 파일이 생성이 되었다.
truncate 명령어에 -s 옵션 후 "K, M, G, T" 혹은 "KB, MB, GB, TB"를 통해서 원하는 크기(Size)의 파일을 생성할 수 있다.
2. fallocate 명령어 사용
fallocate 명령어를 이용하여 1MB의 크기를 가진 파일 생성해보도록 하자.
fallocate 명령어 생성할 때는 크기를 바이트(Byte) 기준으로 지정해야 한다.
- 1MB = 1048576Byte = 1024 Byte * 1024 Byte
디렉토리 안에서 아래와 같은 명령어를 입력해보자.
- $ fallocate -l 1048576 1mb_test.txt
그럼 위와 같이 1MB를 가진 파일이 생성이 되었다.
fallocate 명령어에 -l 옵션 후 Byte 기준으로 원하는 크기(Size)의 파일을 생성할 수 있다.
반드시 바이트(Byte) 단위로 지정해야 한다는 것을 명심하도록 하자.
3. dd 명령어 사용
dd 명령어를 이용하여 500MB의 크기를 가진 파일 생성해보도록 하자.
아래와 같은 명령어를 입력해보자.
- $ dd if=/dev/urandom of=10mb_test.txt bs=10M count=1
그럼 위와 같이 10MB를 가진 파일이 생성이 되었다.
dd 명령어로는 옵션에 따라 위에 소개한 2개 명령어보다는 다른 역할로 많이 사용하고 있음에 따라, 가능하면 위에 소개한 2개 명령어를 이용하도록 하자.
4. head 명령어 사용
head 명령어를 이용하여 5MB의 크기를 가진 파일 생성해보도록 하자.
아래와 같은 명령어를 입력해보자.
- $ head -c 5M /dev/urandom > 5mb_test.txt
그럼 위와 같이 5MB를 가진 파일이 생성이 되었다.
이처럼 파일 원하는 혹은 특정 크기로 생성하는 방법을 알아보았다.
소개한 4가지 이외 다른 방법들도 있겠지만 필자는 1번 명령어(truncate) 나 4번 명령어(head)를 가장 많이 사용하며, 제일 편하다고 생각한다.
특히 head 명령어는 리눅스 이외 우분투나 맥 OS(MacOS)에도 존재함에 따라 좀 더 손쉽게 사용할 수 있다.
🌵댓글