자격증과 세미나, 프로그램 이야기를 주저없이 써봅니다.

Since 2008. 10.

세미나 및 발표회/윈도우 프론티어 2기

악성코드 대응 시, 필요한 도스 명령어와 활용 방법

럭키맨 운수 2010. 3. 18. 07:08

악성코드 대응시에 필요한 도스 명령어를 정리한 것으로 CMD(명령 프롬프트) 창에서 명령어 입력하면 됩니다. 출처는 제가 근무하고 있는 안철수연구소 임우림 선배님의 허락을 받고 올립니다.(http://blog.naver.com/lwl111/30079828062)

 

ATTRIB   파일 속성을 표시하거나 바꿉니다.
CD       현재 디렉터리 이름을 보여주거나 바꿉니다.
CLS      화면을 지웁니다.
COPY     하나 이상의 파일을 다른 위치로 복사합니다.
DEL      하나 이상의 파일을 지웁니다.
DIR      디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.
FIND     파일에서 텍스트 문자열을 찾습니다.
FINDSTR  파일에서 문자열을 찾습니다.
MD       디렉터리를 만듭니다.
MKDIR    디렉터리를 만듭니다.
MOVE     하나 이상의 파일을 한 디렉터리에서 다른 디렉터리로 옮깁니다.
RD       디렉터리를 지웁니다.
REN      파일 이름을 바꿉니다.
RENAME   파일 이름을 바꿉니다.
RMDIR    디렉터리를 지웁니다.


========================================================================
ATTRIB

파일 특성을 화면에 표시하거나 바꿉니다.

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[드라이브:] [경로] 파일이름]
       [/S [/D]]

  +   특성을 설정합니다.
  -   특성을 지웁니다.
  R   읽기 전용 파일 특성을 설정합니다.
  A   보관 파일 특성을 설정합니다.
  S   시스템 파일 특성을 설정합니다.
  H   숨김 파일 특성을 설정합니다.
  [드라이브:][경로][파일이름]
      ATTRIB 명령을 수행할 파일을 지정합니다.
  /S  현재 폴더와 모든 서브 폴더에 있는 파일을 처리합니다.
  /D  폴더를 함께 처리합니다.

 

========================================================================
CD

현재 디렉터리 이름을 보여주거나 바꿉니다.

CHDIR [/D] [드라이브:][경로]
CHDIR [..]
CD [/D] [드라이브:][경로]
CD [..]

  ..   상위 디렉터리로 바꿉니다.

특정 드라이브의 디렉터리를 표시하려면 'CD 드라이브:'를 입력하십시오.
현재 드라이브와 디렉터리를 표시하려면 매개 변수 없이 'CD'를 입력하십시오.

디렉터리 이외에 현재 드라이브도 바꾸려면 /D 스위치를 사용하십시오.

명령 확장을 사용하면 CHDIR은 아래와 같이 바뀝니다.

현재 디렉터리 문자열이 디스크 이름에 있는 것 같이 사용되도록
변환됩니다. 그러므로 CD C:\TEMP는 실제로, 이 디렉터리가 디스크에
있으면 현재 디렉터리가 C:\Temp로 설정됩니다.

CHDIR 명령은 스페이스를 분리 기호로 취급하지 않으므로 CD는
인용 부호로 이름을 에워싸지 않아도 이름에 스페이스를 가지고 있는
하위 디렉터리로 갈 수 있습니다.
예를 들면 다음 두 가지 경우는 모두 같습니다:

    cd \winnt\profiles\username\programs\start menu

    cd "\winnt\profiles\username\programs\start menu"

 

========================================================================
CLS

화면을 지웁니다.

CLS

 

========================================================================
COPY

여러 파일을 다른 위치로 복사합니다.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] 원본 [/A | /B]
     [+ 원본 [/A | /B] [+ ...]] [대상 [/A | /B]]

  원본         복사할 파일을 지정합니다.
  /A           ASCII 텍스트 파일임을 나타냅니다.
  /B           이진 파일임을 나타냅니다.
  /D           대상 파일이 암호화 없이 만들어지도록 허용합니다.
  대상         새 파일에 대한 디렉터리와/또는 파일 이름을 지정합니다.
  /V           새 파일이 올바르게 기록되었는지 확인합니다.
  /N           8.3 이름이 아닌 파일을 복사할 때, 짧은 파일 이름이 있으면
               그 이름을 사용합니다.
  /Y           이미 있는 대상 파일을 덮어쓸지를 확인하지 않습니다.
  /-Y          이미 있는 대상 파일을 덮어쓸지 확인하기 위해 묻습니다.
  /Z           다시 시작 모드에 있는 네트워크 파일을 복사합니다.

/Y 스위치는 COPYCMD 환경 변수에 이미 지정되어 있습니다.
이 설정은 명령줄의 /-Y 스위치에 의해 무시될 수 있습니다.
COPY 명령을 일괄 처리 스크립트에서 실행하지 않으면
기본적으로 이미 있는 파일을 덮어쓸지를 묻습니다.

파일을 한 파일에 붙여 넣으려면 원본에 여러 파일을 지정하고
(대표 문자 또는 파일1+파일2+파일3 형식을 사용하여)
대상에는 한 파일을 지정합니다.


========================================================================
DEL

하나 또는 그 이상의 파일을 삭제합니다.

DEL [/P] [/F] [/S] [/Q] [/A[[:]특성]] 이름
ERASE [/P] [/F] [/S] [/Q] [/A[[:]특성]] 이름

  이름         하나 이상의 파일이나 디렉터리를 삭제할 수 있습니다.
                 와일드카드를 사용하면 여러 파일을 삭제할 수 있습니다.
                 디렉터리를 지정한 경우 해당 디렉터리 내의 모든 파일을
                 삭제할 수 있습니다.
  
  /P            각 파일을 삭제하기 전에 확인 프롬프트를 보여줍니다.
  /F            읽기 전용 파일을 강제로 삭제합니다.
  /S            지정된 파일을 모든 하위 디렉터리에서 삭제합니다.
  /Q            조용한 모드, 글로벌 와일드카드에서 삭제해도 묻지 않습니다.
  /A            특성을 기준으로 삭제할 파일을 지정합니다.
  특성          R  읽기 전용 파일            S  시스템 파일
                H  숨김 파일                 A  기록  파일
                -  부정을 뜻하는 접두사

명령 확장을 사용하면 DEL과 ERASE는 아래와 같이 바뀝니다.

/S 스위치의 의미가 바뀌어, 찾지 못하는 파일이 아니라
지워진 파일을 보여줍니다.

 

========================================================================
DIR

디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.

DIR [드라이브:][경로][파일 이름] [/A[[:]특성]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]정렬 순서]] [/P] [/Q] [/S] [/T[[:]시간 필드]] [/W] [/X] [/4]

  [드라이브:][경로][파일 이름]
              나타낼 드라이브, 디렉터리 및/또는 파일을 지정합니다.

  /A          지정된 특성을 가진 파일을 보여줍니다.
  특성        D  디렉터리                   R  읽기 전용 파일
              H  숨김 파일                  A  기록 파일
              S  시스템 파일                -  부정을 뜻하는 접두사
  /B          최소 형식을 사용합니다 (머리말 정보나 요약 없음).
  /C          파일 크기에 1000단위로 분리 기호를 보여줍니다. 이것은 기본값
              입니다. 분리 기호를 표시하지 않으려면 /-C를 사용하십시오.
  /D          /W와 같으나 세로로 배열하여 보여줍니다.
  /L          소문자를 사용합니다.
  /N          파일 이름이 제일 오른쪽에 오도록 새로운 긴 목록 형식을
              사용합니다.
  /O          파일을 정렬된 순서로 보여줍니다.
  정렬순서    N  이름순(문자 순서)    S  크기순(작은 것 먼저)
              E  확장명순(문자 순서)  D  날짜/시간순(가장 이전 것 먼저)
              G  그룹 디렉터리 먼저         -  순서를 반대로 하는 접두 기호
  /P          정보가 한 화면에 꽉 차면 잠깐 멈춥니다.
  /Q          파일 소유자를 보여 줍니다.
  /S          지정한 디렉터리와 하위 디렉터리를 포함하여 보여줍니다.
  /T          정렬에 사용할 시간 필드를 지정합니다.
  시간필드   C  작성한 시간
              A  마지막 액세스한 시간
              W  마지막 기록한 시간
  /W          이름만 가로로 배열하여 보여줍니다.
  /X          8.3 파일 이름이 아닌 파일에 대한 짧은 이름을 보여줍니다.
              이 형식은 긴 이름 앞에 짧은 이름이 추가된 것으로 /N 형식과
              같습니다. 짧은 이름이 없으면 공백을 보여줍니다.
  /4          4자리수 연도를 표시합니다.

스위치를 DIRCMD 환경 변수로 미리 설정할 수 있습니다. 하이픈(-)을
스위치 앞에 접두 기호로 주면 미리 설정된 스위치에 우선합니다. (예, /-W)

 

========================================================================
FIND

파일에서 텍스트 문자열을 찾습니다.

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "문자열" [[드라이브:][경로]파일이름[ ...]]

  /V        지정한 문자열이 없는 줄을 표시합니다.
  /C        지정한 문자열이 있는 줄 수만을 표시합니다.
  /N        지정한 문자열이 있는 각 줄 앞에 줄 번호를 붙입니다.
  /I        대/소문자를 구별하지 않고 찾습니다.
  /OFF[LINE] 오프라인 속성 세트 파일을 건너뛰지 않습니다.
  "문자열"  찾을 문자열을 지정합니다.
  [드라이브:][경로]파일이름
            찾을 파일의 위치와 이름을 지정합니다.

경로가 지정되지 않으면, FIND는 프롬프트에서 입력되거나 다른 명령에서
파이프(|)된 텍스트에서 찾습니다.


========================================================================
FINDSTR

파일에서 문자열을 찾습니다.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
         [/F:파일][/C:문자열] [/G:파일] [/D:디렉터리 목록] [/A:색 속성] [/OFF[LINE]]
         문자열 [[드라이브:][경로]파일이름[ ...]]

  /B         패턴이 행의 첫부분에 있는지를 비교합니다.
  /E         패턴이 행의 끝부분에 있는지를 비교합니다.
  /L         찾는 문자열을 글자 그대로 사용합니다.
  /R         찾는 문자열을 정규식으로 사용합니다.
  /S         현재 디렉터리와 모든 하위 디렉터리에서 일치하는 파일을 찾습니다.
  /I         찾을 때 대/소문자를 구별하지 않습니다.
  /X         정확히 일치하는 줄만 보여줍니다.
  /V         일치하는 텍스트가 없는 줄만 보여줍니다.
  /N         일치하는 각 줄 앞에 줄 번호를 보여줍니다.
  /M         파일에 일치하는 텍스트가 있으면 파일 이름만 보여줍니다.
  /O         일치하는 각 줄 앞에 문자 오프셋을 보여줍니다.
  /P         인쇄할 수 없는 텍스트가 포함된 파일은 건너 뜁니다.
  /OFF[LINE] 오프라인 속성 세트 파일을 건너뛰지 않습니다.
  /A:속성    색 속성을 두자리 16진수로 지정합니다. "color /?"를 참조하십시오.
  /F:파일    지정된 파일에서 파일 목록을 읽습니다('/'는 콘솔에 해당됩니다).
  /C:문자열  지정된 텍스트를 글자 그대로 찾는 문자열로 사용합니다.
  /G:파일    지정된 파일로부터 찾는 텍스트를 받습니다('/'는 콘솔에 해당됩니다).
  /D:디렉터리    디렉터리 목록을 구분하는 세미콜론(;)를 찾습니다.
  문자열     찾을 텍스트.
  [드라이브:][경로]파일이름
             찾을 파일을 지정합니다.

/C 옵션을 사용한 경우가 아니면, 찾는 문자열을 여러 개 지정할 때
공백으로 분리하십시오. 예를 들면, 'FINDSTR "hello there" x.y' 명령을
입력하면 파일 x.y에서 "hello"나 "there"을 찾습니다.
반면에 'FINDSTR /C:"hello there" x.y' 명령을 입력하면 파일 x.y에서
"hello there"을 찾습니다.

정규식에 대한 참고 사항:
  .         와일드카드: 모든 문자
  *         반복: 문자나 클래스에 대하여 0번 이상 반복
  ^         행 위치: 행의 앞부분
  $         행 위치: 행의 끝부분
  [클래스]  문자 클래스: 세트에 있는 문자
  [^클래스] 역 클래스: 세트에 없는 문자
  [x-y]     범위: 특정 범위에 있는 문자
  \x        익스케이프: 메타 문자 x를 문자 그대로 사용
  \<xyz     단어 위치: 단어의 앞부분
  xyz\>     단어 위치: 단어의 끝부분

Findstr에서 사용 가능한 정규식은 온라인 명령을 참조하십시오.

 

========================================================================
MD

디렉터리를 만듭니다.

MKDIR [드라이브:]경로
MD [드라이브:]경로

명령 확장을 사용하면 MKDIR은 아래와 같이 바뀝니다.

필요한 경우 MKDIR은 경로 상에 중간 디렉터리를 만듭니다.
예를 들어, \a가 없다고 가정하면

    mkdir \a\b\c\d

는 확장을 사용하지 않는 경우의

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

와 같습니다.

 

========================================================================
MKDIR

디렉터리를 만듭니다.

MKDIR [드라이브:]경로
MD [드라이브:]경로

명령 확장을 사용하면 MKDIR은 아래와 같이 바뀝니다.

필요한 경우 MKDIR은 경로 상에 중간 디렉터리를 만듭니다.
예를 들어, \a가 없다고 가정하면

    mkdir \a\b\c\d

는 확장을 사용하지 않는 경우의

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

와 같습니다.


========================================================================
MOVE

파일을 옮기고 파일과 디렉터리 이름을 바꿉니다.

하나 이상의 파일을 옮기려면:
MOVE [/Y | /-Y] [드라이브:][경로]파일 이름1[,...] 대상

디렉터리 이름을 바꾸려면:
MOVE [/Y | /-Y] [드라이브:][경로]디렉터리 이름1 디렉터리 이름2

  [드라이브:][경로]파일 이름1 파일이나 옮길 파일의 위치와 이름을
                          지정합니다.
  대상                  파일의 새 위치를 지정합니다. 대상은
                          드라이브 문자와 콜론, 디렉터리 이름, 또는 조합으로
                         구성될 수 있습니다. 한 파일만 옮기려면,
                         옮길 때 이름을 바꿀 파일이 있으면
                           파일 이름을 포함할 수 있습니다.
  [드라이브:][경로]디렉터리 이름1  이름을 바꿀 디렉터리를 지정합니다.
  디렉터리 이름2                디렉터리의 새 이름을 지정합니다.

  /Y                      이미 있는 대상 파일을 겹쳐 쓸지
                          묻는 것을 금합니다.
  /-Y                     이미 있는 대상 파일을 겹쳐 쓸지
                          묻습니다.

COPYCMD 환경 변수에 /Y 스위치가 나타날 수도 있습니다.
명령줄에 있는 /-Y를 사용하여 무시될 수도 있습니다.
일괄 처리 스크립트 내에서 MOVE 명령어를 실행하지 않으면 기본적으로
덮어쓸지를 묻습니다.


========================================================================
RD

디렉터리를 지웁니다.

RMDIR [/S] [/Q] [드라이브:]경로
RD [/S] [/Q] [드라이브:]경로

    /S      지정된 디렉터리 자체와, 그 안의 모든 디렉터리 및 파일을 지웁니다.
            디렉터리 트리를 지우는데 사용합니다.

    /Q      조용한 모드로, /S로 디렉터리 트리를 지우는데 문제가 없으면 다시
            묻지 않습니다.


========================================================================
REN

파일 이름을 바꿉니다.

RENAME [드라이브:][경로]파일이름1 파일이름2.
REN [드라이브:][경로]파일이름1 파일이름2.

대상 파일로 새 드라이브나 경로를 지정할 수 없음을 주의하십시오.

 

========================================================================
RENAME

파일 이름을 바꿉니다.

RENAME [드라이브:][경로]파일이름1 파일이름2.
REN [드라이브:][경로]파일이름1 파일이름2.

대상 파일로 새 드라이브나 경로를 지정할 수 없음을 주의하십시오.


========================================================================
RMDIR

디렉터리를 지웁니다.

RMDIR [/S] [/Q] [드라이브:]경로
RD [/S] [/Q] [드라이브:]경로

    /S      지정된 디렉터리 자체와, 그 안의 모든 디렉터리 및 파일을 지웁니다.
            디렉터리 트리를 지우는데 사용합니다.

    /Q      조용한 모드로, /S로 디렉터리 트리를 지우는데 문제가 없으면 다시
            묻지 않습니다.