Gym
lesson

Šta je terminal?

Cilj učenja: Nakon ove lekcije razumeš razliku između terminala, shella i konzole, znaš šta je bash i zašto je komandna linija moćan alat.


Terminal, shell i konzola — nisu ista stvar

Ove tri reči se često mešaju, ali svaka znači nešto drugačije.

Konzola je originalno označavala fizički uređaj — ekran i tastaturu direktno priključene na računar. Danas je to uglavnom istorijski termin, mada se i dalje koristi (npr. "sistemska konzola" na serverima).

Terminal (ili terminal emulator) je program koji simulira stari fizički terminal unutar grafičkog okruženja. Primeri: GNOME Terminal, Alacritty, xterm, Windows Terminal. Terminal samo prikazuje tekst i prihvata tastaturu — sam po sebi ne razume komande.

Shell je program koji zapravo interpretira komande koje kucaš. Shell čita tvoj unos, izvršava komande i vraća rezultat. Terminal je prozor, shell je mozak.

┌─────────────────────────────────┐
│  Terminal (grafički prozor)     │
│  ┌───────────────────────────┐  │
│  │  Shell (bash, zsh, fish)  │  │
│  │  > čita komande           │  │
│  │  > izvršava programe      │  │
│  │  > vraća izlaz            │  │
│  └───────────────────────────┘  │
└─────────────────────────────────┘

Šta je bash?

Bash (Bourne Again Shell) je najrasprostranjeniji shell na Linux sistemima. Ime je igra reči — "Bourne Again" je referenca na originalni Bourne Shell (sh) koji je napisao Stephen Bourne 1979. godine.

Bash je podrazumevani shell na većini Linux distribucija i macOS-u (do Cataline). Osim interaktivnog rada, bash se koristi i za pisanje shell skripti — automatizovanih sekvenci komandi.

Postoje i drugi shellovi: zsh (popularan na macOS), fish (user-friendly, sa autocompletom), dash (lagan, za skripte). Ali bash je osnova — sve što naučiš ovde važi i za ostale.

Da proveris koji shell koristis:

echo $SHELL

($SHELL je promenljiva okruzenja — vise o tome u poglavlju 13. Za sad, prihvati da $NEKA_REC znaci "uzmi vrednost te promenljive".)


CLI vs GUI — zašto uopšte koristiti terminal?

GUI (Graphical User Interface) je ono na šta si navikao — prozori, dugmad, miš. Intuitivno, ali sporo za ponavljajuće zadatke.

CLI (Command Line Interface) je tekstualni interfejs. Na prvi pogled zastrašujuć, ali ima ogromne prednosti:

Konkretni primeri gde CLI blista:

  • Preimenuj 500 fajlova odjednom jednom komandom
  • Povezi se na server u Singapuru i upravljaj njime kao da je lokalan
  • Zakaži automatsko pravljenje backup-a svake noći
  • Parsiraj logove i nađi sve greške u poslednja 24 sata

Prompt — šta sve te cifre i slova znače?

Kada otvoriš terminal, vidiš nešto ovako:

student@lab:~$

Ovo je prompt — terminal te poziva da uneseš komandu. Rastavimo ga:

Deo Značenje
student Korisničko ime trenutno ulogovanog korisnika
@ Separator (čitaj: "na")
lab Ime hosta (naziv računara/servera)
: Separator
~ Trenutni direktorijum (~ = home direktorijum)
$ Oznaka da si običan korisnik

Napomena: Ako vidiš # umesto $, ulogovan si kao root — superkorisnik sa svim privilegijama. Budi oprezan!

Prompt se menja kako navigiraš:

student@lab:~$ cd /etc
student@lab:/etc$

Tvoja prva interakcija

Pokušaj odmah:

whoami

Ispisuje tvoje korisničko ime.

date

Prikazuje trenutni datum i vreme.

pwd

(Print Working Directory) — pokazuje u kom direktorijumu se trenutno nalaziš.

Savet: Ctrl+L cisti ekran (ili kucaj clear). Za Tab autocomplete, istoriju komandi i Ctrl+C — vidi lekciju 04 "Prakticne precice".