← 홈

💠

⌘K
🤖
Claude Code AI 도구
🤗
Hugging Face AI 도구
🦜
LangChain AI 도구
🧠
Keras AI 도구
🦙
Ollama AI 도구
🐍
Python 프로그래밍 언어
🟨
JavaScript 프로그래밍 언어
🔷
TypeScript 프로그래밍 언어
⚛️
React 프로그래밍 언어
🐹
Go 프로그래밍 언어
🦀
Rust 프로그래밍 언어
📊
MATLAB 프로그래밍 언어
🗄️
SQL 프로그래밍 언어
⚙️
C/C++ 프로그래밍 언어
Java 프로그래밍 언어
🟣
C# 프로그래밍 언어
🍎
Swift 프로그래밍 언어
🟠
Kotlin 프로그래밍 언어
Next.js 프로그래밍 언어
💚
Vue.js 프로그래밍 언어
🔥
Svelte 프로그래밍 언어
🎨
Tailwind CSS 프로그래밍 언어
💚
Node.js 프로그래밍 언어
🌐
HTML 프로그래밍 언어
🎨
CSS/SCSS 프로그래밍 언어
🐘
PHP 프로그래밍 언어
💎
Ruby 프로그래밍 언어
🔴
Scala 프로그래밍 언어
📊
R 프로그래밍 언어
🎯
Dart 프로그래밍 언어
💧
Elixir 프로그래밍 언어
🌙
Lua 프로그래밍 언어
🐪
Perl 프로그래밍 언어
🅰️
Angular 프로그래밍 언어
🚂
Express.js 프로그래밍 언어
🐱
NestJS 프로그래밍 언어
🛤️
Ruby on Rails 프로그래밍 언어
◼️
GraphQL 프로그래밍 언어
🟪
Haskell 프로그래밍 언어
💚
Nuxt.js 프로그래밍 언어
🔷
SolidJS 프로그래밍 언어
htmx 프로그래밍 언어
💻
VS Code 개발 도구
🧠
PyCharm 개발 도구
📓
Jupyter 개발 도구
🧠
IntelliJ IDEA 개발 도구
💚
Neovim 개발 도구
🔮
Emacs 개발 도구
🔀
Git DevOps & CLI
🐳
Docker DevOps & CLI
☸️
Kubernetes DevOps & CLI
☁️
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux 명령어 DevOps & CLI
💻
Bash 스크립팅 DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
🔨
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
📦
패키지 매니저 DevOps & CLI
🍎
macOS DevOps & CLI
🏗️
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
Helm DevOps & CLI
🔨
Jenkins DevOps & CLI
🔥
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
💻
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁️
Azure CLI DevOps & CLI
☁️
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂️
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
🔢
NumPy 데이터베이스 & 데이터
🐼
Pandas 데이터베이스 & 데이터
🔥
PyTorch 데이터베이스 & 데이터
🧠
TensorFlow 데이터베이스 & 데이터
📈
Matplotlib 데이터베이스 & 데이터
🐘
PostgreSQL 데이터베이스 & 데이터
🐬
MySQL 데이터베이스 & 데이터
🍃
MongoDB 데이터베이스 & 데이터
🔴
Redis 데이터베이스 & 데이터
🔍
Elasticsearch 데이터베이스 & 데이터
🤖
Scikit-learn 데이터베이스 & 데이터
👁️
OpenCV 데이터베이스 & 데이터
Apache Spark 데이터베이스 & 데이터
🪶
SQLite 데이터베이스 & 데이터
Supabase 데이터베이스 & 데이터
🔵
Neo4j 데이터베이스 & 데이터
📨
Apache Kafka 데이터베이스 & 데이터
🐰
RabbitMQ 데이터베이스 & 데이터
🔤
Regex 유틸리티
📝
Markdown 유틸리티
📄
LaTeX 유틸리티
🔐
SSH & GPG 유틸리티
🌐
curl & HTTP 유틸리티
📜
reStructuredText 유틸리티
🚀
Postman 유틸리티
🎬
FFmpeg 유틸리티
🖼️
ImageMagick 유틸리티
🔍
ripgrep 유틸리티
🔍
fzf 유틸리티
📗
Microsoft Excel 오피스 애플리케이션
📘
Microsoft Word 오피스 애플리케이션
📙
Microsoft PowerPoint 오피스 애플리케이션
📝
한컴 한글 한컴오피스
📽️
한컴 한쇼 한컴오피스
📊
한컴 한셀 한컴오피스
📄
Google 문서 Google Workspace
📊
Google 스프레드시트 Google Workspace
📽️
Google 프레젠테이션 Google Workspace
🔌
Cadence Virtuoso EDA & 하드웨어
⚙️
Synopsys EDA EDA & 하드웨어
💎
Verilog & VHDL EDA & 하드웨어
LTSpice EDA & 하드웨어
🔧
KiCad EDA & 하드웨어
📝
Notion 생산성 도구
💎
Obsidian 생산성 도구
💬
Slack 생산성 도구
🎮
Discord 생산성 도구
🎨
Figma 디자인 도구
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest 테스팅
Vitest 테스팅
🎭
Playwright 테스팅
🌲
Cypress 테스팅
🌐
Selenium 테스팅
💙
Flutter 모바일 개발
📱
React Native 모바일 개발
🍎
SwiftUI 모바일 개발
📱
Expo 모바일 개발
🐍
Django 웹 프레임워크
FastAPI 웹 프레임워크
🌶️
Flask 웹 프레임워크
🍃
Spring Boot 웹 프레임워크
🍸
Gin 웹 프레임워크
Vite 빌드 도구
📦
Webpack 빌드 도구
esbuild 빌드 도구
🐘
Gradle 빌드 도구
🪶
Maven 빌드 도구
🔧
CMake 빌드 도구
🎮
Unity 게임 개발
🤖
Godot 게임 개발
🔌
Arduino 임베디드 & IoT
🔍
Nmap 보안
🐕
Datadog 모니터링
📖
Swagger/OpenAPI 문서화
검색 결과가 없습니다
EN KO

기초

도움말 및 정보

Get-Help Get-Process 명령어 도움말
Get-Help Get-Process -Examples 예제 표시
Get-Command *process* 명령어 찾기
Get-Alias 모든 별칭 목록
Get-Member 객체 속성 가져오기
$PSVersionTable PowerShell 버전

탐색

Get-Location (pwd) 현재 디렉토리
Set-Location path (cd) 디렉토리 변경
Get-ChildItem (ls, dir) 항목 나열
Get-ChildItem -Recurse 재귀적 나열
Get-ChildItem -Filter *.txt 확장자로 필터
Push-Location / Pop-Location 스택 탐색

파일 및 폴더

파일 작업

New-Item -ItemType File -Name "file.txt" 파일 생성
New-Item -ItemType Directory -Name "folder" 폴더 생성
Copy-Item source dest (cp) 항목 복사
Move-Item source dest (mv) 항목 이동
Remove-Item path (rm) 항목 삭제
Remove-Item -Recurse -Force 재귀적 폴더 삭제
Rename-Item old new 항목 이름 변경
Test-Path path 존재 여부 확인

파일 내용

Get-Content file.txt (cat) 파일 읽기
Get-Content file.txt -Tail 10 마지막 10줄
Get-Content file.txt -Wait 파일 추적
Set-Content file.txt "text" 파일에 쓰기
Add-Content file.txt "text" 파일에 추가
Clear-Content file.txt 파일 내용 지우기

변수 및 타입

변수

변수 기초
# Declare variable
$name = "John"
$age = 25
$pi = 3.14
$isValid = $true

# Type casting
[int]$number = "42"
[string]$text = 123
[datetime]$date = "2024-01-01"

# Get variable type
$name.GetType()
배열
# Create array
$arr = @(1, 2, 3, 4, 5)
$arr = 1..10  # Range

# Access elements
$arr[0]       # First
$arr[-1]      # Last
$arr[0..2]    # First 3

# Operations
$arr += 6     # Add element
$arr.Count    # Length
$arr | ForEach-Object { $_ * 2 }
해시테이블
# Create hashtable
$hash = @{
  Name = "John"
  Age = 25
  City = "NYC"
}

# Access values
$hash["Name"]
$hash.Name

# Add/Update
$hash["Country"] = "USA"
$hash.Remove("City")

# Iterate
$hash.GetEnumerator() | ForEach-Object {
  "$($_.Key): $($_.Value)"
}
문자열
# String interpolation
$name = "World"
"Hello, $name!"           # Interpolated
'Hello, $name!'           # Literal

# Here-strings
$text = @"
Multi-line
string here
"@

# String methods
$str.ToUpper()
$str.ToLower()
$str.Replace("old", "new")
$str.Split(",")
$str.Trim()
$str.Contains("sub")

제어 흐름

조건문

if/elseif/else
if ($x -gt 10) {
  "Greater than 10"
} elseif ($x -eq 10) {
  "Equals 10"
} else {
  "Less than 10"
}

# Comparison operators
# -eq  Equal
# -ne  Not equal
# -gt  Greater than
# -lt  Less than
# -ge  Greater or equal
# -le  Less or equal
# -like  Wildcard match
# -match  Regex match
switch
switch ($value) {
  1 { "One" }
  2 { "Two" }
  3 { "Three" }
  default { "Unknown" }
}

# With wildcard
switch -Wildcard ($file) {
  "*.txt" { "Text file" }
  "*.ps1" { "Script file" }
}

# With regex
switch -Regex ($text) {
  "^\d+$" { "Numbers only" }
  "^\w+$" { "Word chars" }
}

반복문

for/foreach
# For loop
for ($i = 0; $i -lt 10; $i++) {
  $i
}

# Foreach loop
foreach ($item in $collection) {
  $item
}

# ForEach-Object (pipeline)
1..10 | ForEach-Object {
  $_ * 2
}

# Parallel (PowerShell 7+)
1..10 | ForEach-Object -Parallel {
  $_ * 2
} -ThrottleLimit 5
while/do
# While loop
while ($x -lt 10) {
  $x++
}

# Do-While
do {
  $x++
} while ($x -lt 10)

# Do-Until
do {
  $x++
} until ($x -ge 10)

# Break and Continue
foreach ($i in 1..10) {
  if ($i -eq 5) { continue }  # Skip
  if ($i -eq 8) { break }     # Exit loop
  $i
}

함수

함수

기본 함수
function Say-Hello {
  param(
    [string]$Name = "World"
  )
  "Hello, $Name!"
}

Say-Hello -Name "John"
고급 함수
function Get-Square {
  [CmdletBinding()]
  param(
    [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
    [ValidateRange(1, 100)]
    [int]$Number
  )

  begin {
    # Run once before pipeline
  }

  process {
    # Run for each pipeline item
    $Number * $Number
  }

  end {
    # Run once after pipeline
  }
}

1..5 | Get-Square
반환값
function Get-Data {
  $result = @()
  $result += "Item 1"
  $result += "Item 2"
  return $result
}

# Multiple outputs
function Get-Info {
  [PSCustomObject]@{
    Name = "John"
    Age = 25
  }
}

파이프라인

파이프라인 명령어

Get-Process | Where-Object { $_.CPU -gt 100 } 객체 필터
Get-Process | Sort-Object CPU -Descending 객체 정렬
Get-Process | Select-Object Name, CPU 속성 선택
Get-Process | Select-Object -First 5 처음 5개
Get-Process | Group-Object Name 객체 그룹화
Get-Process | Measure-Object -Property CPU -Sum 통계 계산
Get-Process | Format-Table Name, CPU 테이블로 포맷
Get-Process | Format-List * 리스트로 포맷
Get-Process | Export-Csv process.csv CSV로 내보내기
Get-Process | ConvertTo-Json JSON으로 변환

프로세스 및 서비스

프로세스 관리

Get-Process 프로세스 목록
Get-Process -Name chrome 특정 프로세스
Start-Process notepad 프로세스 시작
Start-Process notepad -Wait 시작 후 대기
Stop-Process -Name notepad 프로세스 중지
Stop-Process -Id 1234 -Force ID로 강제 중지

서비스

Get-Service 서비스 목록
Get-Service -Name wuauserv 특정 서비스
Start-Service -Name servicename 서비스 시작
Stop-Service -Name servicename 서비스 중지
Restart-Service -Name servicename 서비스 재시작
Set-Service -Name service -StartupType Automatic 시작 유형 설정

원격 및 네트워크

네트워크 명령어

Test-Connection google.com 호스트 핑
Test-NetConnection -Port 443 google.com 포트 테스트
Invoke-WebRequest https://api.example.com HTTP 요청
Invoke-RestMethod https://api.example.com/json REST API 호출
Get-NetIPAddress IP 주소 가져오기
Get-NetAdapter 네트워크 어댑터 목록

원격 실행

PSRemoting
# Enable remoting (admin)
Enable-PSRemoting -Force

# Connect to remote
Enter-PSSession -ComputerName Server01

# Run command remotely
Invoke-Command -ComputerName Server01 -ScriptBlock {
  Get-Process
}

# Multiple computers
Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {
  $env:COMPUTERNAME
}

오류 처리

Try/Catch

오류 처리
try {
  # Code that might fail
  Get-Content "nonexistent.txt" -ErrorAction Stop
}
catch {
  # Handle error
  Write-Error "Error: $_"
  $_.Exception.Message
}
finally {
  # Always runs
  "Cleanup"
}

# Error action preference
$ErrorActionPreference = "Stop"  # Stop, Continue, SilentlyContinue, Inquire