S3에 대한 AWS CLI 명령어를 공부해보자!

2026. 5. 5. 22:26·디지털 포렌식/기타 추가 공부

https://inpa.tistory.com/entry/AWS-CLI-%F0%9F%93%9A-S3-CLI-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A2%85%EB%A5%98-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC

 

[AWS] 📚 S3 - CLI 명령어 종류 💯 총정리

AWS S3 CLI 명령어 지금까지 S3에 버킷을 생성하고 파일을 저장하려면 웹브라우저 콘솔 화면에 가서 일일히 화면을 눌러 적용해야 했다. 기능상에는 문제는 없지만 웹서비스 자체가 조금 느리다는

inpa.tistory.com


AWS S3 CLI 명령어 총정리

📦 버킷 명령어

버킷 생성 (mb)

aws s3 mb s3://버킷명

버킷 목록 조회 (ls)

aws s3 ls

버킷 삭제 (rb)

# 기본 삭제 (버킷이 비어 있어야 함)
aws s3 rb s3://버킷명

# 내용물 포함 강제 삭제
aws s3 rb s3://버킷명 --force

📄 파일 명령어

파일 목록 조회 (ls)

aws s3 ls s3://버킷명

파일 이동 (mv)

aws s3 mv 파일명 s3://버킷명

파일 삭제 (rm)

aws s3 rm s3://버킷명/파일명

파일 복사 (cp)

# 로컬 → S3 업로드
aws s3 cp 파일명 s3://버킷명

# 파일명 변경하여 업로드
aws s3 cp 파일명 s3://버킷명/변경할파일명

# 특정 폴더에 업로드
aws s3 cp 파일명 s3://버킷명/폴더명/

# S3 → 로컬 다운로드
aws s3 cp s3://버킷명/파일명 ./

# S3 → S3 복사
aws s3 cp s3://버킷명/파일명 s3://버킷명/폴더명/

디렉터리 동기화 (sync)

# S3 → 로컬 동기화 (다운로드)
aws s3 sync s3://버킷명/ ./

# 로컬 → S3 동기화 (업로드)
aws s3 sync ./ s3://버킷명/

⚙️ 명령어 옵션

하위 디렉터리 포함 (--recursive)

# 하위 디렉터리까지 전체 복사
aws s3 cp . s3://버킷명 --recursive

# 하위 디렉터리까지 전체 삭제
aws s3 rm s3://버킷명/ --recursive

파일 제외 (--exclude)

# .txt 파일 제외하고 복사
aws s3 cp . s3://버킷명 --exclude "*.txt"

# .sh 파일 제외하고 삭제
aws s3 rm --recursive --exclude "*.sh" s3://버킷명/

파일 포함 (--include)

# .txt 파일만 포함하여 복사
aws s3 cp . s3://버킷명 --include "*.txt"

# 특정 날짜의 로그만 다운로드
aws s3 cp s3://버킷명/nginx/ . --recursive --exclude "*" --include "access*2016-10-23*"

# 특정 패턴 파일만 업로드
aws s3 cp /Images s3://버킷명/ --recursive --exclude "*" --include "image-*"

명령어 테스트 (--dryrun)

# 실제 실행하지 않고 결과만 미리 확인
aws s3 rm s3://버킷명/폴더명/ --dryrun

🔒 권한 명령어

ACL 권한 설정 (--acl)

옵션 설명
private 아무도 접근 불가 (기본값)
public-read 읽기 권한 공개
public-read-write 읽기/쓰기 권한 공개
aws s3 cp 파일명 s3://버킷명 --acl public-read

grants 권한 설정 (--grants)

# 모든 사람에게 읽기 권한 부여 후 업로드
aws s3 cp 파일명 s3://버킷명/폴더/파일명 \
  --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers

🔧 고급 명령어 (s3api)

버킷 관련

# 버킷 생성
aws s3api create-bucket \
  --bucket 버킷명 \
  --region ap-south-1 \
  --create-bucket-configuration LocationConstraint=ap-south-1

# 버킷 리전 확인
aws s3api get-bucket-location --bucket 버킷명

# 버킷 객체 전체 조회 (JSON)
aws s3api list-objects-v2 --bucket 버킷명

# 버저닝 사용 여부 확인
aws s3api get-bucket-versioning --bucket 버킷명

# 버저닝된 객체 목록 조회
aws s3api list-object-versions --bucket 버킷명

객체 관련

# 객체 메타데이터 확인
aws s3api head-object --bucket 버킷명 --key 파일명

# 객체 태그 조회
aws s3api get-object-tagging --bucket 버킷명 --key 파일명

# 특정 버전 객체 다운로드
aws s3api get-object --bucket 버킷명 --key 파일명 --version-id 버전ID 저장파일명

🔗 Presigned URL 생성

# 특정 객체에 대한 임시 접근 URL 생성
aws s3 presign s3://버킷명/파일명 --expires-in 만료시간(ms)

♻️ 생명 주기(Lifecycle) 관리

# 생명 주기 등록 (30일 후 만료 예시)
aws s3api put-bucket-lifecycle --bucket 버킷명 \
  --lifecycle-configuration \
  '{"Rules":[{"Expiration":{"Days":30},"ID":"Retention","Filter":{"Prefix":""},"Status":"Enabled"}]}'

# 생명 주기 확인
aws s3api get-bucket-lifecycle --bucket 버킷명

# 생명 주기 삭제
aws s3api delete-bucket-lifecycle --bucket 버킷명
 
 

'디지털 포렌식 > 기타 추가 공부' 카테고리의 다른 글

[인코그니토] 컨퍼런스 참가!  (0) 2026.05.11
[AWS] Amazon ECR의 개념 및 구성 요소  (0) 2026.04.28
AES-256 암호와 그 모드들!  (0) 2026.03.30
LSB(Least Significant Bit) 변조란 무엇일까?  (0) 2026.03.22
2023 DFC 102번 풀어보자  (0) 2026.02.07
'디지털 포렌식/기타 추가 공부' 카테고리의 다른 글
  • [인코그니토] 컨퍼런스 참가!
  • [AWS] Amazon ECR의 개념 및 구성 요소
  • AES-256 암호와 그 모드들!
  • LSB(Least Significant Bit) 변조란 무엇일까?
maysokuli
maysokuli
성실히 열심히 꾸준히 / 디지털 포렌식 공부 중
  • maysokuli
    정보보호 소쿠리
    maysokuli
  • 공지사항

    • 분류 전체보기
      • 디지털 포렌식
        • 기술 스터디
        • 인프런 [기초부터 따라하는 디지털포렌식]
        • 드림핵 [Digital Forensics Basi..
        • 디스크포렌식(이별)
        • 심화팀 - 클라우드
        • 워게임 풀이
        • 기타 추가 공부
      • 개인정보보호
        • 기술 스터디
        • 개인정보보호 강의 수강
        • 동향 스터디
        • 기타 추가 공부
  • 최근 글

  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.6
maysokuli
S3에 대한 AWS CLI 명령어를 공부해보자!
상단으로

티스토리툴바