Kabuk, konsol ve terminal arasındaki fark nedir?


Yanıtlar:


168

Linux dünyasında klavyedeki kullanıcının bakış açısıyla hepsi aynı görünebilir. Farklılıklar birbirleriyle nasıl etkileşimde bulundukları ile ilgilidir.

Kabuk aslında komutları ve döner çıkış işleyen programdır. Çoğu kabuk aynı zamanda ön ve arka plan işlemlerini, komut geçmişini ve komut satırı düzenlemesini de yönetir. Bu özellikler (ve daha pek çoğu) bashmodern linux sistemlerinde en yaygın kullanılan kabuk standarttır .

Bir terminal , bir kabuk çalıştıran bir sarmalayıcı programı ifade eder. Yıllar önce, bu bir monitör ve klavyeden biraz daha fazlasını içeren fiziksel bir cihazdı. Unix / linux sistemleri daha iyi çoklu işlem ve pencere sistemleri eklediğinden, bu terminal konsepti yazılıma dahil edildi. Şimdi Gnome Terminali gibi Gnome Pencereleme ortamında bir pencere açan, komutları girebileceğiniz bir kabuk çalıştıracak programlarınız var .

Konsol özel bir tür terminali . Tarihsel olarak, konsol tek bir klavyeydi ve monitör, işletim sistemiyle düşük seviyede doğrudan iletişim için kullanılan bir bilgisayardaki özel bir seri konsol portuna takılıydı. Modern linux sistemleri sanal konsollar sağlar . Bunlara , linux işletim sisteminin düşük seviyelerinde tutulan tuş kombinasyonları (örneğin, Alt+ F1veya Ctrl+ Alt+ F1; fonksiyon tuşu, farklı konsolları numaralandırır) aracılığıyla erişilir - bu, çalışması ve kurulması için yapılandırılması gereken özel bir servis olmadığı anlamına gelir. . Konsolla etkileşimde ayrıca bir kabuk programı kullanılarak yapılır .


1
Terminaller klavyeli monitörler olmadan önce, bir tür elektrikli daktilo olan teletiplerdi. en.wikipedia.org/wiki/Teleprinter
Kevin Panko

13
Konsol bazen "klavye ve bu bilgisayara fiziksel olarak bağlı olan monitör" anlamına gelir. Örneğin, "Sunucu ağa yanıt vermediğinden konsoldan oturum açtım."
Kevin Panko

1
@ Harris Harris: Bahsettiğiniz donanımın bazı resimlerini ekleyebilir misiniz?
pençeler

1
1980'lerin sonunda kolejdeyken DEC VT220 terminalleri üzerinde çok çalıştım - en.wikipedia.org/wiki/VT220 - Bu tarif ettiğim fiziksel cihazın güzel bir örneği.
Doug Harris,

5
Öyleyse, eğer terminaller ve konsollar , modern günde, her biri yazılıma uygulanmışsa - ikisi arasındaki fark nedir (şimdi)?
Gavin Hope

15

Kabuk, bir bilgi istemi oluşturan ve komut yazmanızı bekleyen bir programdır. Onları yürütür ve sonra başka bir bilgi istemi yazdırır. Yani, Windows'ta CMD veya Unix'te Bash gibi. Bir terminalde veya konsolda çalışabilir.

Bir konsol aslen fiziksel bir şeydi, kontrol paneli. Hesaplama terimlerinde genellikle GUI başlamadan önce veya bittikten sonra gördüğünüz ekran anlamına gelir; GUI yerine bazen görüntülemeye geçebilirsiniz. İşletim sisteminin hata mesajları yazdırdığı yer. Çok kullanıcılı bir bilgisayarda, aslında bilgisayara bağlı olan ekrandır. Kafanı karıştırmak için, Windows'ta ayrıca içinde komut kabuğu olan bir pencere, yani bir terminal anlamına da gelebilir.

Bir terminal aynı zamanda bir bilgisayarla iletişim kurmak için kullanılan donanımdı. Günümüzde genellikle bir GUI penceresinde veya bir GUI yerine görünebilecek bir komut satırı (kabuk) içeren bir pencereye atıfta bulunur.


2

Terminal, metin tabanlı bir arayüzdür (muhtemelen bir kabuğa)

Konsol ve kabuk arasındaki fark henüz anlamadığım bir durumdur, ancak bir terminalin bir kabuktan ne kadar farklı olduğunu söyleyebilirim.

Terminal (olup Wikipedia göre ) "metin girişi ve görüntü için bir seri bilgisayar arayüzü. Bilgiler önceden seçilmiş oluşan bir karakter dizisi olarak sunulmuştur."

Bir kabuk ile etkileşime girmek için bir terminal kullanabilirsiniz, ancak bunu ayrıca bazen Terminal Kullanıcı Arabirimi olarak adlandırılan, metin tabanlı bir GUI ile etkileşimde bulunmak için de kullanabilirsiniz . Örneğin:

  • Vim , satır numaraları ve adlandırılmış sekmeler içeren GUI öğelerine sahiptir
  • Nano , komutların yardım menüsünü içeren GUI öğelerine sahiptir
  • Tmux , bir durum çubuğu içeren ve GU'leri paneller arasında bölen
  • Minicom , menüler ve bir durum çubuğu içeren GUI öğelerine sahiptir

Her durumda, GUI öğeleri piksel yerine metinle "çizilir".


Bu tanımın yalnızca metin tabanlı olduğundan emin değilim. Bir şekilde, bazı GUI'ler imo terminalleri olarak kabul edilebilir.
jiggunjer

2

Yeni başlayanlar için

Daha ayrıntılı bir açıklama için: https://askubuntu.com/a/506628/130518

  • terminal = metin giriş / çıkış ortamı
  • konsol = fiziksel terminal
  • shell = komut satırı yorumlayıcısı

Bunun için en normal kullanım durumunu aşağıdaki metinde açıklayacağım.

Bir terminal bir kabuk kullanır . Bir kabuk terminalsiz çalışabilir.

Gündelik eşyalarla ilgili olarak:

  • Terminal -> Evinizde TV ekranı
  • Shell -> TV ekranında çalışan program

Ona bakmanın başka bir yolu: Kulaklarınız (giriş) ve ağzınız (çıkış) ses terminalleridir. Beyniniz bu seslerin tercümanı olup belirli bir kabuk (işlenir) kullanır.

Terminal bizim için insanlardır, bu yüzden kabuktan / kabuktan okuyabilir ve yazabiliriz. Kabuklar, insan etkileşimi, örneğin cron işi gerektirmeyen arka plan işlemlerinde çalışabilir ve bu nedenle bir terminal gerektirmez.

Mevcut olan birkaç terminal örneği:

  • Komut istemi
  • guake
  • gnome-terminal
  • terminatör

Var olan birkaç mermi örneği:

  • darbe
  • sh (Bourne kabuğu)
  • PowerShell [pencereler]
  • zsh (Z kabuğu)

Sadece bu ikisinin normal olarak nasıl çalıştığını yazdım, çalıştıkları başka yollar da var, ama bu daha gelişmiş bir kullanıcı için.


1

Başka bir bağlamda düşünün, bu gelişmedir.
Çok derin bir geliştirme bilgisine sahip olmasanız bile, muhtemelen temelleri biliyorsunuzdur, yani: bir programı düzenler, bir derleyiciye veya derlenmiş bir uygulama oluşturan bir tercümana sunarsınız.
Konsol, programınızın editörü gibidir; size yazmanıza yardımcı olur, ancak hiçbir şey yapmaz: bittiğinde bunun için derleyiciye gönderilir.

Tercih ettiğiniz editör, vim, gedit, emacs, notepad ++, Netbeans, eclise etc.etc komutunu kullanabilirsiniz, ancak sonunda sadece farklı araçlardır: aynı programı yazarsanız çıktı aynı olacaktır.
Bu metaforda, kabuk derleyicidir. Terminale girilen komutlar, onları yorumlayan ve derhal yürüten kabuğa gönderilir.
Bu nedenle, terminaller kabuk için sadece ön uçlar olsa da, kabuk derleyici için olduğu gibi gerçek dili içerir.

Açıkçası, bir terminal tam olarak bir metin editörü değildir, çünkü esas olarak bir dosya üretmez, ancak alttaki kabuğa metin gönderir ve ondan çıktı alır.

Ve kabuk bir derleyici değildir, aslında komutunuzu yorumlar ve çalıştırılabilir bir yapı oluşturmak yerine derhal çalıştırır.

Bu büyük farkın altında bile olsa, bu fikri anlayabilmem için bu metaforu buldum.


0

Gerçekten çok fazla fark yok. "Kabuk" bir program olduğu zaman, "terminal" bu programın bir ön ambalajıydı ve "konsol" bilgisayarın fiziksel bağlantısıydı (klavye / ekran).

Hangi işletim sistemini çalıştırdığınıza bağlı olarak bir fark var. "Standart" kabuk BASH Linux / Unix tüm lezzetleri normalde kullanılabilir. Windows tamamen farklı bir kabuk kullanıyor.

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.