Ana içeriğe geç

Yan yana

TerminalvsShell

Terminal ile shell (kabuk) arasındaki fark nedir?

Güncellendi 2 dk okuma6 fark

Kısaca

Terminal, metin arayüzünü gösteren ve tuş vuruşlarınızı ileten programdır; shell (kabuk) ise onun içinde çalışıp komutlarınızı okuyan ve yürüten programdır.

Terminal

Terminal, bir metin arayüzü gösteren, tuş vuruşlarınızı bir kabuğa ya da komut satırı programına iletip onun geri gönderdiği metni görüntüleyen programdır.

Terminal sayfasını oku

Shell

Kabuk

Shell, kullanıcının yazdığı ya da bir betikte yazılı komutları okuyup işletim sisteminden çalıştırmasını isteyen, genellikle metin arayüzlü bir programdır.

Shell sayfasını oku

Terminal ve Shell karşılaştırması

ÖzellikTerminalShell
NedirMetin gösteren ve girdi alan bir programBir komut yorumlayıcısı
Ana işÇıktıyı göstermek, tuş vuruşlarını göndermekKomutları ve betikleri çalıştırmak
ÖrneklerWindows Terminal, iTerm2, GNOME TerminalBash, zsh, fish, PowerShell
Yapılandırıldığı yerTerminalin ayarları: fontlar, renkler, sekmeler.bashrc ve .zshrc gibi dosyalar
Betik yazmaHayırEvet
Değiştirilebilir miEvet, aynı kabuğu koruyarakEvet, aynı terminalin içinde

Fark, açıklamalı

Windows Terminal'i, iTerm2'yi ya da GNOME Terminal'i açtığınızda bir metin penceresi görürsünüz. O pencere terminaldir; bugün geçmişin donanım terminallerini taklit eden bir terminal emülatörü. Karakterleri çizer, renkleri ve fontları ele alır ve yazdığınız her şeyi ona bağlı programa gönderir.

O program genellikle Bash, zsh, fish ya da PowerShell gibi bir kabuktur. Kabuk istemi (prompt) gösterir, yazdığınız satırı okur, değişkenleri ve joker karakterleri genişletir, adını verdiğiniz programları çalıştırır, onları pipe'larla bağlar ve çıktılarını göstermesi için terminale geri verir. Aynı zamanda görevleri otomatikleştirmek için bir betik dilidir.

Ayrı oldukları için onları serbestçe karıştırabilirsiniz: aynı terminal bir sekmede Bash, başka birinde PowerShell, üçüncüsünde de uzak bir sunucunun kabuğuna bir SSH oturumu çalıştırabilir; aynı kabuk da her terminalde çalışır. Ayarlar da ayrıdır: fontlar ve renkler terminale, alias'lar ve istem ise .bashrc ya da .zshrc gibi kabuğun yapılandırma dosyasına aittir.

Sık yapılan bir yanlış, terminalin, kabuğun, konsolun ve komut satırının hep aynı şey olduğunu düşünmektir. Günlük konuşmada gevşekçe kullanılırlar, ama hangi katmanın ne yaptığını bilmek bir şey bozulduğunda yardım eder: bozuk renkler terminale, bulunamayan bir komut da kabuğa ya da PATH'e işaret eder.

Hangisini kullanmalısınız?

Terminal şu durumlarda doğru seçim:

  • Fontları, renkleri, sekmeleri ya da bölünmüş panelleri değiştirmek istiyorsunuz.
  • Metin çizimi, kopyala-yapıştır ya da tuş işleme düzgün çalışmıyor.
  • Komut satırı için daha hızlı ya da daha özellikli bir pencere istiyorsunuz.

Shell şu durumlarda doğru seçim:

  • İstemi, alias'ları ya da komut tamamlamayı değiştirmek istiyorsunuz.
  • Görevleri otomatikleştirmek için betikler yazıyorsunuz.
  • Bir komut bulunamıyor ya da beklenenden farklı davranıyor.

Sık sorulan sorular

Bash bir terminal mi?

Hayır, Bash bir kabuktur. İstemini ve çıktısını gösteren bir terminalin içinde çalışır.

Konsol ile terminal arasındaki fark nedir?

Bugün çoğunlukla eş anlamlıdırlar. Tarihsel olarak konsol, bir makineye doğrudan bağlı ana terminaldi.

Komut satırı nedir?

Bir terminal ile bir kabuğun birlikte oluşturduğu, komut yazarak çalışmanın genel biçimidir. CLI ise git gibi belirli bir programın metin arayüzüdür.

Daha fazla

Ayarlar