Windows, Windows 10 Yıldönümü Güncelleştirmesi'nin yayımlanmasının ardından, Windows için Windows Alt Sistemini (WSL) duyurdu - yerel Windows ikililerini çalıştırmayı destekleyen Windows 10'da gerçek yerel yerel Bash'i çalıştırmanın bir yolu. Bunu, Windows'ta bir kullanıcı modu Ubuntu Linux görüntüsü çalıştırarak yapar.
Bu, ls
, grep
, top
ve chmod
gibi Linux komut satırı araçlarını çalıştırabileceğiniz anlamına gelir. Altında orijinal Ubuntu çalıştırdığınız için, lsb-release -a
çalıştırmak size aşağıdaki çıktıları verir:
vim
, git
, screen
, tmux
gibi programları kurmak için apt-get
ve arkadaşlarını kullanabilir, hatta bir nethack:
oyunu oynayabilirsiniz nethack:
Ancak, bu sistemin beta sürümünde olduğunu ve sunucu iş yükleri için uygun olmadığını unutmayın . Bu, geliştiricilerin (ve meraklılarının) Windows merkezli uygulamalarını Windows'ta değişiklik yapmadan test etmek için kullandıkları bir araçtır. Bu aynı zamanda Linux GUI uygulamalarını veya Gnome veya KDE gibi ortamları çalıştırmayı amaçlayan bir araç değildir, ancak bazı bilgisayar korsanları için de mümkündür. Bunu temizledikten sonra, Linux kabuğunun Windows 10'da nasıl çalıştığına bir göz atalım.
Linux için Windows Alt Sistemi (WSL)
Resmi belgelere göre, “WSL, yerel Linux ELF64 ikili dosyalarının Windows'ta çalışmasını sağlayan bir bileşen koleksiyonudur”. Windows NT çekirdeğinin üstüne sanallaştırılmış bir Linux çekirdek arayüzü uygulayarak yapar. Diğer bir deyişle, gerçek Linux çekirdeğindeki herhangi bir kodu kullanmaz - bir uygulama Linux'a özel bir sistem çağrısı (sistem çağrısı) yaptığında, WSL onu tüm ağır yükleri kaldıran eşdeğer Windows sistem çağrısına çevirir.
Sanal Makineler ve Cygwin'den Farklılıklar
Şimdi Windows 10'daki Linux Bash Shell'in sanal makinelerin ve Cygwin'in beğenilerine göre nasıl farklı olduğuna bir bakalım.
Sanal makineler
“Neden bunu kullanıyorsun? Neden sadece Windows'ta bir Linux VM kullanmıyorsunuz? ”
Sanal makineye kıyasla, WSL daha az kaynak kullanıyor . Ayrıca Linux'ta olduğu gibi dosyalarınızla çalışmanıza izin verirken, paylaşılan klasörlere veya ağ paylaşımlarına güvenmek zorunda kalmadan temel Windows dosya sistemine tam erişim sağlar.
Cygwin
Windows'ta popüler Linux / Unix benzeri araçları çalıştırmanın bir başka popüler yöntemi Cygwin'dir. İki yaklaşım arasındaki en büyük fark, Cygwin'in Windows'ta yerel Linux ikili dosyalarını çalıştırmanın bir yolu olmamasıdır . Yalnızca Windows'taki Linux dağıtımına benzer işlevsellik sağlayan bir GNU ve Açık Kaynak araçları seti sağlar.
Öte yandan, WSL araçları Windows üzerinde çalışan yerel Linux ELF-64 derlenmiş ikilileridir. Örneğin, apt-get install emacs
komutunu çalıştırmak, resmi Ubuntu depolarından, bir Ubuntu 14.04 kurulumundakiyle aynı dosyaları indirip yükleyecektir.
WSL'deki Kullanıcılar, İzinler ve Dosya Sistemleri
Dosya Sistemi Hiyerarşisi
WSL, geçerli kullanıcının %LocalAppData%\lxss\rootfs
dizini %LocalAppData%\lxss\rootfs
. Bu, WSL Ortamı olarak bilinir ve Linux “ /
” (kök) dizini olarak işlev görür. Örneğin, Windows'taki kullanıcı adınız beebom
, Linux'un kök dizini C:\Users\beebom\AppData\Local\lxss\rootfs.
Bu, her Windows kullanıcısının kendi WSL ortamına sahip olabileceği ve diğer Windows kullanıcılarını etkilemeden apt-get install
yazılım paketleri gibi değişiklikler yapabileceği anlamına gelir.
WSL'deki temel Windows dosya sistemine erişmek mümkündür. Tüm sürücüler /mnt.
altına monte edilmiştir /mnt.
Örneğin, C:\
/mnt/c
, D:\
/mnt/d
altına vb.
Kullanıcılar ve İzinler
WSL'yi ilk yüklediğinizde, sizden yeni bir varsayılan Linux kullanıcısı oluşturmanızı ister. Bu kullanıcının mevcut Windows kullanıcısıyla aynı adı taşımasına gerek yoktur ve genel olarak ayrı bir varlık olarak değerlendirilir. Tek bir Windows kullanıcısı tarafından kontrol edilen birden fazla Linux kullanıcısı bile oluşturabilirsiniz.
sudo
komutunu kullanarak root
ayrıcalıkları elde etmek mümkündür. WSL'de root
olmanın yalnızca kullanıcının Linux ortamındaki ve dosya sistemindeki haklarını etkilediğini - verilen Windows ayrıcalıklarını etkilemediğini unutmayın. Örneğin, Windows yönetici ayrıcalıklarına sahip bir WSL oturumu cd /mnt/c/Users/Administrator
, yönetici ayrıcalıklarına sahip olmayan bir Bash oturumu İzin Reddedilmiş olarak görülebilir. sudo cd /mnt/c/Users/Administrator
, izinler Windows tarafından kısıtlandığından Yönetici dizinine erişim izni vermez.
Linux'a Özel Dosya Sistemi Özellikleri
Linux büyük / küçük harf duyarlı bir sistemdir. Bu, photo.png
ve Photo.png
iki farklı dosya olarak değerlendirildiği anlamına gelir. Windows varsayılan olarak büyük / küçük harf duyarlı olmasa da, hala büyük / küçük harf farkındadır . Bu, photo.png
ve Photo.png
iki ayrı dosya olarak değerlendirilmezken, kesinlikle durumdaki farkın farkındadır .
WSL, Linux'ta olduğu gibi büyük küçük harf duyarlılığını da ele alır. Adı yalnızca WSL ortamının dışındaki durumlarına göre farklılık gösteren iki dosya oluşturmak bile mümkündür. Ancak, birçok Windows uygulamasının bu gibi durumlarla baş edemediğini ve dosyalardan birini veya her ikisini açamayabileceğini unutmayın.
Benzer şekilde, bir NTFS dosya sistemi kullanıyorsanız, sembolik bağlantılar desteklenir. Ancak, sembolik linkler sadece WSL içerisinde çalışacaktır ve diğer Windows uygulamaları tarafından çözülemez.
Linux ayrıca, dosya adları içindeki neredeyse tüm özel karakterleri desteklerken, Windows daha kısıtlayıcıdır. Bununla birlikte WSL, Linux sisteminin ortamı ile sınırlı olmaları şartıyla, bu tür özel karakterlerin kullanılmasına izin verir.
Windows'ta Linux Komut Satırını Çalıştırmaya Hazır mısınız?
Bu yüzden, Windows için Alt Sistem olarak da bilinen Ubuntu Bash veya Linux Bash Shell, Windows 10'da (Yıldönümü güncellemesiyle) çalışmaktadır. Çalışmasının yanı sıra, Windows'ta Linux'a özgü komutları çalıştırmanın geleneksel yöntemlerinden nasıl farklı ve daha iyi olduğunu da öğrendik. Bu nedenle, her zaman Linux komutlarını kullanmak istiyorsanız, başlayın ve sorularınız, yorumlarınız veya ipuçlarınız varsa, yorumlar bölümünde bize bildirdiğinizden emin olun.