본문 바로가기

정보보안

📖 MS OS ( DOS, Windows)에서 사용되는 내부명령어에 대해서 정리 - Chat GPT

728x90

▣ MS OS ( DOS, Windows)에서 사용되는 내부명령어에 대해서 정리 - Chat GPT

 

 

리눅스의 Builtin명령어에 이어서 오랜동안 잊고 있었던 MS 운영체제 인 DOS와 Windows 에서 사용하고 있는 내부명령어에 대해서도 알아보았습니다.

MS-DOS 는 제 기억으로는 6.2 버전이 제가 사용했던 마지막 MS-DOS 였던 것으로 기억합니다.

그 시절에는 내부명령어는 COMMAND.COM 이라는 파일에 포함되어있어서 따로 실행파일이 필요하지 않는 명령어들!

이라고 알고 있었고, XCOPY.EXE 처럼 실행파일이 따로 존재해야만 사용이 가능한 명령어를 외부명령어 라고 알고있었습니다.

그래서 이 외부명령어를 내부명령어 처럼 자유롭게 사용하기 위해서는 경로설정을 해 줬어야 하는데요, 그게 바로 PATH 명령어로 경로를 지정해서 미리 알려주면 실행파일이 어느 경로에 저장되어있더라도 저장된 경로를 미리 지정해 주면 커서가 있는 위치에 상관없이 실행이 가능했습니다. 그런 추억들이 새록새록 기억나네요.

 

리눅스를 공부하면서 옛 기억이 떠올라서 MS-DOS와 Windows에서 사용하는 내부명령어도 한번 정리해 보았습니다.

너무 편하게 생각해서 잊혀지날 수 있는 것들을 이런식으로 잘 정리해서 다시한번 더 기억해 둔다면 공부에 많은 도움이 될 것 같습니다.

 

 

 

 

아래 내용은 MS‑DOS 6.x ~ Windows 10/11 명령 프롬프트(cmd.exe) 기준으로, 실행 파일(.exe) 없이 **셸 자체에 내장된 “내부 명령어(Internal Commands)”**를 용도·주요 옵션과 함께 정리한 것입니다. (PowerShell 전용 명령은 포함하지 않았습니다)

구분 내부 명령어 핵심 용도 대표 옵션·예시 비고·팁

파일·디렉터리 DIR 디렉터리 목록 DIR /W /O:-N (넓게, 이름역순) DIR /S 하위폴더 포함
  CD / CHDIR 작업 폴더 변경 CD \Windows\System32CD .. CD만 입력 → 현재 경로 표시
  MD / MKDIR 새 폴더 생성 MD Logs\2025 여러 단계 한 번에 생성
  RD / RMDIR 빈 폴더 삭제 RD /S /Q Temp (하위 포함·무질문) /S 필수 시 주의
  DEL / ERASE 파일 삭제 DEL *.log /P /S /F 강제, /Q 무질문
  COPY 파일 복사 COPY report.txt D:\Backup\ 여러 파일 → 한 파일: COPY *.txt all.txt
  XCOPY 고급 복사 XCOPY Src Dest /E /H /Y 폴더 전체, 숨김 포함
  MOVE 파일/폴더 이동·이름변경 MOVE *.jpg Pictures\  
  ATTRIB 속성 변경 ATTRIB +R -H file.txt 읽기전용(+R)·숨김(+H)
텍스트·출력 TYPE 파일 내용 표시 TYPE readme.txt  
  MORE 페이지 단위 출력 `DIR /S MORE`
  ECHO 문자열·ON/OFF ECHO HelloECHO. (빈줄) @ECHO OFF로 스크립트 헤더
  FIND 문자열 검색 FIND "ERROR" log.txt 대소문자 구분: /I
  FINDSTR 고급 패턴 검색 FINDSTR /R "^ERROR.*" log.txt 정규식 지원
시스템 정보·관리 VER OS 버전 VER  
  VOL 드라이브 볼륨 라벨 VOL C:  
  DATE / TIME 시스템 날짜/시간 표시·수정 DATE /T (표시만)  
  CLS 화면 지우기 CLS  
  PROMPT 프롬프트 모양 변경 PROMPT $P$G 기본: C:\> 형
  PATH 실행 경로 열람·설정 PATH C:\Tools;%PATH% 일시적(세션 한정)
  SET 환경 변수 열람·수정 SET JAVA_HOME=C:\JDKSET (목록) %VAR% 참조
  SETLOCAL/ENDLOCAL 배치파일 내부 변수 범위 제한 SETLOCAL ENABLEDELAYEDEXPANSION  
프로세스·작업 제어 START 새 창/프로세스 실행 START notepad file.txt /B 창 없이
  CALL 다른 배치 호출 CALL build.bat param  
  EXIT 창 종료/코드 반환 EXIT /B 0  
  PAUSE “Press any key…” 대기 PAUSE 스크립트 일시정지
  SHIFT 배치 인수 쉬프트 SHIFT /2 %3→%2 등
  CHOICE 사용자 선택 입력 CHOICE /C YN "Continue?" %ERRORLEVEL% 반환
  GOTO 레이블 분기 GOTO :EOF  
  IF 조건 분기 IF EXIST file.txt ( … ) 문자열 비교: ==, /I
  FOR 반복 FOR %%f IN (*.txt) DO ECHO %%f /R 재귀
네트워크 IPCONFIG* IP 정보 IPCONFIG /ALL *WinXP 이후 외부 EXE
  PING* 네트워크 테스트 PING 8.8.8.8 -n 5  
  NET 공유·서비스 관리 NET USE, NET START  
배치·디버그 REM 주석 REM 설명 ::도 가능
  ERRORLEVEL(키워드) 이전 명령 반환값 IF ERRORLEVEL 1 …  

*별표 표시는 Windows 시대에 외부 EXE로 전환되었지만, DOS 시절에는 내부 명령어로 간주되던 경우가 있습니다.

 

특징 & 활용 노트

  1. 내부 명령어는 COMMAND.COM(DOS) 또는 cmd.exe 코드에 포함되므로 실행 속도가 빠르고, 부팅 디스크 최소 구성에서도 사용 가능.
  2. 환경 변수·프롬프트·폴더 변경처럼 셸 자체 상태를 바꾸는 작업은 반드시 내부 명령어여야 합니다.
  3. HELP <명령>으로 간단 매뉴얼, /? 옵션으로 상세 사용법을 확인할 수 있습니다.
  4. Windows 10 이후에도 PowerShell보다는 **레거시 배치 스크립트가 필요한 상황(부트 이미지, 자동화 레거시)**에서 여전히 중요합니다.
  5. 내부와 외부 명령이 이름을 공유하기도 하므로(FIND, SORT 등) **where <명령>**으로 실제 실행 파일 경로를 확인해 충돌을 피하세요.

이 표를 참고하면 DOS‑시절 스크립트부터 최신 cmd 자동화까지 내부 명령어를 효과적으로 활용할 수 있습니다!

 

 

* CMD.EXE /? 로 도움말을 확인해 보았습니다.

 파일로 첨부 합니다.

CMDHELP.TXT
0.01MB

 

 

*좀 더 특이한 것은 "PowerShell 전용 명령" 입니다. 이건 또 내부명령어와는 다른 명령어 체계를 사용하는 것 같습니다.

다음 포스팅에서는 "PowerShell 전용 명령"에 대해서 알아보겠습니다.

728x90
반응형