Brzi vodič kroz Linuks komandnu liniju
POČETNE NAPOMENE
U ovom vodiču se obrađuju najčešće korišćene shell komande, bez namere da se ulazi dublje u materiju. Ovaj vodič bi trebalo da bude dovoljan da steknete osnovna znanja o komandama i korišćenju shella. Radi preglednosti, ovde nisu obrađene duge opcije komandi. Za informacije o dugim opcijama konsultujte dokumentaciju komande.
RAD SA DIREKTORIJUMIMA
cd (change directory) -> menja trenutni direktorijum
Upotreba
cd [direktorijum]
Ukoliko se cd pozove bez dodatnog argumenta (direktorijum u koji zelite da predjete), trenutni direktorijum postaje vaš home direktorijum.
pwd (print working directory) -> prikazuje trenutni direktorijum
Upotreba
pwd
dir (directory) -> prikazuje sadržaj direktorijuma. Ukoliko nije naveden direktorijum, prikazuje se sadržaj trenutnog.
Upotreba
dir [-opcije...] [direktorijum]
Neke od najčešće korisćenih opcija:
Redosled prikazivanja | Način prikazivanja | c - prema vremenu nastanka | a - prikaži i fajlove koji počinju tačkom | S - prema veličini | C - prikazuje listu u kolonama | t - prema vremenu poslednje izmene | G - ne prikazuje podatke o grupi kojoj pripada vlasnik |
u - prema vremenu poslednjeg pristupa | l - prikazuje sve atribute fajlova | U - nesortirano (prema fizickom rasporedu fajlova u direktorijumu | n - prikazuje UID:GID umesto vlasnika i grupe kojoj pripada |
r - obrnuto | R - prikazuje i sadrzaj poddirektorijuma |
mkdir (make directory) -> pravi novi direktorijum
Upotreba
mkdir <ime_direktorijuma>
rmdir (remove directory) -> brise navedeni direktorijum
Upotreba
rmdir <direktorijum>
OSNOVNI RAD SA FAJLOVIMA
cat (concatenate) - kombinuje fajlove navedene pri prizivanju komande, a zatim prikazuje njihovu kombinaciju kao output. U slucaju da je naveden samo jedan fajl, prikazuje ga.
Upotreba
cat [fajlovi...]
Primer
cat 1.txt 2.txt
Ako fajl 1.txt sadrzi sledeci tekst: "Prvi tekst", a fajl 2.txt sledeci: "drugi tekst", onda ce output biti:
Citat:prvi text
drugi text
cat se najčešće upotrebljava za prikaz sadržine tekstualnog fajla (ili fajlova, zavisno od njihove duzine i prakticnosti takvog prikazivanja) ili dalje manipulisanje tekstom (sortiranje, izdvajanje, itd) više fajlova. Napr:
cat README
ili mnogo verovatnije:
cat README | less
ili, u slucaju prikaza vise fajlova:
cat /etc/X11/xorg.conf /var/log/Xorg.0.log | grep nvidia
cp (copy) - kopiranje fajlova
cp [-opcije...] <fajlovi> <destinacija>
O opcijama ćemo pričati kasnije. Za sada je najvažnija opcija -R
Ova opcija (R = recursive) kopira i poddirektorijume ukoliko kopiramo direktorijum ili sadržaj nekog direktorijuma.
mv(move) - pomeranje fajlova, menjanje imena fajla
Upotreba (pomeranje)
mv <fajlovi> <direktorijum>
Upotreba (menjanje imena fajlova)
mv <ime_fajla> <novo_ime_fajla>
Upotreba (istovremeno pomeranje i menjanje imena)
mv /lokacija/fajl /nova_lokacija/novo_ime_fajla
ls (list) -> slično komandi dir prikazuje sve fajlove i poddirektorijume u navedenom direktorijumu. Ako nije naveden direktorijum, prikazuje se sadržaj trenutnog.
ls [-opcije...] [direktorijum]
Neke od najčešće korisćenih opcija:
Redosled prikazivanja | Način prikazivanja | c - prema vremenu nastanka | a - prikaži i fajlove koji počinju tačkom | S - prema veličini | C - prikazuje listu u kolonama | t - prema vremenu poslednje izmene | G - ne prikazuje podatke o grupi kojoj pripada vlasnik | u - prema vremenu poslednjeg pristupa | l - prikazuje sve atribute fajlova | U - nesortirano (prema fizickom rasporedu fajlova u direktorijumu | n - prikazuje UID:GID umesto vlasnika i grupe kojoj pripada | r - obrnuto | R - prikazuje i sadrzaj poddirektorijuma | X - po ekstenziji | |
ln (link) -> pravljenje veza (vrlo blizu konceptu prečica)
Ovde moramo malo zaći i u teoriju. Veze se, uslovno rečeno, mogu posmatrati i kao neka vrsta prečica ka originalnom fajlu.
Postoje dve osnovne vrste veza:
čvrste veze
simboliče veze
Čvrste veze predstavljaju još jedno "ime" za fajl. Ovaj koncept podrazumeva da jedan fajl može imati više imena kojima se identifikuje, a jednu lokaciju na disku.
Simboličke veze predstavljaju posebnu vrstu fajlova koji sadrže samo lokaciju odredišnog fajla. Simboličke veze se mnogo češće koriste.
Upotreba
ln [-opcije...] fajl veza_ka_fajlu
Opcije
najznačajnija opcija je '-s' kojom se kreiraju simboličke veze
Primer 1 - kreiranje simboličke veze
ln -s /dev/536ep /dev/modem
Primer 2 - kreiranje čvrste veze
ln /usr/bin/who /usr/bin/ko
Primer 3 - kreiranje simboličke veze u trenutnom direktorijumu
ln -s log.txt log_output.txt
STANDARDNI ULAZ, STANDARDNI IZLAZ I NJIHOVO PREUSMERAVANJE I
Najosnovnije što treba znati da bi se efektivno koristile shell komande.
Pri pokretanju svakog Linux programa kreira se tri toka podataka: standardni ulaz (stdin) koji prima tok podataka koji potiče iz korisničkog unosa iz terminala (fajl ili uređaj), standardni izlaz (stdout) koji šalje izlaz programa na terminal (fajl ili uređaj) i standardna greška (stderr) koji šalje dijagnostičke i poruke o grešci na terminal (fajl ili uređaj).
U operativnim sistemima zasnovanim na unixu postoje i specijalni uređaji koji predstavljaju ove tokove. To su /dev/stdin, /dev/stdout i /dev/stderr.
Ovde nećemo zaći dublje u preusmeravanje. Obradićemo samo:
'>' - preusmeravanje izlaza programa u fajl (ili uređaj)
s time da se, ako fajl postoji, briše se postojeći
i kreira novi koji sadrži preusmereni izlaz.
'>>' - preusmeravanje izlaza programa u fajl (ili uređaj)
na taj način da se svaki se svaki novi izlaz dodaje
na kraj fajla u koji se upisuje bez brisanja pretho-
dnog sadržaja.
'|' - direktno preusmeravanje izlaza jednog programa u drugi.
(piping, postavljanje cevi - pesnički rečeno)
Primer za '>'
ls > sadrzaj_trenutnog_direktorijuma.txt
Preusmerava izlaz komande ls (tj listu fajlova trenutnog direktorijuma) u fajl 'sadrzaj_trenutnog_direktorijuma.txt'. Otvorite novokreirani fajl i pogledajte šta je njegov sadržaj.
Primer za '>>'
Ponovite prethodni primer (upotreba '>'), zatim otkucajte:
ls >> sadrzaj_trenutnog_direktorijuma.txt
Ovo dodaje novi izlaz komande ls na kraj fajla... Sada fajl 'sadrzaj_trenutnog_direktorijuma.txt' sadrži dve liste svih fajlova u direktorijumu. Otvorite ga i proverite.
Primer za '|' (pipe ili cevovod)
U ovom primeru ćemo koristiti komandu koja do sada nije obrađena (biće obrađena u sledećoj reviziji ovog vodiča). Komanda grep služi za pretragu sadržaja fajla.
Najjednostavnija upotreba bi bila:
grep <izraz> [fajl_koji_se_pretražuje]
O detaljima ćemo pričati u sledećoj reviziji ovog vodiča.
Konkretan primer za '|':
ls | grep txt
Izlaz komande ls se preusmerava u input komande grep. Tj. ls izbacuje sadržaj trenutnog direktorijuma. Komanda grep uzima taj sadržaj i u njemu traži linije koje sadrže izraz 'txt'. Recimo u mom home direktorijumu output izgleda ovako:
Citat:exp.txt
freenode-channel-list.txt
proba.txt
|