Skip to content

Windows CLI, 가장 큰 업그레이드를 받다

PowerShell의 투박한 명령과 씨름하는 데 지치셨나요? Microsoft가 Windows에서 편안함을 느낄 수 있게 해줄 기본 UNIX 도구 세트를 방금 출시했습니다.

Theo Brandt
Hero image for: Windows CLI, 가장 큰 업그레이드를 받다

요약 / 핵심 포인트

  • PowerShell의 투박한 명령과 씨름하는 데 지치셨나요?
  • Microsoft가 Windows에서 편안함을 느낄 수 있게 해줄 기본 UNIX 도구 세트를 방금 출시했습니다.

당신이 기다려온 명령줄

Windows 개발자들은 장황한 PowerShell 명령으로 인해 끊임없이 마찰을 겪습니다. 근육 기억은 `ls`, `cat`, `cp`를 요구하지만, 시스템은 `Get-ChildItem`, `Get-Content`, `Copy-Item`을 필요로 합니다. 이러한 불일치는 컨텍스트 전환을 강요하여 워크플로우를 방해하고 간결한 UNIX 명령을 긴 PowerShell cmdlet으로 번역하는 데 귀중한 시간을 낭비하게 합니다. 기본적이고 익숙한 명령줄 경험이 절실히 부족했습니다.

Microsoft가 이제 결정적인 솔루션을 제공합니다: Microsoft Coreutils. 이 기본적이고 Microsoft가 유지 관리하는 uutils/coreutils 프로젝트의 포트는 명령줄 격차를 직접 해소합니다. GNU Coreutils의 Rust 재구현을 기반으로 구축되었으며, WSL이나 가상화 계층 없이 Windows 환경 내에서 기본적으로 실행됩니다. 오버헤드 없이 강력한 UNIX 기능을 얻으세요.

`WinGet install Microsoft.Coreutils`로 설치하고 필수 명령 모음을 즉시 잠금 해제하세요. 다음과 같은 익숙한 도구에 액세스하세요: - `cat` - `grep` - `find` - `xargs` - `sort` 이들은 기존 Windows Terminal 내에서 직접 작동합니다. 이는 Linux 또는 WSL을 위해 이미 작성한 동일한 플래그, 파이프 및 스크립트를 사용하여 확립된 UNIX 근육 기억을 활용하여 즉각적인 생산성을 제공합니다. 당신의 명령줄이 방금 상당한 업그레이드를 받았습니다.

당신의 근육 기억이 돌아왔습니다

명령줄 근육 기억을 되찾으세요. Microsoft.Coreutils를 하나의 간단한 명령으로 설치하세요: `WinGet install Microsoft.Coreutils`. 이 패키지는 GNU Coreutils의 Rust 재구현인 uutils/coreutils 프로젝트의 Microsoft가 유지 관리하는 빌드입니다. 가상화 계층 없이 Windows에서 기본적으로 실행되는 `cat`, `grep`, `find`, `xargs`, `sort`와 같은 필수 UNIX 스타일 실행 파일에 즉시 액세스할 수 있습니다. 이는 선호하는 명령을 CMD 또는 PowerShell로 직접 가져옵니다.

Linux 또는 WSL에서 사용하는 것과 동일한 플래그와 파이프로 강력한 스크립트를 실행하세요. 예를 들어, `find . -name "*.ts" | xargs grep "TODO"`를 사용하여 특정 'TODO' 문자열을 포함하는 모든 TypeScript 파일을 찾으세요. 이 명령은 예상대로 정확하게 작동하며, 기존 스크립트와 근육 기억이 완벽하게 전환됨을 보여줍니다. 아무것도 변하지 않은 것처럼 느껴지는데, 이것이 핵심입니다.

당신의 레거시를 보호하세요. Microsoft는 새로운 Unix 버전과 함께 원래 DOS `sort` 및 `find`의 포트를 번들로 제공했습니다. 이 지능적인 설계는 DOS 스타일 구문에 의존하는 오래된 CMD 스크립트의 손상을 방지하여 동시에 실행할 수 있도록 합니다. 이제 전통적인 DOS 명령과 현대적인 Unix 명령이 공존하여 타협 없이 완벽한 하위 호환성을 제공합니다.

피해야 할 PowerShell 함정

PowerShell의 내장 별칭은 중요한 함정을 만듭니다. `ls`, `cat`, `rm`과 같은 명령은 우선순위를 유지하여 새로 설치된 Coreutils 실행 파일보다 PowerShell의 기본 cmdlet을 실행합니다. `ls`를 호출하면 여전히 내부적으로 `Get-ChildItem`이 호출됩니다. UNIX 명령에 액세스하려면 `ls.exe`를 명시적으로 호출하거나 해당 명령에 대한 기존 PowerShell 별칭을 지워야 합니다.

파이핑의 한계를 예상하세요. PowerShell의 객체 기반 파이프라인은 기본 실행 파일과 상호 작용할 때 바이너리 스트림을 손상시킬 수 있습니다. 예를 들어, `xargs` 및 `find`와 같은 명령은 PowerShell의 출력 처리가 바이너리 스트림 기대치와 자주 충돌하기 때문에 예상 입력 또는 출력에 문제가 발생할 수 있습니다. 이는 예기치 않은 동작이나 데이터 손상으로 이어질 수 있습니다.

이것은 완전한 POSIX 환경이 아님을 이해하십시오. `chmod` 및 `chown`과 같은 중요한 명령은 위조되거나 에뮬레이션된 것이 아니라 완전히 부재합니다. Windows는 UNIX 계열 시스템에서 사용되는 권한 비트와는 근본적으로 다른 Access Control Lists (ACLs)를 통해 파일 권한을 관리합니다. POSIX 권한을 직접 조작할 수 없습니다. 이것들은 네이티브 바이너리이며, 완전한 Linux 환경이 아닙니다.

WSL 킬러? 그렇지는 않습니다.

Coreutils는 강력한 GNU Coreutils를 Windows에 제공하지만, WSL 대체품은 아닙니다. 이 차이점을 이해하십시오: Coreutils는 네이티브 바이너리를 제공하여 기존 Windows 명령줄을 편리하게 개선하고 익숙한 Unix 계열 명령에 직접 액세스할 수 있도록 하며, 완전한 Linux 환경 에뮬레이션은 아닙니다. 결정적으로, `chmod` 또는 `chown`과 같은 POSIX 기능이 작동할 것이라고 기대하지 마십시오. Windows는 권한 비트가 아닌 ACLs에 의존하므로 이러한 기능은 의도적으로 생략되었으며, 이는 이 도구가 전체 OS를 가상화하지 않고도 워크플로우를 간소화한다는 의미입니다.

Enjoying this? Get one like it in your inbox each morning.

one email a day · unsubscribe in two clicks · no third-party tracking

빠르고 일상적인 스크립팅에 이상적인 Coreutils는 전체 WSL 인스턴스가 불필요한 오버헤드를 유발하는 작업을 자동화하는 데 탁월합니다. `find . -name "*.ts" | xargs grep "TODO"`와 같은 익숙한 한 줄 명령을 PowerShell 또는 CMD에서 직접 실행하여, 컨텍스트 전환 없이 이미 알고 있는 명령을 사용하여 신속한 파일 조작, 텍스트 처리 및 데이터 필터링을 가능하게 합니다. 이러한 명령을 기존 배치 스크립트 또는 PowerShell 워크플로우에 원활하게 통합하십시오.

Microsoft의 Coreutils 출시는 단순한 편의성을 넘어, 네이티브 Windows 개발자 경험을 향상시키려는 명확한 의지를 보여주는 중요한 전략적 변화를 나타냅니다. Windows에서 Microsoft가 유지 관리하는 Unix 툴링을 제공함으로써 플랫폼 간의 격차가 크게 줄어들고, 개발자에게 크로스 플랫폼 근육 기억에 즉시 액세스할 수 있도록 합니다. 이는 Windows를 현대 개발을 위한 더욱 강력하고 다재다능한 환경으로 만들며, 개방적이고 통합된 생태계에 대한 Microsoft의 헌신을 강조합니다.

자주 묻는 질문

Microsoft Coreutils란 무엇입니까?

이것은 고전적인 GNU Coreutils의 현대적인 Rust 재구현을 기반으로 하는, Windows용 네이티브 UNIX 명령줄 유틸리티의 Microsoft 유지 관리 패키지입니다.

Coreutils를 설치한 후에도 WSL이 여전히 필요합니까?

예, 완전한 Linux 환경을 위해서는 필요합니다. Coreutils는 특정 명령 바이너리를 제공하지만, 권한 관리(`chmod`)와 같은 기능을 갖춘 완전한 POSIX 준수 시스템은 아닙니다.

PowerShell 별칭 대신 실제 `ls` 명령을 어떻게 사용합니까?

실행 파일을 직접 호출하거나(`ls.exe`) 세션 또는 프로필에서 `Remove-Item alias:ls` 명령을 사용하여 `ls`에 대한 PowerShell 별칭을 제거해야 합니다.

이것이 Git Bash보다 낫습니까?

다릅니다. Coreutils는 CMD 또는 PowerShell에 직접 통합되는 네이티브 Windows 바이너리를 제공하는 반면, Git Bash는 별도의 Bash 에뮬레이션 환경을 제공합니다.

Found this useful? Share it.

AI Reputation Report

What AI knows about you.

ChatGPT, Perplexity, Gemini, Claude & Grok are already answering questions in your category. Type your site, see who they name — you, or your competitor. Free preview.

Check my sitefree preview

One short daily email of tools worth shipping. No drip funnel.

one email a day · unsubscribe in two clicks · no third-party tracking

🚀더 알아보기

AI 트렌드를 앞서가세요

Stork.AIが엄선한 최고의 AI 도구, 에이전트, MCP 서버를 만나보세요.

P.S. 쓸 만한 걸 만드셨나요? Stork에 등록