#!/bin/bash # 사용법 출력 함수 print_usage() { echo "사용법: $0 <삭제할_파일_개수>" echo "예: $0 3" exit 1 } # 명령행 인수 확인 if [ "$#" -ne 1 ]; then print_usage fi # 디렉토리 경로 입력 dir="/home/saanghaa/aws/s3sync" count=$1 # 디렉토리 존재 확인 if [ ! -d "$dir" ]; then echo "디렉토리가 존재하지 않습니다." exit 1 fi # 디렉토리로 이동 cd $dir # 디렉토리 내 파일/디렉토리 목록을 배열에 저장 files=(*) # 확인할 파일 수가 실제 파일 수보다 많은지 확인 if [ "$count" -gt "${#files[@]}" ]; then echo "경고: 삭제할 파일 수가 실제 파일 수보다 많습니다." echo "현재 디렉토리의 파일 수: ${#files[@]}" print_usage fi # 삭제할 파일 수 만큼 반복 for (( i=0; i<$count; i++ )); do # 무작위 인덱스 생성 index=$((RANDOM % ${#files[@]})) # 파일 이름 및 용량 출력 echo "파일이 삭제되었습니다: ${files[$index]}, 용량: $(du -sh ${files[$index]} | cut -f1)" # 파일/디렉토리 삭제 rm -rf ${files[$index]} # 파일/디렉토리 목록에서 삭제 unset 'files[$index]' files=("${files[@]}") done