メインコンテンツまでスキップ

Coreutils for Windows のまとめ

WinGetでインストールできるMicrosoft公式Linuxコマンド群の最新動向(2026年6月更新)

2026年6月、Microsoftは Coreutils for Windows を正式に公開した。

winget install Microsoft.Coreutils

このコマンドでインストールできる Microsoft.Coreutils は、LinuxやmacOSで日常的に利用される lscprmcat などのUNIX系コマンドを、Windows上でネイティブ実行できるようにするMicrosoft公式プロジェクトである。

本記事では、プロジェクトの概要、対応コマンド、制限事項、WSLやPowerShell との違いを整理する。

概要

Microsoft.Coreutilsは、MicrosoftがメンテナンスするWindows向けのコマンドラインツール群である。

内部的には、

  • uutils/coreutils
  • findutils
  • grep

をベースに構築されており、Rust で実装されている。

Microsoft はこのプロジェクトの目的を、

Linux、macOS、WSL、コンテナ、Windowsを行き来する開発者の摩擦を減らすこと

と説明。

インストール方法

WinGet から簡単に導入可能である。

winget install Microsoft.Coreutils

WinGetはWindows標準のパッケージマネージャーであり、指定したパッケージを自動的にダウンロード・インストール可能。

インストール後は通常のコマンドとして利用可能。

ls
cat file.txt
grep keyword log.txt
cp source.txt backup.txt

利用できる主なコマンド

代表的なコマンドは以下の通り。

分類コマンド例
ファイル一覧ls
ファイルコピーcp
ファイル移動mv
ファイル削除rm
内容表示cat
作業ディレクトリpwd
ディレクトリ作成mkdir
スリープsleep
パイプ処理tee
検索grep, find

Linux利用者であれば見慣れたコマンドがそのまま利用可。

PowerShellとの衝突問題

ここが最大の注意点!

PowerShell には既に同名のエイリアスや組み込みコマンドが存在する。

例:

コマンド問題
lsPowerShellエイリアスと衝突
cpCopy-Itemと衝突
catGet-Contentと衝突
rmRemove-Itemと衝突
pwdGet-Locationと衝突

そのため、

ls

を実行しても、必ずしも Coreutils 版が呼ばれるわけではない。

Microsoft は PowerShell 7.4 以降の利用を推奨している。

Windows特有の制約

Linux 互換を目指しているものの、Windowsの仕組みによる制限が存在する。

1. POSIX シグナルがない

Linuxの

kill
SIGTERM
SIGKILL

の仕組みはWindowsに存在しない。

そのため、

kill
timeout

は現時点で提供されない。

2. /dev/null が存在しない

Linux:

grep error log.txt > /dev/null

Windows:

grep error log.txt > NUL

となる。

3. ACLとPOSIX権限の違い

Windows は ACL ベースの権限管理である。

そのため、

chmod
chown
chgrp

などのコマンドは提供されない。


4. シンボリックリンク作成

読み取りは可能だが、新規作成には

  • Developer Mode
  • 管理者権限

が必要である。

提供されない主なコマンド

Microsoft は一部コマンドを意図的に除外している。

Windows と衝突するもの

  • dir
  • more
  • paste
  • whoami
  • expand

POSIX 依存が強いもの

  • chmod
  • chown
  • chgrp
  • chroot
  • nohup
  • stty
  • tty
  • who

現時点で未実装なもの

  • kill
  • timeout
  • dd

WSLとの違い

よく比較されるのが WSL(Windows Subsystem for Linux)である。

項目Microsoft.CoreutilsWSL
導入コスト非常に低いLinux環境構築が必要
起動速度ネイティブ仮想環境層あり
Linux互換性一部非常に高い
Bash環境なしあり
apt利用不可可能
シェルスクリプト互換性限定的高い

WSL は「Linux 環境そのもの」だが、Coreutils は「Windows 上で Linux 風コマンドを使うためのツール集」である。

コメント

読み込み中...

コメントを投稿する