Microsoft Coreutils, sekiz Linux komutunu Windows’a taşıdı

Microsoft Coreutils; dosya arama, günlük filtreleme ve metin işleme gibi günlük görevlerde kullanılan sekiz Linux komutunu Windows’ta yerel olarak çalıştırıyor. Böylece basit işlemler için WSL açma ihtiyacı azalıyor.
Microsoft Coreutils, sekiz Linux komutunu Windows’a taşıdı

Microsoft Coreutils, sekiz Linux komutunu Windows’a taşıdı

Kısa açıklama: Microsoft Coreutils; dosya arama, günlük filtreleme ve metin işleme gibi günlük görevlerde kullanılan sekiz Linux komutunu Windows’ta yerel olarak çalıştırıyor. Böylece basit işlemler için WSL açma ihtiyacı azalıyor.

WSL’ye ihtiyaç duymadan sekiz komut kullanılabiliyor

Microsoft Coreutils, Linux kullanıcılarının alıştığı komut satırı araçlarını doğrudan Windows ortamına getiriyor. Paket sayesinde ls, grep, find, cat, sort, head, tail ve wc gibi komutlar, tam bir Linux alt sistemi çalıştırmadan kullanılabiliyor. Bu araçlar özellikle dosya yönetimi, yapılandırma dosyalarını bulma, günlük kayıtlarını inceleme ve küçük betikler hazırlama gibi işler için yeterli bir temel oluşturuyor. Örneğin ls -la ile ayrıntılı dosya listesi alınabiliyor, grep -r ile proje klasörlerinde özyinelemeli metin araması yapılabiliyor. cat access.log | grep 500 | sort | uniq | wc -l gibi birden fazla aracın birbirine bağlandığı komut zincirleri de Windows üzerinde çalışıyor. Daha önce hazırlanmış küçük Bash komutlarının önemli bir bölümü çok az değişiklikle taşınabiliyor. Böylece kullanıcı, aynı işi PowerShell’in farklı söz dizimi ve nesne tabanlı işlem hattı mantığıyla yeniden oluşturmak zorunda kalmıyor.

Komut

Temel kullanım alanı

ls

Dosya ve klasörleri listeleme

grep

Metin veya günlük kayıtlarında arama ve filtreleme

find

Belirli ölçütlere göre dosya ve klasör bulma

cat

Dosya içeriğini görüntüleme veya birleştirme

sort

Metin satırlarını belirli bir düzene göre sıralama

head

Bir dosyanın ilk satırlarını görüntüleme

tail

Dosyanın son satırlarını görüntüleme ve günlükleri takip etme

wc

Satır, kelime ve karakter sayısını hesaplama

Günlük işlerde bağlam değiştirme ihtiyacı azalıyor

Coreutils’in en önemli katkısı yalnızca tanıdık komutları çalıştırması değil, kullanıcıyı Windows ile WSL arasında gidip gelmekten kurtarması oluyor. Daha önce bir yapılandırma dosyasını bulmak veya sunucu günlüğündeki hataları saymak için WSL açmak gerekirken, aynı işlemler artık CMD içerisinden tamamlanabiliyor. Yerel dosya sistemi üzerinde çalışan grep ve find, büyük proje klasörlerinde bazı durumlarda WSL üzerinden çalıştırılan karşılıklarından daha hızlı sonuç verebiliyor. Bunun nedeni, aracın Windows sürücüsüne erişirken ek bir dosya sistemi katmanından geçmemesi olarak değerlendiriliyor. Aradaki performans farkı her iş yükünde büyük olmayabilir, ancak sık tekrarlanan aramalarda hissedilebilir bir avantaj sağlıyor. Daha belirgin değişiklik ise çalışma düzeninde ortaya çıkıyor; kullanıcı terminal değiştirmeden dosya arayabiliyor, çıktı filtreleyebiliyor ve sonuçları sayabiliyor. Coreutils bu yönüyle WSL’yi tamamen kaldırmaktan çok, basit görevlerde ona duyulan ihtiyacı azaltıyor.

Yapılan işlem

Önceki çalışma biçimi

Coreutils sonrasında

Günlük kayıtlarında arama

WSL’yi açma

CMD içinde kalma

Yapılandırma dosyası bulma

WSL’yi açma

CMD içinde find kullanma

Eşleşmeleri sayma

WSL araçlarını kullanma

Coreutils ile işlem hattı oluşturma

Dosyaları toplu yeniden adlandırma

WSL veya yeni PowerShell betiği

Mevcut komutları uyarlama

PowerShell’de takma ad çakışmaları yaşanabiliyor

Coreutils, CMD içerisinde daha sorunsuz bir deneyim sunarken PowerShell’de bazı yerleşik takma adlarla çakışabiliyor. PowerShell’de yazılan ls komutu, Coreutils çalıştırılabilir dosyası yerine varsayılan olarak Get-ChildItem komutunu çağırıyor. Benzer şekilde cat, Get-Content için kullanılan mevcut bir takma ad olarak görev yapıyor. Coreutils sürümünü kesin olarak çalıştırmak isteyen kullanıcıların ls.exe veya cat.exe yazması gerekebiliyor. Alternatif olarak PATH sıralaması değiştirilebiliyor ya da çakışan takma adlar PowerShell profilinden kaldırılabiliyor. Ancak bu düzenlemeler, özellikle farklı Windows makinelerinde aynı betiği kullananlar için ek yapılandırma gerektirebilir. CMD’de aynı takma ad sistemi bulunmadığından, kurulan araçların çağrılması genellikle daha doğrudan gerçekleşiyor.

Komut

CMD’deki davranış

PowerShell’deki davranış

ls

Kurulan araç çalışır

Get-ChildItem takma adıyla çakışır

cat

Kurulan araç çalışır

Get-Content takma adıyla çakışır

pwd

Kurulan araç çalışır

Yerleşik takma ad bulunur

find

Kurulan çalıştırılabilir dosya kullanılır

Coreutils çalıştırılabilir dosyası kullanılabilir

sort

Kurulan çalıştırılabilir dosya kullanılır

Coreutils çalıştırılabilir dosyası kullanılabilir

Coreutils, WSL’nin tamamının yerini almıyor

Coreutils günlük dosya ve metin işlemlerini kolaylaştırsa da Windows’u tam anlamıyla Linux ortamına dönüştürmüyor. Windows izin sistemi POSIX yapısıyla aynı olmadığı için chmod ve chown gibi araçlar pakette bulunmuyor. Benzer şekilde POSIX sinyallerine dayanan kill ve timeout komutlarının doğrudan karşılıkları sunulmuyor. Microsoft ayrıca Windows’un mevcut dir, more ve whoami komutlarını bozmamak için aynı isimleri taşıyan araçları pakete eklememiş durumda. Betiklerin taşınması sırasında CRLF satır sonları da uyumluluk sorunlarına yol açabilirken, Linux’taki /dev/null yerine Windows’un NUL hedefinin kullanılması gerekiyor. Linux izinleri, gelişmiş işlem kontrolü, paket yöneticileri, konteynerler veya Linux’a özel geliştirme ortamları gerektiğinde WSL önemini koruyor. Buna karşılık günlük dosya yönetimi, günlük filtreleme ve küçük komut zincirleriyle sınırlı kullanıcılar için WSL artık sürekli açık tutulması gereken bir araç olmaktan çıkabiliyor.

Yorum Yaz
Yorum yapabilmek için giriş yap veya üye ol.
Yorumlar