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 사용률 – 대용량 파일에 비효율적 | 느림 | 암호화 테스트 랜덤 데이터 필요 시 보안 관련 시뮬레이션 |