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ı okuShell
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ı okuTerminal ve Shell karşılaştırması
| Özellik | Terminal | Shell |
|---|---|---|
| Nedir | Metin gösteren ve girdi alan bir program | Bir komut yorumlayıcısı |
| Ana iş | Çıktıyı göstermek, tuş vuruşlarını göndermek | Komutları ve betikleri çalıştırmak |
| Örnekler | Windows Terminal, iTerm2, GNOME Terminal | Bash, zsh, fish, PowerShell |
| Yapılandırıldığı yer | Terminalin ayarları: fontlar, renkler, sekmeler | .bashrc ve .zshrc gibi dosyalar |
| Betik yazma | Hayır | Evet |
| Değiştirilebilir mi | Evet, aynı kabuğu koruyarak | Evet, 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.