Coreutils for Windows
(github.com/microsoft)- 윈도우에서 UNIX 스타일 코어 유틸리티를 네이티브로 실행해, 리눅스/맥/WSL에서 쓰던 동일한 명령과 파이프라인을 그대로 사용
- Microsoft가 관리하는 빌드로 uutils/coreutils, findutils, grep을 단일 멀티콜 바이너리로 묶음
- 동일한 명령/플래그/파이프라인이 같은 방식으로 동작해, 기존 스크립트를 변환 없이 이식 가능
- Linux/macOS/WSL/컨테이너/Windows 간 이동을 마찰 없이 만드는 것이 목표
- PowerShell 7.4 이상 필요(
~지원은 7.6 이상 권장)- 일부 명령은 CMD·PowerShell 내장 명령과 이름이 겹쳐 PATH 순서와 별칭 테이블에 따라 실행 여부 결정
- 미제공 명령:
dir/expand/more(내장 DOS 명령 충돌),kill(시그널 없음),timeout(kill의존),whoami(Windows 내장 명령과 충돌) find와sort는 원래 DOS 명령의 통합 포트,hostname은 Windows 내장 명령의 슈퍼셋
- Windows의 환경 차이 존재
/dev/null대신NUL사용, POSIX 시그널 미지원(Ctrl+C만 동작)- 경로 구분자
/·\모두 허용, 파일 권한은 POSIX 비트가 아닌 ACL 기반 - CRLF 줄바꿈은 대부분 알아서(transparently) 처리되나
uniq등 바이트 기반 동작에서 차이 가능 - 심볼릭 링크 읽기는 그냥 되지만, 새 심볼릭 링크 생성은 개발자 모드 또는 권한 상승 터미널 필요
- POSIX 전용 개념(
chmod,chown,id,who등)과 Windows에서 불필요한 명령(dircolors,shred,uname등)은 의도적으로 제외 - MIT 라이선스 : Rust + PowerShell + Inno Setup으로 구현