Grafičko radno okruženje opterećuje procesor i povećava rizik u smislu sigurnosti sistema, tako da se, po pravilu, ne instalira na serverima. Tada sistem administratorima na raspolaganju ostaje komandni interpreter (shell) i prateći skup alata za rad sa fajlovima.
Shell je interfejs između korisnika i kernela, odnosno jezgra OS-a. Shell prihvata komande koje korisnik zadaje, zatim ih interpretira i potom ih izvršava, pri čemu po potrebi pokreće odgovarajuće programe. Na UNIX sistemima postoji više različitih komandnih interpretera, a korisnici u toku rada po potrebi mogu preći iz jednog u drugi.
Komandni interpreter je proces koji obavlja sledeće funkcije:
Kad se korisnik prijavi na sistem u kontekstu tekućeg login procesa izvršava se proces shell, odnosno komandni interpreter. Na ekranu se prikazuje komandni prompt (shell prompt), a to je najčešće znak $, ukoliko se na sistem prijavi običan korisnik, odnosno #, ukoliko se na sistem prijavi root. Kada korisnik zada neku komandu (odnosno otkuca neki tekst i pritisne Enter), shell to pokušava da interpretira. Tekst unet u shell prompt naziva se komandna linija (command line), čiji je opšti oblik:
Znak $ je odzivni znak komandnog interpretera (shell prompt). Komanda može biti interna (ugrađena u shell) ili eksterna (realizovana kao poseban program koji se nalazi u sistemskoj putanji). Opcije i argumenti su parametri koje shell prenosi komandi, pri čemu su argumenti najčešće obavezni i predstavljaju ime nekog fajla, direktorijuma, korisnika ili, na primer, identifikator procesa.
Ime komande, opcije i argumenti razdvajaju se razmakom. Shell interpretira razmak kao graničnik i na osnovu toga razdvaja argumente i opcije od imena komande. U jednu komandnu liniju može se uneti najviše 256 karaktera. Imena većine UNIX komandi po pravilu se formiraju od malih slova. Više UNIX komandi mogu se navesti u istoj komandnoj liniji ukoliko su razdvojene znakom tačka-zarez.
Opcije su osetljive na velika i mala slova (case-sensitive) i mogu se navesti na dva načina:
Jedna od često koričćenih komandi je echo koja prikazuje tekst ili vrednost promenljive na ekranu. Sintaksa komande echo je:
Opcije:
Primer.
Sve u Linux-u je fajl i ova konstatacija će postajati sve jasnija kako se budemo detaljnije upoznavali sa Linux-om. Za sada je bitno da se svi fajlovi nalaze unutar direktorijuma (foldera) koji su organizovani u hijerarhiji stabla. Prvi direktorijum (koren stabla) se naziva root direktorijum. Root direktorijum ima fajlove i poddirektorijume koji mogu da sadrže fajlove i direktorijume…
Lokacija fajla ili direktorijuma se naziva putanja. Ako imamo direktorijum koji se zove home i koji sadrži poddirektorijum marko koji u sebi ima folder Movies, onda je putanja do tog direktorijuma /home/marko/Movies.
Pri kretanju po sistemu fajlova (fajl sistemu), kao i u realnom životu, korisno je znati gde se trenutno nalazimo i gde hoćemo da idemo. Da bi videli gde se trenutno nalazimo možemo koristiti komandu pwd, skraćeno od Print Working Directory (Štampa Radnog Direktorijuma), koja prikazuje u kom direktorijumu se trenutno nalazimo. Putanja je prikazana od root direktorijuma.
Kada znamo gde se nalazimo (pwd) možemo da naučimo i kao da se krećemo. Da bi se kretali moramo da koristimo putanje. Postoje dva načina da se odredi putanja:
Komanda za kretanje po direktorijumima je cd (change directory).
Sada smo promenili lokaciju na /home/marko/Pictures.
Ako u direktorijum Pictures imamo direktorijum Zurke možemo do tog direktorijuma stići komandom
Pored navigacije apsolutnim i relativnim putanjama komanda cd ima i skraćenice
Kada znamo da se krećemo po sistemu potrebno je da znamo i šta nam je dostupno. Za to možemo da koristimo komandu ls koja lista sadržaj direktorijuma. Komanda ls, bez argumenata, lista sadržaj direktorijuma u kome se trenutno nalazimo, ali je moguće je i uneti putanju do direktorijuma za koji hoćemo da dobijemo sadržaj.
Komanda ls neće prikazati sve fajlove. Ako ime fajla počinje sa . taj fajl je skriven. Ako prosledimo opciju -a onda komanda ls prikazuje i skrivene fajlove.
Još jedna korisna opcija je -l, koja prikazuje detaljnu listu fajlova. Detaljna lista sadrži dozvole za fajlove, broj linkova, ime vlasnika, vlasničku grupu, veličinu fajla, vreme kreiranja ili poslednje modifikacije i ime fajla/direktorijuma.
Moguće je proslediti jednoj komandi više opcija odjednom. Za komadnu ls moguće je proslediti -la. Redosled navođenja opcija određuje i redosled izvršavanja opcija. U većini slučajeva redosled nije bitan tako da je moguće komandi ls proslediti opciju -la i -al.
Jedan od načina za kreiranje fajlova je komanda touch. Touch kreira novi prazan fajl.
Touch takođe menja vreme poslednje modifikacije postojećeg fajla.
Na linux sistemima ime fajla ne mora da reprezentuje sadržaj fajla (kao u Windows sistemima). Moguće je kreirati fajl funny.gif koji u stvari nije GIF.
Da bi saznali koji je tip fajla, možemo da koristimo komandu file.
Osnovna komanda za prikaz sadržaja fajla je komanda cat, skraćeno od concatenate. Ona može i da kombinuje više fajlova i prikže njihov sadržaj.
Komanda cat nije pogodna za prikaz velikih fajlova.
Ako je potrebno prikazati sadržaj velikog tekstualnog fajla možemo koristiti komandu less.
Za navigaciju se koriste sledeće komande:
Komandni interpreter bash upisuje svaku komandnu liniju u history fajl. Ovo omogućava da se prethodne komande ponove, pri čemu se pre ponovnog izvršavanja mogu i izmeniti. Komande se takođe mogu ponavljati na osnovu rednog broja koji im je pridružen u history datoteci. Bash shell history datoteku smešta u home direktorijum korisnika (~/.bash_history), i u njoj podrazumevano čuva 1000 prethodno izvršenih komandi. Broj komandi koje se mogu smestiti u ovu datoteku može se promeniti pomoću promenljive HISTSIZE - na primer, ako je HISTSIZE=500, to znači da se u datoteku ~/.bash_history mogu smestiti 500 prethodno izvršenih komandi. Komanda history u bash shellu prikazuje prethodno izvršene komande:
Copy: kopiranje fajla/direktorijuma na specificiranu lokaciju
Primeri:
kopiranje direktorijuma /etc sa svim poddirektorijumima i datotekama u direktorijum /tmp/oldconfig/etc (datoteka /etc/passwd kopira se u /tmp/oldconfig/etc/passwd),
kopiranje kompletnog sadržaja direktorijuma /etc u direktorijum /tmp/oldconfig (datoteka /etc/passwd kopira se u /tmp/oldconfig/passwd),
kopiranje datoteka čije ime počinje sa a iz tekućeg direktorijuma i svih poddirektorijuma u direktorijum /tmp/mybackup.
Džoker karakteri: *, ? i []. Argument komande koji sadrži džoker karakter zamenjuje se odgovarajućom listom datoteka shodno pravilima zamene. Komandni interpreter izvršava ovu zamenu pre izvršavanja same komande, odnosno pre pokretanja programa.
Opseg se ne sme zadati u opadajućem redosledu.
Move: pomeranje fajla na drugu lokaciju ili promena imena
Remove: brisanje fajla
Make directory: kreiranje specificiranog direktorijuma
Remove directory: brisanje direktorijuma
Traži fajlove čiji atributi zadovoljavaju kriterijume pretrage u direktorijumu koji je naveden kao početna tačka pretrage i svim poddirektorijumima, rekurzivno; ukoliko korisnik ne naznači komandi šta da uradi sa datotekama koje pronađe, komanda neće izvršiti nikakvu akciju.
Ostali kriterijumi pretrage su:
Navođenje opcije –help u samoj komandi.
Na primer:
Ispisuje na ekranu sintaksu i objašnjenja za odgovarajuće argumente i opcije, bez detaljnijeg opisa same komande. Ukoliko objašnjenje ne može stati na jedan ekran - pipeline sa komandom less (command –help | less). |
Man stranice
Jedan od najkompletnijih izvora pomoći (ponekad i jako komplikovan i nejasan) su stranice uputstva za korišćenje komande (manual page, odnosno man page).
Prikazuje lokaciju izvršnih datoteka, izvornog koda i prateće dokumentacije programa
bez parametara prikazuje lokacije svih elemenata programa
Primer:
upotreba komande whereis za pronalaženje lokacije programa insmod (koji se koristi za dodavanje modula u aktivno Linux jezgro)
Prikazuje samo lokaciju izvršnih datoteka; traži izvršnu datoteku u direktorijumima navedenim u sistemskoj putanji i ukoliko je nađe, prikazuje putanju i ime prve pronađene komande
Primeri:
Na ekranu prikazuje ime i opis svih komandi koje u opisu imaju zadati string.
Alias je način dodele kraćeg imena pomoću kog se određena komanda, ili niz komandi, može pozvati iz komandnog interpretera. Na primer, može se dodeliti alias ll (long listing) koji izvršava komandu ls –l. Alias je aktivan samo u komandnom interpreteru za koji je napravljen. Za korn i bash alias se dodeljuje na sledeći način:
Jednom postavljen alias se poništava komandom unalias
Primeri:
komandi se može dodeliti kraće alternativno ime
jednom komandom se može zameniti sekvenca komandi
može se kreirati jednostavno ime za izvršavanje komandi sa određenim parametrima