Ubuntu – Dummy File 더미 파일 생성

dd

# 1GB 크기의 더미 파일 생성 (img는 임시)
dd if=/dev/zero of=dd_dummy_file.img bs=1G count=1

# 500MB 크기의 더미 파일 생성 (img는 임시)
dd if=/dev/zero of=dd_dummy_file.img bs=500M count=1

dd if=/dev/zero of=dd_dummy_file.img bs=500M count=1

dd: 유틸리티의 이름

if=/dev/zero: 입력 파일(input file)을 지정

  • /dev/zero 무한히 0을 생성하는 특수 파일
  • /dev/urandom 넌블로킹 방식으로 빠르게 무작위 데이터를 생성
  • /dev/random 고품질의 무작위 데이터를 생성하지만, 엔트로피가 부족할 경우 출력이 지연

of=dummy_file.img: 출력 파일(output file)을 지정, dummy_file.img라는 이름의 파일로 데이터를 기록

bs=1G: 블록 크기(block size)를 설정, 1GB 크기의 블록을 사용

count=1: 블록의 개수를 설정, 1개의 블록만 기록

fallocate

# 1GB 크기의 더미 파일 생성 (img는 임시)
fallocate -l 1G fallocate_dummy_file.img

# 500MB 크기의 더미 파일 생성 (img는 임시)
fallocate -l 500M fallocate_dummy_file.img

-l 옵션은 생성할 파일의 크기를 지정

truncate

# 1GB 크기의 더미 파일 생성 (img는 임시)
truncate -s 1G dummy_file.img

base64

# 1GB 크기의 더미 파일 생성 (img는 임시)
base64 /dev/urandom | head -c 1G > dummy_file.img

base64 /dev/urandom | head -c 1G > dummy_file.img

\base64 /dev/urandom:

  • /dev/zero 무한히 0을 생성하는 특수 파일
  • /dev/random 넌블로킹 방식으로 빠르게 무작위 데이터를 생성
  • /dev/urandom 고품질의 무작위 데이터를 생성하지만, 엔트로피가 부족할 경우 출력이 지연

base64: 무작위 데이터를 base64 인코딩 형식으로 변환

base64 인코딩은 이진 데이터를 텍스트 형식으로 인코딩

| (파이프라인):

  • 파이프라인(|)을 사용하여 첫 번째 명령어의 출력을 다음 명령어의 입력으로 전달

head -c 1G:

  • head: 파일의 처음 부분을 출력하는 명령어
  • -c 1G: 1GB(기가바이트) 크기의 데이터를 읽어옵니다. 여기서 1G는 1GB를 의미

> (리디렉션):

  • > 기호는 명령어의 출력을 파일로 리디렉션, 기존 파일을 덮어쓰는 방식

dummy_file.img:

  • 출력 데이터를 저장할 파일 이름입니다. 여기서는 dummy_file.img라는 이름의 파일로 데이터를 저장

명령어 비교 표

도구특징장점단점성능용도
dd전통적인 유닉스 도구, 저수준 블록 복사– 높은 호환성
– 다양한 입출력 옵션
– 시스템 전반에 걸쳐 안정적
– 상대적으로 느림
– 리소스 사용량 높음
중간시스템 진단
대용량 파일 생성
디스크 성능 테스트
fallocate파일 시스템 레벨 할당가장 빠른 방식
– 최소 시스템 리소스 사용
– 실제 디스크 공간 즉시 할당
– 일부 파일 시스템에서 미지원
실제 데이터 미기록
매우 빠름빠른 대용량 파일 생성
테스트 환경 준비
truncate파일 크기 조작에 특화– 매우 간단한 명령어
– 최소 시스템 오버헤드
– 빠른 실행
실제 데이터 없음
– 일부 제한된 옵션
빠름빠른 파일 크기 조정
임시 파일 생성
base64랜덤 데이터 생성– 실제 랜덤 데이터 생성
암호화된 데이터 유사
– 생성 속도 느림
– 높은 CPU 사용률
– 대용량 파일에 비효율적
느림암호화 테스트
랜덤 데이터 필요 시
보안 관련 시뮬레이션

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤