Awalnya Anda baru saja terminal bodoh - pada awalnya sebenarnya teletypewriter (mirip dengan mesin tik listrik, tetapi dengan gulungan kertas) (karenanya / dev / tty - TeleTYpers), tetapi kemudian layar + keyboard-combo - yang baru saja mengirim kode kunci - yang hanya mengirim kode-kunci ke komputer dan komputer mengirim kembali perintah yang menulis surat pada terminal (yaitu terminal tanpa gema lokal, komputer harus memerintahkan terminal untuk menulis apa yang diketik pengguna pada terminal) - ini adalah salah satu alasan mengapa begitu banyak perintah Unix yang penting begitu singkat. Sebagian besar terminal dihubungkan dengan serial-line, tetapi (paling tidak) satu terhubung langsung ke komputer (seringkali ruangan yang sama) - ini adalah konsol. Hanya beberapa pengguna terpilih yang dipercaya untuk mengerjakan "konsol" (ini sering merupakan satu-satunya "terminal" yang tersedia dalam mode pengguna tunggal).
Kemudian ada juga beberapa terminal grafis (disebut "xterminals", tidak perlu bingung dengan xterm
-program) dengan layar & kartu grafis layar, keyboard, mouse dan prosesor sederhana; yang bisa menjalankan X-server. Mereka tidak melakukan perhitungan sendiri, sehingga klien-X berlari di komputer yang terhubung dengan mereka. Beberapa hardisk, tetapi mereka juga bisa boot melalui jaringan. Mereka populer di awal 1990-an, sebelum PC menjadi sangat murah dan kuat.
"Terminal emulator" - "terminal-window" yang Anda buka dengan program-program seperti xterm
atau konsole
- mencoba meniru fungsi terminal bodoh tersebut. Juga program seperti PuTTY
(Windows) meniru terminal.
Dengan PC, di mana "konsol" (keyboard + layar) dan "komputer" lebih dari satu unit, Anda mendapat "terminal virtual" (di Linux, kunci Alt + F1 hingga Alt + F6) sebagai gantinya, tetapi ini juga meniru terminal gaya lama. Tentu saja, dengan Unix / Linux menjadi lebih dari sistem operasi desktop yang sering digunakan oleh pengguna yang menghanguskan, Anda sekarang melakukan sebagian besar pekerjaan Anda "di konsol", di mana pengguna sebelumnya menggunakan terminal yang dihubungkan oleh serial-line.
Tentu saja shell yang memulai program. Dan ia menggunakan fork-systemcall (bahasa C) untuk membuat salinan dirinya dengan lingkungan-setting, maka exec-systemcall digunakan untuk mengubah salinan ini menjadi perintah yang ingin Anda jalankan. Shell menangguhkan (kecuali perintah dijalankan di latar belakang) sampai perintah selesai. Ketika perintah mewarisi pengaturan untuk stdin, stdout dan stderr dari shell, perintah akan menulis ke layar terminal dan menerima input dari keyboard terminal.