Zsh vs Bash Karşılaştırması

Şahin Bölükbaşı
2 min readNov 17, 2023

--

Unix benzeri işletim sistemlerinde komut satırı kabukları, geliştiricilerin ve sistem yöneticilerinin günlük işlemlerini gerçekleştirmelerini sağlayan temel araçlardır. Zsh ve Bash, bu kabuklardan ikisi olup, her ikisi de kendine özgü özellikleri ve avantajlarıyla dikkat çeker. Bu yazıda, Zsh ve Bash’i karşılaştırarak kullanıcı dostu kabukların özelliklerini inceleyeceğiz.

Zsh Nedir?

Zsh (Z Shell), Bourne Shell (sh) temel alınarak geliştirilmiş bir kabuktur. Özellikle otomatik tamamlama, zengin belirtimler, genişletilebilirlik ve dinamik yapılandırma gibi özellikleri ile öne çıkar.

Öne Çıkan Özellikler

1. Otomatik Tamamlama (Tab Completion)

Zsh’nin en dikkat çekici özelliklerinden biri otomatik tamamlama yeteneğidir. Bu özellik, komut veya dosya adı yazılırken Tab tuşuna basıldığında, sistemde bulunan komutları veya dosyaları otomatik olarak tamamlar.

Örnek:

$ cd BelirliDizin/[TAB]
# Komut otomatik olarak tamamlanır.

2. Zengin Belirtimler (Prompting)

Zsh, belirtim (prompt) sistemini kullanarak komut istemcisine zengin ve özelleştirilebilir bir görünüm kazandırır. Kullanıcılar, belirtimi renklendirebilir, kullanıcı adı, host adı, çalışma dizini gibi bilgileri ekleyebilir ve belirtimi tamamen özelleştirebilir.

Özelleştirilmiş bir belirtim örneği:

%B%F{blue}%n%f%b@%F{green}%m%f:%F{yellow}%~%f %#

Bu belirtimde, kullanıcı adı (mavi renk), host adı (yeşil renk) ve çalışma dizini (sarı renk) gibi bilgiler yer alır.

3. Genişletilebilirlik

Zsh, geniş bir eklenti ve tema koleksiyonu ile birlikte gelir. Kullanıcılar, Oh My Zsh gibi araçlar aracılığıyla Zsh’yi daha da genişleterek özelleştirebilirler.

Örnek eklenti kullanımı:

$ git plu[TAB]
# Otomatik tamamlama ile "git plugin" komutu tamamlanır.

4. Dinamik Yapılandırma

Kullanıcılar, .zshrc dosyası üzerinden Zsh'nin davranışlarını ve görünümünü özelleştirebilirler. Bu dosya, Zsh'nin dinamik yapılandırılabilirliğini sağlar.

Bash Nedir?

Bash, kullanıcıların komutları girip işlemleri yönetmelerine olanak tanıyan bir kabuktur. Temelde, kullanıcının komut satırında işlemler gerçekleştirmesine, dosyaları yönetmesine ve sistemle etkileşimde bulunmasına yardımcı olur.

Bash Temel Komutları ve Örnek Kullanımları

1. Dosya ve Dizin İşlemleri:

Dizin Oluşturma:

mkdir YeniDizin

Dosya Oluşturma:

touch YeniDosya.txt

Dosya ve Dizin Listeleme:

ls

2. Metin İşlemleri:

Dosya İçeriğini Görüntüleme:

cat Dosya.txt

Bir Metin Dosyasını Düzenleme:

nano Dosya.txt

3. Komut Satırı Parametreleri ve Değişkenler:

Değişken Tanımlama ve Kullanma:

isim="John"
echo "Merhaba, $isim!"

Komut Satırı Parametreleri:

echo $1 $2
# Çağrıldığında: bash script.sh arg1 arg2

4. Koşullu İfadeler ve Döngüler:

Koşullu İfadeler:

sayi=5
if [ $sayi -eq 5 ]; then
echo "Sayı 5'e eşit."
fi

For Döngüsü:

for i in {1..5}; do
echo $i
done

5. Fonksiyonlar

merhaba() {
echo "Merhaba, dünya!"
}

Zsh vs Bash Hangisini Seçmeli?

Zsh :Gelişmiş özelliklere, özelleştirme seçeneklerine ve modern bir komut satırı deneyimine ihtiyaç duyanlar için idealdir.

Bash: Temel kabuk ihtiyaçlarına yönelik kullanıcılar için uygundur ve birçok sistemde varsayılan olarak gelir.

İki kabuk da güçlü ve kullanışlıdır, ancak tercih kişisel ihtiyaçlara ve alışkanlıklara bağlıdır. Bazı kullanıcılar, Bash’ın basitliğini ve evrensel kullanımını tercih ederken, Zsh daha gelişmiş özellikler sunarak özelleştirme isteyen kullanıcılara hitap eder.

--

--