[Windows] CMD๋ฅผ ๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์ฒ˜๋Ÿผ: doskey๋ฅผ ์ด์šฉํ•œ Alias(๋งคํฌ๋กœ) ์„ค์ • ๋ฐ ์˜๊ตฌ ์ ์šฉ

Windows CMD ํ™˜๊ฒฝ์—์„œ ls, cp, rm ๋“ฑ ์ต์ˆ™ํ•œ Linux ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด doskey ๋งคํฌ๋กœ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์น˜ ํŒŒ์ผ(alias.cmd)์„ ์ž‘์„ฑํ•˜๊ณ  ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(AutoRun)์— ๋“ฑ๋กํ•˜์—ฌ CMD ์‹คํ–‰ ์‹œ ์ž๋™์œผ๋กœ ๋ณ„์นญ์ด ์ ์šฉ๋˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

0. ๋ฐฐ๊ฒฝ (Context)

Windows CMD๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ dir, copy, del ๋“ฑ์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Linux์˜ ls, cp ๋“ฑ์— ์ต์ˆ™ํ•œ ์‚ฌ์šฉ์ž๋Š” ๋งค๋ฒˆ ์˜คํƒ€๋ฅผ ๋‚ด๊ฑฐ๋‚˜ ๋ถˆํŽธํ•จ์„ ๊ฒช๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด doskey ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์–ด์˜ ๋ณ„์นญ(Alias)์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Test Environment

  • OS: Windows 10 / 11
  • Shell: Command Prompt (CMD)

1. ๋งคํฌ๋กœ ํŒŒ์ผ ์ž‘์„ฑ (alias.cmd)

๋จผ์ €, ๋งคํฌ๋กœ ์ •์˜๋ฅผ ๋‹ด์„ ๋ฐฐ์น˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ ๋‹นํ•œ ์œ„์น˜(์˜ˆ: C:\Utils\alias.cmd)์— ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

Tip: $*๋Š” ์ž…๋ ฅ๋œ ๋ชจ๋“  ์ธ์ž(Arguments)๋ฅผ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. (์˜ˆ: ls -al ์ž…๋ ฅ ์‹œ dir -al๋กœ ๋ณ€ํ™˜)
@echo off

:: --- System & Utility ---
doskey alias   = doskey $*
doskey clear   = cls
doskey history = doskey /history
doskey man     = help $*

:: --- Process Management ---
doskey ps      = tasklist $*
doskey kill    = taskkill /PID $*

:: --- File & Directory Management ---
doskey ls      = dir $*
doskey ll      = dir $*
doskey cat     = type $*
doskey pwd     = cd
doskey cp      = copy $*
doskey mv      = move $*
doskey rm      = del $*

:: --- Search (grep -> findstr ๊ถŒ์žฅ) ---
:: find๋Š” ๋‹จ์ˆœ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰, findstr์€ ์ •๊ทœ์‹ ์ง€์›
doskey grep    = find $* :: --- Permissions (Approximate) ---
doskey sudo    = runas /user:administrator $*

2. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋“ฑ๋ก (์˜๊ตฌ ์ ์šฉ)

์œ„์—์„œ ๋งŒ๋“  alias.cmd ํŒŒ์ผ์€ CMD๋ฅผ ์ผค ๋•Œ๋งˆ๋‹ค ์‹คํ–‰ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ AutoRun ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ๊ฒฝ๋กœ ๋ฐ ๊ฐ’

  • ๊ฒฝ๋กœ: HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  • ๋ฌธ์ž์—ด ๊ฐ’(String Value): AutoRun
  • ๋ฐ์ดํ„ฐ(Data): [alias.cmd ํŒŒ์ผ์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ]

๋“ฑ๋ก ๋ฐฉ๋ฒ• A: ๋ช…๋ น์–ด๋กœ ํ•œ๋ฐฉ์— ๋“ฑ๋ก (๊ถŒ์žฅ)

๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ CMD๋ฅผ ์—ด๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. (๊ฒฝ๋กœ๋Š” ๋ณธ์ธ ํŒŒ์ผ ์œ„์น˜์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜์„ธ์š”)

:: ๊ฒฝ๋กœ ์˜ˆ์‹œ: E:\software\google\2_Shellscript\alias.cmd
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "E:\software\google\2_Shellscript\alias.cmd" /f

๋“ฑ๋ก ๋ฐฉ๋ฒ• B: regedit ์‚ฌ์šฉ (์ˆ˜๋™)

  1. Win + R ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  regedit ์‹คํ–‰
  2. ์ปดํ“จํ„ฐ\HKEY_CURRENT_USER\Software\Microsoft\Command Processor ๊ฒฝ๋กœ๋กœ ์ด๋™
  3. ์šฐ์ธก ๋นˆ ๊ณต๊ฐ„ ์šฐํด๋ฆญ > ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ > ๋ฌธ์ž์—ด ๊ฐ’ ์„ ํƒ
  4. ์ด๋ฆ„์„ AutoRun์œผ๋กœ ์ง€์ •
  5. ๋”๋ธ” ํด๋ฆญํ•˜์—ฌ ๊ฐ’ ๋ฐ์ดํ„ฐ์— alias.cmd์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ ์ž…๋ ฅ

3. ์ ์šฉ ํ™•์ธ (Verification)

์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, ์ƒˆ๋กœ์šด CMD ์ฐฝ์„ ์—ด์–ด์„œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

:: 1. CMD ์‹คํ–‰
C:\Users\User>

:: 2. ls ๋ช…๋ น์–ด ํ…Œ์ŠคํŠธ
C:\Users\User> ls
 C ๋“œ๋ผ์ด๋ธŒ์˜ ๋ณผ๋ฅจ์—๋Š” ์ด๋ฆ„์ด ์—†์Šต๋‹ˆ๋‹ค.
 ... (๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก ์ถœ๋ ฅ) ...

:: 3. alias ๋ชฉ๋ก ํ™•์ธ
C:\Users\User> alias /macros

Next Step:
๋งŒ์•ฝ CMD๊ฐ€ ์•„๋‹Œ PowerShell์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด, Microsoft.PowerShell_profile.ps1 ํŒŒ์ผ์— Set-Alias ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋™์ผํ•œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[Windows] CMD ํ”„๋กœ์„ธ์Šค ๋ฐ ํฌํŠธ ๊ด€๋ฆฌ ์™„์ „ ์ •๋ณต (tasklist, netstat, taskkill)

Windows CMD ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์กฐํšŒํ•˜๊ณ , ํŠน์ • ํฌํŠธ๋ฅผ ์ ์œ  ์ค‘์ธ ์„œ๋น„์Šค๋ฅผ ์‹๋ณ„ํ•˜๋ฉฐ, ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๋Š” ํ•„์ˆ˜ ๋ช…๋ น์–ด(tasklist, netstat, taskkill) ์‚ฌ์šฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

1. ํ”„๋กœ์„ธ์Šค ์กฐํšŒ (tasklist)

ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ(/fi) ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํ”„๋กœ์„ธ์Šค๋งŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰

ํŠน์ • ์‹คํ–‰ ํŒŒ์ผ๋ช…(Image Name)์„ ๊ธฐ์ค€์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. (์˜ˆ: java.exe)

:: ์‚ฌ์šฉ๋ฒ•: tasklist /fi "imagename eq [ํ”„๋กœ์„ธ์Šค๋ช…]"
C:\Users> tasklist /fi "imagename eq java.exe"

์ด๋ฏธ์ง€ ์ด๋ฆ„                    PID ์„ธ์…˜ ์ด๋ฆ„              ์„ธ์…˜#  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ
========================= ======== ================ =========== ============
java.exe                      1234 Console                    1    150,000 K

2. ํฌํŠธ ์ ์œ  ํ™•์ธ (netstat)

๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ ํŠน์ • ํฌํŠธ๋ฅผ ๋ฆฌ์Šจ(LISTEN)ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ PID๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

Listening ํฌํŠธ ๋ฐ PID ํ™•์ธ

-ano ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์—ฐ๊ฒฐ, ์ˆซ์ž ํ˜•์‹์˜ ์ฃผ์†Œ, ๊ทธ๋ฆฌ๊ณ  ์†Œ์œ  ํ”„๋กœ์„ธ์Šค ID(PID)๋ฅผ ํ•จ๊ป˜ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

:: ์‚ฌ์šฉ๋ฒ•: netstat -ano | find "[๋ฌธ์ž์—ด]"
C:\Users> netstat -ano | find "LISTEN"

  ํ”„๋กœํ† ์ฝœ   ๋กœ์ปฌ ์ฃผ์†Œ              ์™ธ๋ถ€ ์ฃผ์†Œ               ์ƒํƒœ            PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       564
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       892

3. PID๋กœ ํ”„๋กœ์„ธ์Šค ์‹๋ณ„ (Reverse Lookup)

netstat์œผ๋กœ ํ™•์ธํ•œ PID(์˜ˆ: 564)๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ค ์„œ๋น„์Šค์ธ์ง€ tasklist๋ฅผ ํ†ตํ•ด ์—ญ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.

PID๋กœ ๊ฒ€์ƒ‰

:: ์‚ฌ์šฉ๋ฒ•: tasklist /fi "pid eq [PID]"
C:\Users> tasklist /fi "pid eq 564"

์ด๋ฏธ์ง€ ์ด๋ฆ„                    PID ์„ธ์…˜ ์ด๋ฆ„              ์„ธ์…˜#  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ
========================= ======== ================ =========== ============
svchost.exe                    564 Services                   0     11,444 K

4. ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ (taskkill)

์‘๋‹ตํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ํŠน์ • ํฌํŠธ๋ฅผ ์ ์œ ํ•˜์—ฌ ์ถฉ๋Œ์„ ์ผ์œผํ‚ค๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

PID๋ฅผ ์ด์šฉํ•œ ๊ฐ•์ œ ์ข…๋ฃŒ

/f ์˜ต์…˜์€ ๊ฐ•์ œ ์ข…๋ฃŒ(Force)๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, /pid ์˜ต์…˜์œผ๋กœ ๋Œ€์ƒ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

:: ์‚ฌ์šฉ๋ฒ•: taskkill /f /pid [PID]
C:\Users> taskkill /f /pid 6985

์„ฑ๊ณต: ํ”„๋กœ์„ธ์Šค(PID 6985)๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ์ด์šฉํ•œ ๊ฐ•์ œ ์ข…๋ฃŒ

๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•œ ๋ฒˆ์— ์ข…๋ฃŒํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

:: ์‚ฌ์šฉ๋ฒ•: taskkill /f /im [์ด๋ฏธ์ง€์ด๋ฆ„]
C:\Users> taskkill /f /im notepad.exe

5. ๋„์›€๋ง ๋ฐ ์˜ต์…˜ ํ™•์ธ

๊ฐ ๋ช…๋ น์–ด์˜ ์ƒ์„ธํ•œ ํ•„ํ„ฐ ์˜ต์…˜์ด๋‚˜ ์‚ฌ์šฉ๋ฒ•์ด ๊ถ๊ธˆํ•  ๊ฒฝ์šฐ /? ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tasklist /?
taskkill /?

Next Step:
CMD ๋ช…๋ น์–ด๋ณด๋‹ค ๋” ๊ฐ•๋ ฅํ•˜๊ณ  ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด, PowerShell์˜ Get-Process, Stop-Process, Get-NetTCPConnection Cmdlet ์‚ฌ์šฉ๋ฒ•์„ ํ•™์Šตํ•ด ๋ณด์‹œ๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.