다운로드 자료 모음 복구는 기본 스크립트 작성을 익힌 학습자를 위한 Bash 실습 프로젝트입니다. 행사 담당자가 누락되거나 손상된 자료를 복구하도록 돕고 올바른 파일과 개인 메모는 보존합니다. 실제로 사용할 수 있는 로컬 PDF·텍스트 자료 모음과, 다른 지원 대상 자료 모음에도 다시 실행할 수 있는 스크립트를 완성합니다.
2개의 가이드 실습에서 독립적으로 제공된 신뢰할 수 있는 SHA256 목록을 바탕으로 현황을 정리한 뒤, 그 결과에 따라 HTTP로 필요한 자료만 복구합니다. 1개의 독립 챌린지는 자료 구성과 손상되거나 누락된 항목을 바꿉니다. 각 실습에 자체 파일과 로컬 원본 서비스가 준비되므로 이전 실습의 파일은 필요하지 않습니다.
학습 내용
과정을 마치면 다음을 수행할 수 있습니다.
- 실제 파일 바이트를 독립된 기준과 비교하여 각 필수 항목을 일치, 누락, 불일치로 분류합니다.
- 공백을 포함한 파일명을 보존하고 유효한 빈 자료를 구분합니다.
- curl과 올바르게 인코딩한 요청 매개변수로 복구가 필요한 항목만 다운로드합니다.
- 임시 후보 파일을 검증한 뒤 대상 파일을 교체하고 자신이 만든 임시 파일만 정리합니다.
- 올바른 파일과 관련 없는 메모의 바이트, 권한 모드, 소유자, 수정 시간을 보존합니다.
- 다운로드 요청 없이 완료된 복구를 다시 실행하고 실제 로컬 PDF·텍스트 자료를 열고 다운로드합니다.
추천 대상
모든 파일을 다시 다운로드하는 대신 어떤 파일을 복구할지 판단하는 과정을 자동화하려는 Bash 학습자에게 적합합니다.
선수 지식: Shell for Beginners를 마쳤거나 터미널 경로, 스크립트 인수, 조건문, 반복문에 대한 동등한 경험이 필요합니다. 가이드 실습에서 SHA256, 파일명 해석, 종료 상태, curl, 임시 후보 파일, 정리에 사용하는 trap을 설명합니다. PowerShell이나 오디오 미리 듣기 프로젝트를 먼저 학습할 필요는 없습니다.
학습 환경: LabEx는 필요한 도구, 직접 만든 합성 자료, Workspace 터미널, Download Desk 페이지가 준비된 브라우저 기반 Linux를 제공합니다. 다운로드 원본은 통제된 로컬 HTTP 서비스입니다. 외부 계정이나 로컬 소프트웨어 설치가 필요하지 않습니다. 인터페이스 레이블과 명령 출력은 영어로 유지됩니다.
자주 묻는 질문
체크섬이 일치하면 파일 게시자를 증명하나요?
아니요. 독립적으로 제공되었으며 신뢰한다고 가정한 목록과 바이트를 비교합니다. 해시값은 그 기준과의 차이를 찾지만 게시자의 신원을 인증하지는 않습니다. 손상된 파일에서 기준을 다시 만들면 안 됩니다.
다운로드가 실패하면 어떻게 되나요?
HTTP 거부, 전송 중단, HTTP 200과 함께 반환된 잘못된 내용으로 대상 파일을 교체하면 안 됩니다. 게시는 파일별로 진행되므로 나중 항목이 실패해도 앞서 검증한 복구 결과는 남을 수 있습니다. 전체 자료 모음의 트랜잭션이나 충돌 후 복구를 보장하는 방식은 아닙니다.
두 번째 실행에서는 올바른 파일도 다시 다운로드하나요?
아니요. 유효한 빈 자료를 포함해 일치하는 파일은 보존합니다. 완성된 자료 모음에 대한 두 번째 실행은 다운로드 요청을 전혀 하지 않으며 자료 모음과 개인 메모를 보존합니다.

