Linux Kabuk (Shell) Nedir?

Selim Aşık
Selim Aşık
Published in
4 min readJan 30, 2023

--

Kabuk, komutları ayrıştırıp işletim sistemine gönderilmesini işlevini yerine getiren bir komut satırı yorumlama programıdır. Bu yorumlama programı, bir işletim sisteminin ara yüzünü ve çekirdeğin en dış kısmını temsil etmektedir. Kullanıcının sistemin özelliklerini direkt olarak kullandırılmasını sağlar. Terminalde “ls” veya “cat” gibi komutlar çalıştırılınca, bu komutlara karşılık gelen programı arar, bulur, çalıştırır ve gerçekleştirir.

Linux Kabuk (Shell) Tipleri

Linux işletim sistemi kullanıcılara çeşitli sorunları çözmek için farklı kabuk türleri sunar. UNIX ile birlikte geliştirilen kabuklar geliştirme süreci sonucunda birbirlerinden bazı özellikleri ödünç aldılar. Birçok linux kabuğu olabileceği gibi aralarından yedi tanesi en popüler kabuk türleridir.

- Bourne Shell (sh)

- C Shell (csh)

- TENEX C Shell (tcsh)

- KornShell (ksh)

- Debian Almquist Shell (Dash)

- Bourne Again Shell (bash)

-Z Shell (zsh)

Bourne Shell

Bourne kabuğu 1979 yılında piyasaya sürülen ilk UNIX sistemlerindeki ilk kabuktur. Kabuk program adı “sh” ve varsayılan konumu “/bin/sh” şeklindedir. Normal kullanıcı komut satırında “$” ile gösterilirken, kök (root) hesap “#” şeklinde gösterilir.

Bourne kabuğu hızlı olduğu için kısa sürede popüler olmuştur fakat, komut geçmişinin olmaması, otomatik tamamlama gibi ihtiyaç duyulan özelliklerin eksikliğinden dolayı eski popülaritesini kaybetmiştir.

C Shell

C kabuğu ana amacı kullanımı iyileştirmek ve C dilini taklit etmek olarak 1970’lerin sonlarından kalma bir linux kabuğudur. Linux sistemi de C dili kullanılarak yazıldığı için biçimsel olarak tutarlılık sağlaması hedeflenmiştir. Varsayılan konumu “/bin/csh“ şeklindedir. Normal kullanıcılar komut satırında “%” ile gösterilirken, kök (root) kullanıcısı konsolda “#”şeklinde gösterilir.

C Shell ile gelen önceki komut geçmişi, ilgili dizinin komut satırında yazması gibi avantajların yanı sıra, sözdizimindeki tutarsızlıklar nedeniyle günümüzde çok fazla tercih edilmemektedir.

TENEX C Shell

Tenex C kabuğu 1980’lerin sonlarında ortaya çıkmış, C kabuğunun bir eklentisidir. TENEX, csh ile geriye uyumlu olarak çalışmaktadır. Tenex’in çalıştırılabilir yolu /bin/tcsh şeklindedir. Normal kullanıcı “hostame:directory>” şeklinde kök (root) kullanıcı ise “hostname:directory#” şeklinde gözükür.

Tenex C Shell gelişmiş komut geçmişi, iş kontrolü, programlanabilir otomatik tamamlama gibi C shell’in önemli eksiklerini gidermiştir.

KornShell

KornShell bir UNIX kabuğu olup, Bourne Shell dilinde 1980’lerin sonlarında geliştirilmiş bir kabuktur. Varsayılan konumu “/bin/ksh” ya da “/bin/ksh93” şeklindedir. Normal ve kök (root) kullanıcı sembolleri Bourne kabuğu ile aynıdır.

KornShell’in kendi içinde matematiksel fonksiyonlarının olması, nesneye yönelik programlama yapabilme ve Bourne kabuk ile uyumlu olma özellikleri avantajları olarak sayılabilir.

Debian Almquist Shell

Debian Almquist Kabuğu, 1990’ların sonlarında geliştirilen Ubuntu ve Debian işletim sistemlerinde kullanılması için geliştirilen bir kabuktur. Kabuk POSIX uyumlu ve minimaldir. Varsayılan konumu “/bin/dash” şeklindedir. Normal ve kök (root) kullanıcı Bourne kabuğu ile aynıdır. Dash’in en önemli özelliği diğer kabuklardan 4 kat daha hızlı olmasıdır.

Bourne Again Shell

Bourne Again kabuğu, 1989'da Bourne kabuğunun (sh) bir uzantısı olarak oluşturulan bir UNIX kabuğu ve komut dilidir. Kabuk programı, birçok Linux dağıtımı ve macOS’un önceki sürümleri için varsayılan oturum açma kabuğudur.

Kabuk adı “bash” varsayılan konumu /bin/bash şeklindedir. Normal kullanıcı $ ile gösterilirken kök(root) kullanıcı # ile gösterilir. En önemli özelliği ise durum şartı yazılabilir olmasıdır. “bash if” veya “bash case” ile durum şartı oluşturarak kabuk yazılabilmektedir.

Z Shell

Z kabuğu (zsh), 1990'ların başında Bourne kabuğunun bir uzantısı olarak oluşturulan bir Unix kabuğudur. Zengin özelliklere sahip kabuk, iyi oluşturulmuş ve kullanılabilir bir alternatif oluşturmak için csh ve tcsh’den ilham alır. Z shell’in çalıştırılabilir konumu /bin/zsh, normal kullanıcı “user@hostname location%” şeklinde, kök (root) kullanıcısı ise “hostname#” ile gösterilir.

Z Shell’e eklenen yeni özellikler, çeşitli uyumluluk modları, yazı düzeltme ve otomatik doldurma, çalışan tüm kabukların arasında paylaşılan geçmiş şeklide söylenebilir.

Yukarda en çok kullanılan iki linux kabuğunun arasındaki fark anlatılmıştır. Daha detaylı bilgi için videoyu izleyebilirsiniz.

Bu yazımda linux shell(kabuk) hakkında temel bilgileri sizlerle paylaştım. Faydalı olması dileğiyle.

Selim Aşık

--

--

Student at Istanbul Nişantaşı University — Management Information System. Computer and science enthusiast. For more imformation go visit. www.selimasik.com