[Windows] 윈도우 명령 프롬프트 명령어 aka CMD

Published: by Creative Commons Licence

참고 문서

개요

명령 프롬프트(윈도우 기본 셸인 Command prompt commands, 통칭 CMD)에서 자주 쓰이는 명령어 모음. 대부분 Powershell에서도 쓸 수 있는 명령어들이다.

여담으로 윈도우 설치 화면(별도의 설치 디스크로 부팅하면 설치할 디스크와 파티션을 설정하던 그 화면)에서는 shift + f10으로 cmd에 진입할 수 있음.

문법

파이프 |

둘 이상의 명령어를 연결

환경 변수

set

환경 변수를 조회하거나 설정하는 명령어

set # 환경 변수 목록 조회
set a=1 # 환경 변수 a 추가

명령어

find

특정 문자를 검색하는 명령어. 다른 명령어와 파이프로 연결해 출력을 필터링하는 용도로도 사용함.

dir | find "Videos" # "Videos"를 포함하는 라인만 출력

find 뒤에 오는 큰따옴표 로 감싸진 문자열을 포함하는 라인만 출력한다. 윈도우답지 않게 대소문자를 구분함.

findstr

find와 비슷하지만 정규식을 지원하는 명령어.

# '8081'로 필터링
netstat -nao | findstr '8081'

copy

파일 복사

copy 원본_파일 복사될_파일
c:\dev\code-workspace>copy main.code-workspace main2.code-workspace
        1개 파일이 복사되었습니다.

xcopy

파일과 폴더 트리를 복사하는 명령어.

xcopy SOURCE DESTINATION /s /e /y

Options

  • /S: 비어 있지 않은 폴더와 하위 폴더를 복사.
  • /E: 비어 있는 경우를 포함하여 폴더와 하위 폴더를 복사. /S /E 스위치와 같다.
  • /Y: 기존 대상 파일을 덮어쓸지 여부를 묻지 않는다.

netstat

# PID와 함께 모든 연결과 수신대기 포트를 숫자형식으로 출력하되
netstat -nao

# '8081'로 필터링
netstat -nao | findstr '8081'

nslookup

DNS 인프라 진단용 명령어.

# noritersand.github.io 도메인에 대한 DNS 정보 조회
nslookup noritersand.github.io

# dns.google.com 서버에서 icanhazip.com 검색
nslookup icanhazip.com dns.google.com

tasklist

# 프로세스 목록을 출력하되 '18292'로 필터링
tasklist | findstr '18292'

taskkill

# PID가 5888인 프로세스 중지
taskkill /f /pid 5888

diskpart

윈도우 전통의 디스크 관리 명령어. 디스크, 파티션, 볼륨 등을 확인하고 지정/변경할 수 있다.

Microsoft Windows [Version 10.0.18363.535]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\noriter>diskpart

Microsoft DiskPart 버전 10.0.18362.1

Copyright (C) Microsoft Corporation.
컴퓨터: NORITERSAND-LAPTOP

DISKPART> list volume

  볼륨 ###  Ltr  레이블      Fs    형식       크기     상태          정보
  --------  ---  ----------  ----  ---------  -------  ------------  --------
  Volume 0         시스템 예약       NTFS   파티션          549 MB  정상         시스템
  Volume 1     C                NTFS   파티션          237 GB  정상         부팅
  Volume 2     D                NTFS   파티션          931 GB  정상

DISKPART> list disk

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt
  ----------  -------------  -------  ------------  ---  ---
  디스크 0    온라인        238 GB       1024 KB
  디스크 1    온라인        931 GB           0 B

DISKPART> select disk 0

0 디스크가 선택한 디스크입니다.

DISKPART> list partition

  파티션 ###  종류              크기     오프셋
  ----------  ----------------  -------  -------
  파티션 1    주                  549 MB  1024 KB
  파티션 2    주                  237 GB   550 MB
  파티션 3    복구                 562 MB   237 GB
# 실제 경로는 \dest 폴더인 \slink 바로가기 링크 생성 (관리자 권한 필요)
mklink /d \slink \dest

정품 인증 관련

# 키 확인
wmic path softwarelicensingservice get OA3xOriginalProductKey

# 온라인으로 정품 인증
slmgr.vbs /ato

# 만료날짜 확인
slmgr.vbs -xpr

# 라이선스 등록 정보 확인
slmgr.vbs -dlv

route

라우팅 테이블을 출력하거나 수정하는 명령어

# 도움말 보기
route /?

# 기본 출력
route PRINT

ping

특정 IP 혹은 도메인으로 다른 네트워크 장비와의 연결 상태를 확인한다. ICMP(Internet Control Message Protocol)를 사용하기 때문에 상대 컴퓨터에서 ICMP를 차단하면 네트워크 연결이 정상이어도 ping은 작동하지 않는다.

# KT 서버에 중단없이 연결 테스트 + 현재 시각 출력
ping -t 168.126.63.1

tree

현재 경로의 드라이브와 디렉터리 구조를 그래픽으로 출력한다.

tree /f /a

Options

  • /F: 각 디렉터리의 파일 이름도 같이 출력한다.
  • /A: 그래픽 문자(특수문자)를 텍스트 문자(아스키)로 대체한다.

certutil

해시값 체크

certutil -hashfile 파일명 [해시방식]
certutil -hashfile .\example.txt MD5
# SHA1의 .\example.txt 해시:
# f9c3df25f671c015100347d51cef76ee
# CertUtil: -hashfile 명령이 성공적으로 완료되었습니다.