Geliştiriciler ve siber güvenlikçiler olarak gün içinde kaç kez Windows ile Linux (veya WSL) arasında mekik dokuyoruz, sayısını unuttum. En büyük kanser de nedir? El alışkanlığıyla PowerShell'e ls veya cat yazdığında aldığın o garip hatalar ya da tam istediğin gibi çalışmayan alias'lar...
Microsoft, Build 2026 geliştirici konferansında bu çileyi kökten bitirecek harika bir projeyi duyurdu: Coreutils for Windows.
İşin Arkasındaki Sır: Gücünü Rust'tan Alıyor!
Olayı araştırırken en çok hoşuma giden detay şu oldu: Microsoft bu işi sıfırdan yapmak yerine, açık kaynak topluluğunun harika bir işini arkasına almış. GNU coreutils araçlarının Rust diliyle platformlar arası yeniden yazılmış hali olan uutils projesini baz almışlar. Yani hem inanılmaz performanslı hem de bellek yönetimi açısından çok güvenli bir altyapı bizi bekliyor.
GitHub'da Microsoft'un resmi olarak sahiplendiği bu paket; uutils/coreutils, findutils ve hepimizin eli ayağı olan grep komutunu tek bir binary altında topluyor.
Denemek istersen WinGet üzerinden şu an yükleyebiliyorsun:
winget install Microsoft.Coreutils
Mühendislik Zekası: Disk Alanından Nasıl Tasarruf Etmişler?
"Her komut için ayrı .exe mi kuracağız, sistem çöplüğe mi dönecek?" derseniz, adamlar orayı çok zekice çözmüş. Sadece tek bir ana dosya var: coreutils.exe.
Sen paketi kurduğunda; ls.exe, cp.exe, cat.exe, rm.exe gibi komutların hepsi için NTFS tabanlı hardlink (sabit bağlantılar) oluşturuluyor ve hepsi bu tek ana dosyayı işaret ediyor. Terminale ls yazdığında Windows o ana dosyayı çağırıyor; dosya da "Haa, kullanıcı ls istemiş" deyip arkada ilgili kodu tetikliyor. fsutil hardlink list coreutils.exe yazdığında her şeyin aynı yere çıktığını görmek mimari açıdan çok keyifli.
Peki Her Komut Var mı? (Spoiler: Maalesef Hayır)
Tabii ki Windows ve Linux'un dosya sistemleri ve mimarileri tamamen farklı. Bu yüzden her şeyi doğrudan çalıştıramıyoruz.
- Çakışma Sorunları: dir veya whoami gibi doğrudan Windows'un kendi içinde olan komutlar çakışma yaratmasın diye bu ilk pakete dahil edilmemiş. ls ve cat gibi komutlar geliyor ama hangi shell'i (CMD mi, PowerShell mi) kullandığına bağlı olarak öncelik sıralaması değişebiliyor.
- POSIX Engeli: Windows mimarisinde yerel POSIX sinyal desteği tam olmadığı için chmod, chown, chroot, nohup ve süreçleri sonlandırmak için kullandığımız kill / timeout gibi komutlar şimdilik yok. İleride getirmeyi düşünüyorlarmış ama satır sonu karakterleri (LF vs CRLF) ve dosya izinleri yüzünden Linux'taki bazı betiklerin Windows'ta ufak tefek sapmalar yaşayabileceğini de not düşmüşler.
Büyük Resim: Windows Tam Bir Geliştirici Cenneti mi Oluyor?
Microsoft'un son yıllarda Linux'u bu kadar kucaklaması tesadüf değil. Etkinlikte sadece bunu değil, WSL Containers özelliğini de duyurdular. Artık yerel CLI araçlarıyla Windows üzerinde doğrudan Linux konteynerleri uçurabileceğiz. Docker kurma yükünü ne kadar hafifletir, yaşayıp göreceğiz.
Açıkçası yerel olarak, emülasyon olmadan grep veya find çalıştırabilmek, özellikle hızlıca log analizi yaparken ya da script hazırlarken hayat kurtaracak. Proje tamamen açık kaynak ve GitHub'da geliştirilmeye devam ediyor.
Kaynak: Abrams, L. (2026, 2 Haziran). Microsoft's Coreutils project brings Linux commands to Windows. BleepingComputer. https://www.bleepingcomputer.com/news/microsoft/microsofts-coreutils-project-brings-linux-commands-to-windows/
