Skip to content

Командная строка Windows получила самое масштабное обновление

Устали бороться с неуклюжими командами PowerShell? Microsoft только что выпустила нативный набор инструментов UNIX, который позволит вам чувствовать себя как дома в Windows.

Theo Brandt
Hero image for: Командная строка Windows получила самое масштабное обновление

Кратко / Главное

  • Устали бороться с неуклюжими командами PowerShell?
  • Microsoft только что выпустила нативный набор инструментов UNIX, который позволит вам чувствовать себя как дома в Windows.

Командная строка, которую вы так долго ждали

Разработчики Windows постоянно сталкиваются с трудностями из-за многословных команд PowerShell. Мышечная память требует `ls`, `cat`, `cp`, но система требует `Get-ChildItem`, `Get-Content`, `Copy-Item`. Это несоответствие вынуждает переключать контекст, что затрудняет рабочий процесс и тратит драгоценное время на перевод лаконичных команд UNIX в длинные командлеты PowerShell. Нативного, привычного опыта работы с командной строкой критически не хватало.

Microsoft теперь предлагает окончательное решение: Microsoft Coreutils. Этот нативный, поддерживаемый Microsoft порт проекта uutils/coreutils напрямую устраняет пробел в командной строке. Созданный на основе перереализации GNU Coreutils на Rust, он работает нативно в вашей среде Windows, не требуя WSL или слоя виртуализации. Получите мощную функциональность UNIX без накладных расходов.

Установите с помощью `WinGet install Microsoft.Coreutils` и мгновенно получите доступ к набору основных команд. Используйте привычные инструменты, такие как: - `cat` - `grep` - `find` - `xargs` - `sort` Они работают непосредственно в вашем существующем Windows Terminal. Это обеспечивает немедленную производительность, используя вашу устоявшуюся мышечную память UNIX с теми же флагами, конвейерами и скриптами, которые вы уже писали для Linux или WSL. Ваша командная строка только что получила значительное обновление.

Ваша мышечная память вернулась

Верните свою мышечную память командной строки. Установите Microsoft.Coreutils одной простой командой: `WinGet install Microsoft.Coreutils`. Этот пакет представляет собой сборку проекта uutils/coreutils, поддерживаемую Microsoft, которая является перереализацией GNU Coreutils на Rust. Вы немедленно получаете доступ к основным исполняемым файлам в стиле UNIX, таким как `cat`, `grep`, `find`, `xargs` и `sort`, все они работают нативно в Windows без слоя виртуализации. Это приносит ваши предпочтительные команды непосредственно в CMD или PowerShell.

Выполняйте мощные скрипты с теми же флагами и конвейерами, на которые вы полагаетесь в Linux или WSL. Например, найдите все файлы TypeScript, содержащие определенную строку 'TODO', используя `find . -name "*.ts" | xargs grep "TODO"`. Эта команда работает именно так, как вы ожидаете, демонстрируя, что ваши существующие скрипты и мышечная память переводятся идеально. Ощущение, будто ничего не изменилось, и в этом вся суть.

Защитите свое наследие. Microsoft включила порты оригинальных команд DOS `sort` и `find` наряду с новыми версиями Unix. Этот интеллектуальный дизайн предотвращает сбои в старых скриптах CMD, которые полагаются на синтаксис в стиле DOS, позволяя им работать одновременно. Как традиционные команды DOS, так и современные команды Unix теперь сосуществуют, предлагая полную обратную совместимость без компромиссов.

Ловушки PowerShell, которых следует избегать

Встроенные псевдонимы PowerShell создают критическую ловушку. Команды вроде `ls`, `cat` и `rm` сохраняют приоритет, выполняя нативные командлеты PowerShell вместо недавно установленных исполняемых файлов Coreutils. Вызов `ls` по-прежнему вызывает `Get-ChildItem` под капотом. Чтобы получить доступ к команде UNIX, вы должны явно вызвать `ls.exe` или удалить существующий псевдоним PowerShell для этой команды.

Ожидайте ограничений при использовании конвейеров. Объектный конвейер PowerShell может повреждать бинарные потоки при взаимодействии с нативными исполняемыми файлами. Например, команды, такие как `xargs` и `find`, могут столкнуться с проблемами с ожидаемым вводом или выводом, поскольку обработка вывода PowerShell часто конфликтует с их ожиданиями бинарного потока. Это может привести к неожиданному поведению или повреждению данных.

Поймите, это не полноценная POSIX environment. Важные команды, такие как `chmod` и `chown`, полностью отсутствуют, они не подделаны и не эмулированы. Windows управляет разрешениями файлов через Access Control Lists (ACLs), что принципиально отличается от битов разрешений, используемых в UNIX-подобных системах. Вы не можете напрямую манипулировать POSIX разрешениями; это нативные бинарники, а не полноценная Linux environment.

Убийца WSL? Не совсем.

Coreutils предоставляет надежные GNU Coreutils для Windows, но это не замена WSL. Поймите это различие: Coreutils предоставляет нативные бинарники, улучшая существующую командную строку Windows для удобства и прямого доступа к знакомым Unix-подобным командам, а не полную эмуляцию Linux environment. Важно отметить, не ожидайте, что функции POSIX, такие как `chmod` или `chown`, будут работать; они намеренно опущены, поскольку 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.

Выпуск Coreutils от Microsoft представляет собой значительный стратегический сдвиг, не просто удобство, а четкое обязательство по улучшению нативного опыта разработчиков Windows. Предоставляя поддерживаемые Microsoft Unix tooling на Windows, разрыв между платформами значительно сужается, предоставляя разработчикам немедленный доступ к кроссплатформенной мышечной памяти. Это делает Windows более мощной и универсальной средой для современной разработки, подчеркивая приверженность Microsoft открытой, интегрированной экосистеме.

Часто задаваемые вопросы

Что такое Microsoft Coreutils?

Это поддерживаемый Microsoft пакет нативных утилит командной строки UNIX для Windows, основанный на современной реализации классических GNU Coreutils на Rust.

Нужен ли мне WSL после установки Coreutils?

Да, для полноценной Linux environment. Coreutils предоставляет специфические бинарники команд, но не является полной POSIX-совместимой системой с такими функциями, как управление разрешениями (`chmod`).

Как использовать настоящую команду `ls` вместо псевдонима PowerShell?

Вы должны либо вызвать исполняемый файл напрямую (`ls.exe`), либо удалить псевдоним PowerShell для `ls` с помощью команды `Remove-Item alias:ls` в вашей сессии или профиле.

Это лучше, чем Git Bash?

Это другое. Coreutils предоставляет нативные бинарники Windows, которые напрямую интегрируются в CMD или PowerShell, тогда как 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

🚀Узнать больше

Будьте в курсе трендов ИИ

Откройте лучшие инструменты ИИ, агенты и MCP-серверы от Stork.AI.

P.S. Сделали что-то полезное? Опубликуйте на Stork