linux shell

 

🧠 Shell Nedir?

Shell, komut satırı aracılığıyla kullanıcı ile işletim sistemi arasında köprü görevi gören bir programdır. Kullanıcıdan komut alır, yorumlar ve işletim sistemine iletir.


🧪 Kullandığın Shell'i Öğrenmek

bash
echo $SHELL

Bu komut, o an terminalde hangi shell’in kullanıldığını gösterir.


📋 Kurulu Olan Shell'leri Görmek

bash
cat /etc/shells

Bu komut, sistemde kurulu ve geçerli login shell’leri listeler. Örneğin:

bash
/bin/sh /bin/bash /usr/bin/zsh ...

🔄 Shell Değiştirme

Geçici olarak bir shell'i başlatmak için sadece adını yaz:

bash
zsh

Kalıcı olarak shell değiştirmek için:

bash
chsh -s /usr/bin/zsh

(Çıkış yapıp tekrar giriş yapman gerekir.)


🐚 Popüler Shell Türleri ve Detaylı İnceleme

1. Bash (Bourne Again Shell)

Genel Özellikler:

  • Linux dağıtımlarında varsayılan shell’dir.

  • SH, KSH, CSH gibi eski shell’lerin bir evrimidir.

  • Yaygın dokümantasyon ve topluluk desteği vardır.

Öne Çıkan Özellikler:

  • Scripting: Güçlü ve yaygın destekli betik yazma yetenekleri.

  • Tab Completion: Temel tamamlayıcı (komut/klasör isimleri).

  • History: Önceki komutlara erişim (↑ ↓ tuşları, history komutu).

  • Kısıtlı Özelleştirme: Prompt veya alias ayarları temel düzeydedir.

  • Kullanıcı Dostu Değil: Öğrenme eğrisi yüksektir.


2. Fish (Friendly Interactive Shell)

Genel Özellikler:

  • Yeni başlayanlar için tasarlanmış, kullanıcı dostu bir shell.

  • Varsayılan shell olarak gelmez; kurulum gerekir.

Öne Çıkan Özellikler:

  • Basit Söz Dizimi: Kolay okunur ve yazılır.

  • Otomatik Yazım Düzeltme: Yanlış komutları düzeltir.

  • Gelişmiş Tab Completion: Geçmişe dayalı akıllı öneriler.

  • Yerleşik Syntax Highlighting: Komutların parçasını renklendirir.

  • Tema Desteği: Görsel özelleştirme kolaydır.

  • Script Yazımı: Kısıtlı; Bash'e göre daha az esnek.


3. Zsh (Z Shell)

Genel Özellikler:

  • Modern bir shell, Bash ve diğer shell’lerin güçlü yanlarını birleştirir.

  • Özellikle geliştiriciler arasında popülerdir.

Öne Çıkan Özellikler:

  • Gelişmiş Tab Completion: Plugin’lerle genişletilebilir (örneğin zsh-autosuggestions).

  • Scripting: Bash kadar güçlü, bazı ek özelliklerle daha ileri düzeydedir.

  • Yazım Düzeltme: Komut hatalarını otomatik düzeltir.

  • Komut Geçmişi: Gelişmiş kullanım ve arama.

  • Yüksek Özelleştirme: oh-my-zsh gibi framework’lerle tema, plugin, alias yönetimi.

  • Kurulumdan Sonra Ayarlama Gerekir: Başlangıçta biraz kurulum ve öğrenme gerektirir.


📊 Karşılaştırma Tablosu

ÖzellikBashFishZsh
Tam AdıBourne Again ShellFriendly Interactive ShellZ Shell
ScriptingGüçlü, yaygınBasit, sınırlıGelişmiş, Bash uyumlu
Tab CompletionTemel düzeyAkıllı ve geçmişe dayalıPlugin’lerle ileri düzey
CustomizationTemel düzeyEtkileşimli araçlarla orta seviyePlugin ve temalarla ileri düzey
User FriendlinessGeleneksel ama alışılması zorYeni başlayanlar için çok kullanıcı dostuÖzelleştirilirse oldukça kullanıcı dostu
Syntax HighlightYokDahili ve etkinPlugin’lerle sağlanabilir
Kurulum DurumuVarsayılanGenellikle sonradan kurulmalıGenellikle sonradan kurulmalı

🎯 Hangi Shell Kimin İçin Uygun?

  • 🧱 Bash: Geleneksel, sistem yöneticileri, scripting işleri, temel görevler.

  • 🎨 Fish: Yeni başlayanlar, sade ve şık bir terminal isteyenler.

  • 🔧 Zsh: Geliştiriciler, ileri kullanıcılar, maksimum özelleştirme isteyenler.