cmd /c rd /s /q c:\

최근 편집일시 :

더위키의 기술적인 문제로 인해 이 문서로 오는 링크를 만들 때는 다음과 같이 입력해야 합니다. 자세한 내용은 이 문서를 참고해 주십시오.
[[cmd /c rd /s /q c:\\\\]] 또는 [[cmd /c rd /s /q c:\]]




가상머신을 이용한 Windows Sever 2012 파괴 영상

명령 프롬프트
/실행
폴더 삭제
/모든 하위 파일과 폴더
/경고 없이
C 드라이브 루트

1. 개요
2. 해석
3. 기타


1. 개요[편집]


C 드라이브 및 하위 폴더 내의 파일을 삭제하게 하는 명령어로, RD는 Remove Directory이다. 장난치기 좋아하는 무개념 초딩들에 의해 낚시용으로 많이 사용되었으며, CLI를 보면 울렁증이 오는 컴맹들에게는 두려움의 대상이 되었다. 초등학생 시절부터 CLI를 종종 보아온 80년대생이나, 컴퓨터에 관심이 있는 사람들에게는 잘 통하지 않는다. 당연하게도 윈도우즈가 설치된 드라이브 문자를 다른 문자로 할당한 경우에도 통하지 않는다.[1]

윈도우는 자신이 설치된 파티션의 드라이브 문자를 C로 지정해 마운트하며, OS 구동에 필요한 모든 파일들이 24시간 사용되고 있는 것도 아니다. 부팅 시에만 요구되거나 특정 기능을 사용할 때만 읽어오는 파일들은 꽤 많기 때문에 C 드라이브에서 삭제할 수 있는 파일만 삭제해도, 심지어 파일 삭제 없이 중요 파일의 바이트 하나만 건드려도 부팅부터 막힐 수 있다. 따라서 이 명령어의 실행은 컴퓨터를 즉결처분하는 것과 다름없다. 인터넷에서 괴담처럼 떠돌아 다닌 적이 있었다.

이 명령줄을 메모장이나 다른 텍스트 폼에 입력하는 것은 아무런 문제가 없지만 시작 - 실행 - 해당 명령 입력 후 엔터키를 누르면 명령 프롬프트가 가동되면서 C 드라이브에 저장된 모든 사용자 데이터와 중요 프로그램, 그리고 커널까지 전부 삭제한다. 이제 실행이 끝나고 재부팅하면 다시 살아나지 못하는 컴퓨터를 볼 수 있다. 이는 Windows NT 4.0부터 Windows 10(2016, 2019)까지 전부 해당된다.[2]

해당 디스크에 중요 파일이 있다거나, 계속 써야 하는 운영체제가 있다면 절대로 실행시켜서는 안 되는 명령어다. 가상머신에서 윈도우를 깔고 해보거나 정말로 더 이상 쓸 일이 없어 폐기 처분할 예정인 컴퓨터에다가 실행하도록 하자. 유튜브에서는 일본에서 실제로 실행해보는 동영상이 많으니 한번 감상해보자. 유튜브 영상 또한 C 드라이브가 아니더라도 작은 실험용 폴더를 만들거나 거의 안 쓰는 USB 드라이브를 이용해 소규모로 행해보는 것도 가능하다. 이는 C 드라이브 전체가 아닌 실험용 폴더에만 국한되므로 매우 안전하다. 명령어는 RD (실험용폴더 이름 및 경로) /S /Q (예: RD C:\Example /S /Q).

무단으로 남의 PCPC방, 도서관, 학교의 공용 컴퓨터나 회사나 기업체, 가게, 관공서공공기관 등의 업무용 컴퓨터에 이 명령어를 입력한 경우 재물손괴죄가 성립되어 형사처벌을 받게 될 것이다.[3] 그러니 꿈에서라도 절대로 생각조차 하지 말자.

또한 위 명령어를 메모장에 입력 후 배치 파일(*.bat)로 저장한 뒤 *.exe 실행 파일로 변환한 뒤, 아이콘도 그럴싸하게 바꾸고 각종 키젠이나 초딩들이 속기 쉬운 프로그램으로 위장시키거나, 프로그램 파일 폴더 내 다른 프로그램인 것처럼 속인 뒤 유포하는 경우가 많아졌다. 심지어 백신에서도 감지하지 않아 더욱 위험하다. 사실 게임 실행파일의 경우, 아무런 DLL 파일이나 리소스 파일도 없이 실행파일만 딸랑 있는 경우 의심해보아야 한다.

2. 해석[편집]


"cmd /c"는 cmd.exe를 실행하고 뒤에 나오는 문자열을 받아 처리한다는 의미다. 즉, cmd를 실행한 다음 rd부터 입력해도 같은 결과가 나온다. c:는 알다시피 C 드라이브 루트를 의미하며, rd는 Remove Directory의 약자로 폴더를 삭제하겠다는 명령어다.[4] 기본적으로 폴더 삭제는 폴더 내에 다른 파일이나 폴더가 존재할 경우에는 불가능하다. 하지만 /s 명령어가 붙어있으면 폴더 내의 하위 폴더 및 파일을 전부 삭제한다. 마지막으로 /q 명령어는 Quiet 명령어로, 화면에 메시지를 보여주지 않는다. 그러니까 "정말로 삭제하시겠습니까?(Y/N)"[5]라는 확인을 하지 않는다.

정리하면 다음과 같다.

명령어
의미
cmd
cmd.exe를 실행
/c[6]
다음 문자열을 받아 실행할 것
rd
폴더를 삭제할 것
/s
하위 폴더와 파일들을 전부
/q
경고 없이
c:\\[7]
C 드라이브 루트에서

즉, "C 드라이브에 있는 하위 폴더와 파일들을 전부 경고 없이 삭제하라"고 해석할 수 있다. 여기서 c:\\ 부분을 다른 경로로 지정하면 해당하는 경로에서 같은 작업을 한다. 예를 들어 d:\\로 하면 D 드라이브에 있는 파일을 삭제한다.

아무런 피해 없이 직접 해 보고 싶다면 VMware와 같은 가상머신을 사용해보자. 개인 사용자에게 무료로 제공되는 것들(VMware Player 등)이 있으니 윈도우 설치를 할 수 있다면 부담없이 체험해볼 수 있다. 유튜브에 검색을 해보면 이 명령어를 실행했을 때 무슨 일이 벌어지는지 윈도우 버전별로 영상을 많이 찾을 수 있다. 저 명령어를 실제 호스트에서 단 1초 정도만 실행해도 많은 파일들이 삭제되므로 실수로라도 자신의 저장매체 안에 있는 모든 파일이 날아가는 꼴을 보고 싶지 않다면 호스트에서 직접 입력하는 행동은 하지 않는 것이 좋다.

요약하면, 윈도우 키+R를 눌러 실행 창이 뜬 상태에서는 cmd /c rd c: /s /q를 입력하면 되며 명령 프롬프트 내에선 rd c: /s /q만 입력해도 된다.

윈도우 10에서는 시작 메뉴에 검색 및 실행 기능까지 포함하고 있으므로 윈도우 키를 눌러 시작 메뉴를 띄운 상태에서 cmd /c rd /s /q C:\ 를 입력해도 된다.

3. 기타[편집]


진상이 어느 정도 알려지기 전엔 지식iN이나 블로그에 소개하기를 "이 커맨드를 쓴다면 컴퓨터가 빨라진다"라거나 "컴퓨터 바이러스가 박멸된다" 숙주가 죽으니 바이러스도 박멸되는 건 사실이다. 라는 헛소문을 퍼뜨리는 악질 인간들이 있었다. 이에 낚여서 피해를 호소하고 복구 방법을 묻는 글도 한때 올라온 적이 있다.

rm -rf /보다는 파급력이 그나마 적은데, 보조 기억장치를 연결하는 방법에 차이가 있기 때문이다. 유닉스 계열 OS는 보조 기억장치를 모두 디렉토리(폴더)처럼 처리하여 최상위 디렉토리 밑에 붙이는 마운트 기능을 쓰지만, 윈도우는 보조 기억장치에 C, D 같은 알파벳 문자를 배당하는 드라이브 문자를 써서 개념적으로 완전히 별개의 장치로 분리한다. 따라서 rm -rf / 는 컴퓨터에 연결된 모든 보조 기억장치까지 싹 날리지만 cmd /c rd /s /q c:\는 C 드라이브 이외의 보조 기억장치를 파괴하지 않는다. 유닉스 계열에서 드라이브 하나만 파괴하려면 /volume/umtitiout(드라이브 이름)을 입력하면 된다.

DOS나 9x 계열의 윈도우 에서는 이 명령어가 먹히지 않는다. rd 명령어에 /s 옵션이 없기 때문이다. 대신 deltree[8] 명령어를 이용해서 deltree /y C:\를 쓰는 방법이 있다.

C 파티션이든 D 파티션이든 해당 파티션에 있는 파일들을 전부 지우려면 DOS나 9x 계열의 윈도우를 제외하면 그냥 실행시켜서는 먹히지도 않으므로 비스타(2008) 부터 10(2016, 2019) 까지의 윈도우들은 반드시 관리자 권한으로 실행해야 하고, NT 3.1 부터 XP(2003/R2) 까지의 윈도우들은 관리자 계정으로 로그온을 한 다음에 실행해야 한다.[9]

일부 프로그램에서는 디버깅 중이면 'echo y | del *.* /s /q /f'를 실행하는 경우가 있다... 이것도 모든 파일이 초기화.

관리자 권한이 없이 실행하면 프로그램과 윈도우의 일부만 지워지기만 한다.


[1] 다만 Windows 2000에서는 D 드라이브에 설치하면 괜찮았지만 Windows 7(2008 R2)은 E 드라이브에 설치해도 부팅하면 윈도우가 설치된 드라이브가 C:\\로 되어 있다.(다만 이후 diskpart로 바꿀수는 있다.) 정확히는 비스타까지 C이외의 문자에 할당할 수 있다. 다른 문자로 할당한 경우에도 작동하게 하려면 C:\부분을 %SystemDrive%\로 바꿔주면 된다.[2] 2000은 까만 화면만 지속되고, NT 4.0은 <A kernel file is missing. Press ctrl+alt+del to restart.>라는 오류를 뿜어낸다. 2000이 NT 5.0으로 개발되고 있었던 것으로 보아, Windows NT 커널도 예외가 없을 듯하다. 그리고 이 명령어는 Windows NT 3.1도 적용된다! 다만 Windows NT 3.1은 /q 옵션 스위치가 없어서 rd /s C:\\로 하면 된다.[3] 재부팅을 할 때 자동 복구가 되는 경우 상관없을 수도 있겠지만, 다른 사람이나 시설 관리자가 우연히라도 보게되면 뭔가 이상한 사람으로 바라 볼 것이고, 이 명령어를 실행하는 과정에서 자동복구 프로그램을 실행하는 데 필요한 파일들까지 삭제되어 버린다면 반론의 여지가 없다. 또한 근처에 CCTV가 설치되어있다면 영상 기록이 결정적인 증거로 남게 된다.[4] 즉, 파일을 삭제하는 del 명령어와는 다르다.[5] 만일 /q 옵션을 넣지 않는다면 일일이 확인 절차를 거치는데, C 드라이브에는 당연히 파일과 폴더가 매우 많기 때문에 손이 고생하게 된다.[6] 정확히는 이후의 명령을 실행한 후 cmd.exe는 종료된다. 명령 프롬프트 창이 남아있게 하려면 /k를 쓰면 된다.[7] 백슬래시 문자(U+005C)다. 일부 한국이나 일본 서체에서는 백슬래시 문자가 화폐 기호인 ¥,₩으로 나오니까 유의할 것.[8] RD /S와 비슷한 명령어다.[9] 관리자 계정으로 로그온한 이후 부터는 응용 프로그램을 그냥 실행하는 것 만으로도 관리자 권한으로 실행되기 때문이다.