English

shred — 파일 내용 안전 삭제

Linux / 파일 및 디스크 관리 / shred.html

파일 및 디스크 관리원문등록 2026-10-20T09:00:00+09:00

파일을 여러 번 덮어써 복구하기 어렵게 만드는 coreutils 삭제 도구.

기본 정보

명령어 이름shred
한 줄 소개파일을 여러 번 덮어써 복구하기 어렵게 만드는 coreutils 삭제 도구.
제공GNU coreutils (모든 Linux 배포판 기본 탑재)
공식 문서https://man7.org/linux/man-pages/man1/shred.1.html
지원 운영체제Linux, macOS, WSL
설치 여부기본 탑재 (별도 설치 불필요)
분류리눅스 파일·디스크 관리 (태그: 삭제, 보안, 덮어쓰기, coreutils)

이 명령어는 무엇인가?

shred는 파일을 삭제하기 전에 임의 데이터로 여러 번 덮어씁니다. 단순 rm과 달리 디스크에 남은 흔적을 줄이려는 목적으로 사용합니다.

저널링 파일시스템, SSD, 스냅샷 환경에서는 덮어쓴 위치가 실제 물리 블록과 다를 수 있어 완전한 삭제를 보장하지 않습니다. 이런 환경에서는 전체 디스크 암호화가 더 확실합니다.

어떤 문제를 해결하는가?

  • 민감한 파일을 복구하기 어렵게 삭제해야 할 때
  • 스크립트에서 임시 파일을 확실히 지워야 할 때
  • 기존 파일을 0으로 덮어쓰고 싶을 때
  • 삭제 전에 덮어쓰기 횟수를 지정할 때

주요 기능

반복 덮어쓰기

-n 옵션으로 덮어쓰기 횟수를 지정합니다(기본 3회).

  • 활용 상황: 민감 파일 삭제 직전
  • 얻는 결과: 덮어쓴 뒤 삭제된 파일
  • 제한 사항: SSD에서는 마모 평준화 때문에 효과가 제한적입니다.

0으로 덮어쓰기

-z 옵션은 마지막에 0을 채워 흔적을 감춥니다.

  • 활용 상황: 덮어쓴 흔적을 남기고 싶지 않을 때
  • 얻는 결과: 0으로 채워진 뒤 삭제된 파일
  • 제한 사항: 전체 디스크에는 별도 도구가 더 적합합니다.

파일 삭제까지 수행

-u 옵션은 덮어쓴 후 파일을 실제로 삭제합니다.

  • 활용 상황: 덮어쓰기와 삭제를 한 번에 처리할 때
  • 얻는 결과: 디렉토리에서 사라진 파일
  • 제한 사항: 덮어쓰기 도중 중단되면 파일이 남을 수 있습니다.

설치 및 실행

설치 여부 확인

shred --version

sudo apt install coreutils # Debian/Ubuntu sudo dnf install coreutils # Fedora

실제 사용 예제

덮어쓴 뒤 삭제

7회 덮어쓰고 마지막에 0으로 채운 뒤 삭제합니다.

shred -n 7 -z -u secret.key

전체 디스크 덮어쓰기 경고

장치를 직접 지정하면 모든 데이터가 지워지므로 대상 확인이 필수입니다.

lsblk
# destructive: overwrite the whole device only after confirming the name
shred -n 1 -z /dev/sdb