Post

01 Linux/window 명령어

01 Linux/window 명령어

1. 구분

1. CMD

  • 오래된 윈도우 기본 쉘 / 배치(.bat) 실행용
  • 문법이 단순하지만 기능이 제한적
  • 현대적인 자동화, 구조적 처리에 취약
  • 레거시 스크립트 유지용으로 주로 남아 있음

2. PowerShell

  • 마이크로소프트가 cmd 한계를 해결하려고 만든 현대적 쉘
  • 현재 윈도우 표준 쉘
  • .NET 기반
  • 강력한 필터링, 정렬, 속성 접근 가능
  • 윈도우 관리 자동화에 최적화
  • cmd 명령어 상당수와 호환됨
  • 일부 명령어는 alias로 설정 되어있음 ex) ls가 bash 명령이 아니라 Get-ChildItem의 별칭

3. bash

  • 리눅스/유닉스 계열 표준 쉘
  • 서버, 컨테이너, CI/CD의 사실상 기준
  • 조합 가능한 작은 명령어 철학
  • awk, sed, grep 같은 텍스트 처리 도구와 궁합이 좋음
  • 서버 운영, 배포, 자동화에서 압도적 사용량

2. 파일 디렉토리 관리

1. 현재위치 / 디렉토리 이동

기능Linux (bash)Windows (cmd)Windows (PowerShell)
현재 위치 확인pwdcdGet-Location
디렉터리 이동cdcdSet-Location
홈으로 이동cd ~cd %USERPROFILE%cd ~

2. 파일/디렉토리 목록 조회

기능Linux (bash)Windows (cmd)Windows (PowerShell)
목록 조회lsdirGet-ChildItem
숨김 포함ls -adir /aGet-ChildItem -Force
자세히 보기ls -ldirGet-ChildItem

3. 디렉토리 생성 / 삭제

기능Linux (bash)Windows (cmd)Windows (PowerShell)
디렉터리 생성mkdirmkdirNew-Item -ItemType Directory
여러 단계 생성mkdir -pmkdirmkdir -p
디렉터리 삭제rmdirrmdirRemove-Item
강제 삭제rm -rfrmdir /s /qRemove-Item -Recurse -Force

4. 파일 복사 / 이동 / 이름 변경

기능Linux (bash)Windows (cmd)Windows (PowerShell)
파일 복사cp a bcopy a bCopy-Item a b
디렉터리 복사cp -rxcopy /eCopy-Item -Recurse
파일 이동mvmoveMove-Item
이름 변경mv old newren old newRename-Item

3. 파일 조회

1. 파일 내용 보기

기능Linux (bash)Windows (cmd)Windows (PowerShell)
파일 출력cat file.txttype file.txtGet-Content file.txt
여러 파일cat a btype a bGet-Content a,b
페이지 보기less file.txtmore file.txtGet-Content file.txt | more
앞부분head file.txt없음Get-Content file.txt -TotalCount 10
뒷부분tail file.txt없음Get-Content file.txt -Tail 10
실시간 로그tail -f app.log없음Get-Content app.log -Wait

2. 파일검색

기능Linux (bash)Windows (cmd)Windows (PowerShell)
문자열 검색grep “err” file.txtfind “err” file.txtSelect-String “err” file.txt
재귀 검색grep -r “err” .findstr /s err *Select-String “err” -Path . -Recurse

4. 권한 관련

기능Linux (bash)Windows (cmd)Windows (PowerShell)
권한 확인ls -licacls file.txtGet-Acl file.txt
권한 변경chmod 755 fileicacls file /grant user:FSet-Acl
소유자 변경chown user:group없음Set-Acl

5. 프로세스 관리

1. 프로세스 조회

기능Linux (bash)Windows (cmd)Windows (PowerShell)  
전체 조회ps -eftasklistGet-Process  
실시간top없음Get-Process  
필터링ps -efgrep javatasklistfind “java”Get-Process java

2. 프로세스 삭제

기능Linux (bash)Windows (cmd)Windows (PowerShell)
정상 종료kill PIDtaskkill /pid PIDStop-Process -Id PID
강제 종료kill -9 PIDtaskkill /fStop-Process -Force

3. 프로세스 실행

기능Linux (bash)Windows (cmd)Windows (PowerShell)
포그라운드 실행java -jar app.jarjava -jar app.jarjava -jar app.jar
백그라운드 실행command &start app.exeStart-Process app.exe
중지 후 백그라운드Ctrl+Z → bg불가불가
작업 상태 확인jobs없음Get-Job
포그라운드 복귀fg %1불가불가
터미널 종료 후 유지nohup command &불완전Start-Process
완전 독립 실행setsid command불가Start-Process
서비스 실행systemd serviceWindows ServiceWindows Service
스크립트 백그라운드./script.sh &start script.batStart-Job { script }

6. 네트워크관련

1. IP 주소

기능Linux (bash)Windows (cmd)Windows (PowerShell)
IP 확인ip addripconfigGet-NetIPAddress
라우팅ip routeroute printGet-NetRoute

2. 포트 연결 및 확인

기능Linux (bash)Windows (cmd)Windows (PowerShell)
포트 확인netstat -tulpnnetstat -anoGet-NetTCPConnection
리스닝 포트ss -lntpnetstat -anGet-NetTCPConnection -State Listen

3. 통신 테스트

기능Linux (bash)Windows (cmd)Windows (PowerShell)
pingpingping
HTTPcurlcurlInvoke-WebRequest
DNSnslookupnslookupResolve-DnsName

7. 시스템 관련

1. OS/커널

기능Linux (bash)Windows (cmd)Windows (PowerShell)
OS 정보uname -averGet-ComputerInfo
배포판cat /etc/os-releasesysteminfoGet-ComputerInfo

2. 리소스

기능Linux (bash)Windows (cmd)Windows (PowerShell)
CPUlscpusysteminfoGet-CimInstance Win32_Processor
메모리free -hsysteminfoGet-CimInstance Win32_OperatingSystem
디스크df -hdirGet-PSDrive

8. 로그 관리

기능Linux (bash)Windows (cmd)Windows (PowerShell)
로그 조회tail -f /var/log/app.logtype log.txtGet-Content -Wait
시스템 로그journalctleventvwrGet-EventLog
This post is licensed under CC BY 4.0 by the author.