Операционные системы

Microsoft Coreutils заменил WSL в повседневных задачах — автору хватило восьми команд

Microsoft Coreutils для Windows

Microsoft Coreutils для Windows позволяет запускать привычные команды из мира Linux напрямую в Windows, без постоянного перехода в WSL. Автор MakeUseOf неделю работал с набором утилит и обнаружил, что для повседневных задач ему чаще всего не была нужна полноценная Linux-среда — хватало восьми знакомых команд.

Речь идёт о ls, grep, find, cat, sort, head, tail и wc. Именно ради них автор обычно запускал WSL — Windows Subsystem for Linux, то есть подсистему Windows для работы с Linux-средой.

Во время теста Coreutils справился с обычной работой с файлами и текстом. Команда ls -la запускалась прямо в Windows, рекурсивный find находил нужные файлы, а grep -r позволял искать строки сразу во всей папке проекта.

Работали и привычные цепочки команд. Например, для разбора журнала ошибок автор использовал cat access.log | grep 500 | sort | uniq | wc -l. Небольшие однострочные команды для пакетного переименования файлов и очистки вывода логов также потребовали минимум изменений.

Любопытный момент обнаружился с производительностью. По наблюдениям автора, рекурсивные grep и find на большом каталоге Windows отрабатывали быстрее, чем те же операции через WSL. Однако точных замеров в материале нет, поэтому считать Coreutils универсально более быстрым вариантом нельзя.

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

В обычной командной строке CMD таких конфликтов меньше. В материале также упоминается таблица совместимости Microsoft для PowerShell 7.4 и новее, где некоторые утилиты отмечены как поставляемые, но конфликтующие с уже существующими командами оболочки.

Полноценной заменой WSL Coreutils for Windows всё равно не становится. В Windows отсутствуют привычные механизмы, на которые рассчитывают некоторые Unix-команды. В частности, автор отмечает отсутствие chmod, chown, kill и timeout. Вместо /dev/null в Windows используется NUL, а при работе с текстовыми файлами можно столкнуться с окончаниями строк CRLF.

По этой же причине WSL остаётся нужен для задач, где важны Linux-специфичные права доступа, управление процессами, пакетные менеджеры, контейнеры или полноценная среда разработки. Но для поиска файлов, фильтрации логов и небольших сценариев ситуация стала проще: можно остаться в терминале Windows и не переключаться в отдельную Linux-среду.

Именно в этом и заключается главный вывод недельного теста. Автор не отказался от WSL как от технологии — он просто понял, что в большинстве повседневных терминальных задач открывал её ради восьми команд, которые теперь можно запускать прямо в Windows.


Источник: MakeUseOf

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x