37 lines
998 B
Bash
37 lines
998 B
Bash
#!/bin/bash
|
|
|
|
# 사용법 출력 함수
|
|
print_usage() {
|
|
echo "사용법: $0 <디렉토리> <파일개수> <최소크기(MB)> <최대크기(MB)>"
|
|
echo "예: $0 ~/myfiles 5 2 5"
|
|
exit 1
|
|
}
|
|
|
|
# 명령행 인수 확인
|
|
if [ "$#" -ne 4 ]; then
|
|
print_usage
|
|
fi
|
|
|
|
# 디렉토리 확인 및 이동
|
|
output_directory=$1
|
|
if [ ! -d "$output_directory" ]; then
|
|
echo "오류: 지정된 디렉토리가 존재하지 않습니다."
|
|
exit 1
|
|
fi
|
|
|
|
# 스크립트 실행 디렉토리로 이동
|
|
cd "$output_directory"
|
|
|
|
# 파일 개수 및 크기 설정
|
|
num_files=$2
|
|
min_file_size_mb=$3
|
|
max_file_size_mb=$4
|
|
|
|
# 무작위 파일 생성
|
|
for ((i=1; i<=num_files; i++)); do
|
|
random_filename=$(mktemp -u XXXXXXXXXX)
|
|
file_size_mb=$((min_file_size_mb + RANDOM % (max_file_size_mb - min_file_size_mb + 1)))
|
|
dd if=/dev/urandom of="${random_filename}.txt" bs=${file_size_mb}M count=1 status=none
|
|
echo "무작위 파일이 생성되었습니다: $output_directory/${random_filename}.txt (크기: ${file_size_mb}MB)"
|
|
done
|