--- title: shred — 파일 내용 안전 삭제 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 파일을 여러 번 덮어써 복구하기 어렵게 만드는 coreutils 삭제 도구. tags: 프로그램, 파일 및 디스크 관리, shred --- 파일을 여러 번 덮어써 복구하기 어렵게 만드는 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 ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/shred.html