Linux SHELL ve Türleri
Shell, işletim sistemiyle kullanıcı arasında bir arayüz görevi görür ve kullanıcıların işletim sistemine komutlar göndermesine olanak tanır. Komut satırı kabuğu (CLI) veya grafiksel kullanıcı arayüzü (GUI) şeklinde olabilir, ancak genellikle terim, komut satırı kabuğuna atıfta bulunur.
Unix ve Unix-benzeri işletim sistemlerinde, shell'ler betik oluşturmayı ve çalıştırmayı, dosyaları ve dizinleri düzenlemeyi, işlem yönetimini ve diğer birçok işlevi sağlar. İşte bazı yaygın Unix shell'leri:
Bourne Shell (sh):
1970'lerde Unix'in ilk sürümleri için yazılmıştır. Basit ve taşınabilir olmasıyla tanınır. Bu, diğer birçok kabuğun temelini atmıştır. Kullanıcıda bu bash tanımlı ise;
echo $SHELL
konsolda $ işareti belirir ve tab basıldığında otomatik tamamlama yapmaz.
/bin/sh kabuğu, genellikle sistemdeki varsayılan shell olarak kullanılır ve birçok Linux dağıtımında Bourne kabuğu (sh) veya Bourne kabuğu ile uyumlu bir kabuk olan Dash'a bir bağlantı olabilir. İşte bu kabuğun bazı temel özellikleri:
Hafif: /bin/sh genellikle minimal ve hafif bir kabuktur. Bu, hızlı başlaması ve az sistem kaynağı kullanması anlamına gelir, bu nedenle betiklerde kullanmak için tercih edilebilir.
Bourne Kabuğu ile Uyumlu: Bourne kabuğu (sh) ile uyumlu olan kabuklar, POSIX standardına uygundur. Bu, betiklerin farklı sistemlerde tutarlı bir şekilde çalışmasını sağlar.
Temel Dizin ve Dosya İşlemleri: /bin/sh, kullanıcıya dosyaları ve dizinleri yönetme, temel metin işleme ve betik oluşturma gibi işlevler sunar.
Bazı Programlama Özellikleri: Değişkenlerin atanması, döngüler, koşullu ifadeler gibi basit programlama yapılarını destekler.
Daha Az Özellik: /bin/sh kabuğu, Bash gibi daha gelişmiş kabuklara kıyasla daha az özellik sunar. Örneğin, otomatik tamamlama veya komut geçmişi gibi gelişmiş kullanıcı arabirimi özellikleri eksik olabilir.
Betikler İçin İdeal: Temel ve hafif yapısı, /bin/sh'yi sistem betikleri ve arka plan görevleri için ideal bir seçim haline getirir.
Portatiflik: /bin/sh, farklı Unix benzeri sistemler arasında taşınabilirlik sağlar. Bir betiği /bin/sh ile yazmak, farklı sistemlerde daha tutarlı çalışmasına yardımcı olabilir.
Daha Sınırlı Ek Özellikler: Özel işlevler, dizi işlemleri, fonksiyonlar gibi gelişmiş programlama özellikleri, Bash gibi diğer kabuklarda bulunabilir ancak /bin/sh içinde olmayabilir.
Özetle, /bin/sh, basitlik ve hafiflik ile karakterizedir, temel kabuk işlevlerini sunar ancak Bash gibi daha gelişmiş kabuklar tarafından sunulan bazı gelişmiş özelliklerden yoksundur. Bu, genellikle sistem betiklerinde veya kaynak kullanımının bir sorun olabileceği durumlarda tercih edilir.
Bourne Again Shell (Bash):
GNU Projesi için yazılmış olan Bash, Bourne Shell'in ücretsiz bir sürümüdür. Yaygın olarak kullanılmaktadır ve birçok modern Linux dağıtımının varsayılan shell'idir.
Kullanıcı başka shell de ise;
sudo usermod -s /bin/bash kullanıcı_adı
Bash (Bourne Again SHell), Unix işletim sistemleri için popüler bir komut satırı kabuğudur. Brian Fox tarafından 1989'da Free Software Foundation için yazılmış olan Bash, GNU Projesi'nin bir parçası olarak geliştirilmiştir. Bourne kabuğunun (sh) bir genişlemesi olarak, birçok gelişmiş özelliği ve kullanıcı dostu işlevi bulunmaktadır. İşte Bash'ın temel özellikleri ve yönleri:
Özellikleri:
Komut Satırı Düzenleme: Kullanıcıların önceki komutları görüntülemelerine, düzenlemelerine ve yeniden çalıştırmalarına olanak tanır.
Otomatik Tamamlama: Tab tuşunu kullanarak dosya adlarını, dizin yollarını ve komutları hızlı bir şekilde tamamlama.
Gelişmiş Betik Oluşturma: Döngüler, koşullu ifadeler, fonksiyonlar ve dizi işlemleri gibi gelişmiş programlama yapıları.
Değişkenler ve Çevre Değişkenleri: Yerel ve global değişkenlerin kullanımı, export etme yeteneği.
Yapılandırılabilirlik: Kullanıcıların kabuk davranışlarını ve görünümünü .bashrc, .bash_profile gibi dosyalar aracılığıyla kişiselleştirmelerine izin verir.
İş Kontrolü: Arka planda çalışan işlemleri kontrol etme ve yönetme yeteneği.
Tünel ve Yeniden Yönlendirme: Giriş ve çıkış yönlendirmeleri, komutların birbirine bağlanmasını sağlar.
Bash Türleri:
Bash'ın belirli "türleri" olarak kabul edilebilecek farklı sürümleri vardır. Bunlar genellikle farklı sistemlerde veya ihtiyaçlara göre değişebilir:
GNU Bash: Standart GNU/Linux dağıtımlarında bulunan geleneksel Bash sürümü.
macOS Bash: macOS'un eski sürümlerinde kullanılan Bash sürümü. macOS Catalina'dan başlayarak, varsayılan kabuk zsh olmuştur.
Cygwin/MSYS Bash: Windows sistemlerinde Unix benzeri bir ortam sağlamak için kullanılır.
Bash Çeşitleri: Farklı Linux dağıtımları, belirli gereksinimlere göre özelleştirilmiş Bash sürümlerine sahip olabilir.
Bash, günlük kullanımdan karmaşık betik yazımına kadar geniş bir kullanım yelpazesine sahip olan güçlü ve esnek bir kabuktur. Hem yeni başlayanlar hem de deneyimli geliştiriciler için kullanışlı araçlar ve özellikler sunar.
C Shell (csh):
C diline benzer bir sözdizimi vardır, bu da programcılar için daha tanıdık olabilir. Tcsh, C Shell'in gelişmiş bir sürümüdür.
Korn Shell (ksh):
Bourne Shell'e birçok özellik ekleyen ksh, performans ve betik oluşturma kapasitesi ile tanınır.
Z Shell (zsh):
Bash'e benzer, ancak daha fazla özelleştirme ve kullanıcı dostu özellikler sunar. Özellikle macOS Catalina'dan itibaren macOS'un varsayılan shell'i olmuştur.
Fish (Friendly Interactive Shell):
Kullanıcı dostu olmasıyla tanınır. Akıllı otomatik tamamlama ve renkli vurgulama gibi özelliklere sahiptir.
Dash (Debian Almquist Shell):
Debian sistemlerinde kullanılan hafif bir shell. Hızlı başlatma ve düşük sistem kaynağı kullanımı ile tanınır.
Tcsh:
C Shell'in geliştirilmiş bir versiyonu. Komut adı tamamlama, komut düzenleme gibi ek özellikler sunar.
Shell'ler, kullanıcıların işletim sistemleriyle etkileşim kurmalarına, komutları çalıştırmalarına, betikler yazmalarına ve daha birçok işlem yapmalarına olanak tanır. Farklı shell'ler, farklı kullanım senaryoları, kişisel tercihler ve sistem gereksinimleri için uygundur. Her biri, benzersiz özellikler ve avantajlar sunar.
0 Comments
Recommended Comments
There are no comments to display.