Š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 kaoroot— 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+Lcisti ekran (ili kucajclear). Za Tab autocomplete, istoriju komandi i Ctrl+C — vidi lekciju 04 "Prakticne precice".