Unixova lupina: terminal in ukazna vrstica — definicija in vrste (bash, zsh, sh)

Unixova lupina, imenovana tudi shell, terminal ali konzola, je program, ki sprejema ukaze iz tipkovnice (ali iz drugih vhodnih virov) in jih izvršuje. Ti ukazi so lahko ločeni programi ali vgrajene ukazne funkcije lupine. Primeri pogosto uporabljenih orodij:

  • ls za seznam datotek
  • cp za kopiranje datotek
  • man za prikaz priročnika ukazov
  • mv za premikanje ali preimenovanje datotek
  • rm za brisanje datotek
  • ps in kill za upravljanje procesov

Kaj je razlika med terminalom in lupino?

Terminal (npr. xterm, GNOME Terminal, Konsole) je program, ki nudi okno za vnos in izpis besedila. Lupina (shell) je program, ki te vnose interpretira in izvaja ukaze. Terminal torej prikazuje vhod/izhode, lupina pa razume in izvršuje ukaze znotraj tega okna.

Vhodi, izhodi in preusmeritve

Lupina uporablja standardne tokove: stdin (vhod), stdout (izhod) in stderr (napake). Pogoste operacije:

  • Preusmeritev izhoda: > (prepiše datoteko), >> (dodajanje)
  • Preusmeritev vhoda: <
  • Pipes: | poveže stdout enega ukaza z stdin drugega
  • Usmerjanje napak: 2>> ali 2>&1

Primer: ls -l | grep '^d' izpiše samo imenike. Job kontrola (npr. &, fg, bg, Ctrl‑Z) omogoča izvajanje ukazov v ozadju ali njihovo zaustavitev/obnovitev.

Vrste lupin: sh, bash, zsh, csh, ...

Obstaja več različic Unixovih lupin, ki se razlikujejo po sintaksi, funkcionalnostih in razširitvah:

  • sh (Bourne shell / POSIX sh) — osnovna, prenosljiva sintaksa, pogosto uporabljena za skripte, ki morajo teči povsod.
  • bash (Bourne Again SHell) — najpogostejša interaktivna lupina na Linuxu; podpira zgodovino ukazov, razširjeno dopolnjevanje, zaganjanje ukazov v ozadju, napredne skriptne funkcije (npr. arrays) in številne razširitve POSIX.
  • zsh — zelo prilagodljiva lupina z zmogljivim dopolnjevanjem, naprednimi možnostmi za prompt, temami in plugin sistemi (oh‑my‑zsh).
  • csh / tcsh — C Shell ima sintakso, podobno programskemu jeziku C; tcsh doda interaktivne izboljšave.
  • ksh (Korn shell) — združuje zmogljivosti skriptiranja in interaktivnosti; včasih uporablja napredne funkcije za poslovne skripte.

Na primer naslednje pogovorno okno za ugotavljanje vrste procesorja bi bilo možno z vsemi lupinami:

uname -m

(Ukaz uname je sistemski program in deluje neodvisno od izbrane lupine; rezultat bo arhitektura, npr. x86_64.)

Skriptno programiranje in konfiguracijske datoteke

Lupine omogočajo pisanje skriptov — datotek s seznamom ukazov, ki jih lupina izvrši. Skripte običajno začnejo z "shebang" vrstico, ki nakaže, katera lupina naj se uporabi, npr. #! /bin/bash. Skripte mora biti naredite izvršljive (npr. chmod +x skripta.sh).

Pomembne konfiguracijske datoteke:

  • /etc/profile, ~/.profile — konfiguracija za prijavo v sistem (login shells)
  • ~/.bashrc, ~/.bash_profile — nastavitve za bash
  • ~/.zshrc, ~/.zprofile — nastavitve za zsh

V konfiguracijah lahko nastavite spremenljivke okolja (npr. PATH), alias ukaze (alias ll='ls -la'), funkcije in prilagojen prompt. Za pregled razpoložljivih možnosti uporabite man bash, man zsh ali man sh.

Praktični nasveti

  • Če želite spremeniti privzeto lupino za svoj uporabniški račun, uporabite chsh ali uredite /etc/passwd (le s skrbniškimi pravicami).
  • Za prenosljive skripte uporabljajte sintakso, skladno s POSIX (sh), da bo skripta delovala na več sistemih.
  • Za interaktivno delo z zmogljivostmi kot so samodopolnjevanje, zgodovina ukazov in teme, poskusite zsh z oh‑my‑zsh ali prilagodite bash nastavitve.
  • Uporabite man, info ali spletne vire za podrobnosti o posamezni lupini in ukazih.
Unixova lupina, v tem primeru Linuxova lupina (kliknite za povečavo)Zoom
Unixova lupina, v tem primeru Linuxova lupina (kliknite za povečavo)


AlegsaOnline.com - 2020 / 2025 - License CC3