Terminal ve kabuk aynı mıdır?


29

Bunun aptalca geldiğini biliyorum ama sadece Linux dünyasında kullanılan iki kelime arasında bir fark olup olmadığını bilmek istedim. Shell'in bir Komut Satırı Arayüzü olduğunu ve Bash, Korn, vb. Gibi birçok varyasyonu olduğunu biliyorum. Ayrıca bir Ctrl + Alt + T'nin Ubuntu'da bir terminal başlattığını da biliyorum. Sadece bu iki noktayı birbirine bağlamak istiyorum.

Bu, terminalin açılan pencere ve kabuğun pencerede yazılan komutları yorumlamak için arkasından geçen program olduğu anlamına mı geliyor? Yoksa terminalin Shell, vb. Kavramlarını soyutlamak için kullanılan genel bir terim olduğu aynı mıdır?

İki kelimeyi tam olarak ayıran nedir?

Yanıtlar:


30

Terminal emülatörü (genellikle sadece terminal olarak adlandırılır) "sadece pencere" dir, evet. Varsayılan olarak giriş kabuğunuz olan (Ubuntu'da bash) metin tabanlı bir program çalıştırır. Pencereye karakterler yazdığınızda, terminal kabuğa (veya diğer programların) stdin'lerine göndermenin yanı sıra bu karakterleri pencerede çizer. Kabuğun stdout ve stderr komutlarına gönderdiği karakterler, bu karakterleri pencerede çizen terminale gönderilir.

Yani evet, kabuk ve terminal emülatörü tamamen ayrı programlardır ve ikisi de diğeri olmadan kullanılabilir.


2
Terminali olmayan kabuğu nasıl kullanabilirsiniz?
Koray Tugay

5
@KorayTugay, cron'dan veya bir masaüstü başlatıcısı aracılığıyla ("terminalde çalıştır" ı kontrol etmediyseniz) bir kabuk betiği çalıştırdığınızda, terminalsiz bir kabuk kullanıyorsunuzdur.
geirha


6

Evet, terminal emülatörü ve kabuk iki farklı programdır. Farkında olduğunuzun farkına bir örnek, bir terminal penceresi başlatmanın yapılandırdığınıza (bash, tcsh, ksh, ash, hatta python!) Bağlı olarak farklı mermileri çalıştırabilmesidir.

Diğer bir fark, varsayılandan daha fazla terminal emülatörü olması: gnome-terminal, birkaç çeşit xterm, konsole (KDE için), vb. (Bakınız: http://www.howtogeek.com/howto/ubuntu/set- default-terminal-emulator-on-ubuntu-linux / ). Herhangi bir kabuk bu terminal emülatörlerinin herhangi birinde çok fazla zorluk çekmeden çalıştırılabilir.

Üçüncü bir fark, kabuk komutlarını çalıştırmanın yanı sıra, terminal emülatörünüzde bazı etkileşimli uygulamaları da başlatabileceğiniz ve aynı pencerede çalışacakları (ve gerçek grafikleri idare etmek için hala aynı terminal emülatör programına bağlı kalacakları). vim metin editörü, nethack RPG ve diğerleri. İsterseniz yeni bir sekme açtığınızda otomatik olarak nethack'i başlatmak için terminal emülatörünüzde bir profil ayarlayabilirsiniz; Kabuk yok, fakat terminal emülatörü hala aynı program.

Dördüncü bir fark, terminal penceresinden ssh gibi bir program kullanarak uzaktan oturum açabilmenizdir. Bu durumda, kabuğunuz (veya herhangi bir programla uzaktan çalıştırdığınız herhangi bir program) başka bir bilgisayarda çalışıyor ve ssh programı, makinenizde çalışan ve grafikleri işleyen yerel terminal emülatörü programına bağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.