Preusmeravanje

Vecina procesa pokrenutih UNIX komandama pisu u standardni izlaz (to jest, pisu u prozor terminala), i mnogi uzimaju njihov unos iz standardnog unosa (to jest, citaju ga sa tastature). Postoji i standardna greska, gde procesi pisu njihove error poruke, podrazumevano, u prozor terminala.

Vec smo videli jedan primer koriscenja cat komande za upisivanje sadrzaja fajla na ekran.

Sada ukucajte cat ali ne odredjujte fajl iz koga ce citati

% cat

Onda ukucajte nekliko reci na tastaturi i pritisnite taster [Return].

Na kraju drzite taster [Ctrl] i pritisnite [d] (krace se pise kao ^D ) da bi okoncali unos.

Sta se dogodilo?

Ako pokrenete cat komandu a ne odredite fajl iz koga ce citati, onda cita standardni usno (tastatura), i kada primi 'end of file' (^D), kopira ga u standardni izlaz (ekran).

U UNIX-u, mozemo preusmeriti i unos i izlaz komandi.

Preusmeravanje Izlaza Simbol > se koristi za preusmeravanje izlaza komande. Na primer, da bi smo kreirali fjal list1 koji sadrzi listu voca, kucajte

% cat > list1

Onda kucajte imena nekog voca. Pritisnite [Return] nakon svakog.

pear
banana
apple
^D (Control D to stop)

Ono sto se desava je da cat komanda cita standardni unos (tastatura) i > preusmerava izlaz, koji normalno ide na ekran, u fajl list1

Da vidite sadrzaj fajla, kucajte

% cat list1

Vezba 3a

Koristeci gornju metodu, kreirajte drugi fajl list2 da sadrzi sledece voce: narandza, sljiva, mango, grejpfrut. Procitajte sadrzaj list2

Forma » dodaje standardni izlaz u fajl. Znaci da bi dodali vise stavki u list1, kucajte

% cat >> list1

Onda kucajte imena voca

peach
grape
orange
^D (Control D to stop)

Da vidite sadrzaj fajla, kucajte

% cat list1

Sada bi trebalo da imate dva fajla. Jedan sadrzi sest voca, a drugi sadrzi cetiri voca. Sada cemo koristiti cat komandu da spojimo (concatenate) list1 i list2 u novi fajl biglist. Kucajte

% cat list1 list2 > biglist

Ovo znaci da cita sadrzaj list1 i list2, i salje izlazni tekst u fajl 'biglist

Da vidite sadrzaj novog fajla, kucajte

% cat biglist

Preusmeravanje Unosa

Simbol < se koristi da se preusmeri unos komande.

Komanda sort sortira listu po alfabetskom ili numerickom redu. Kucajte

% sort 

Onda kucajte imena nekog povrca. Pritisnite [Return] nakon svakog.

carrot
beetroot
artichoke
^D (control d to stop)

Izlaz ce biti

artichoke
beetroot 
carrot 

Koristeci < mozete preusmeriti unos da dodje iz fajla a ne sa tastature. Na primer, da sortirate listu voca,kucajte

% sort < biglist 

i sortirana lista ce se prikazati na ekranu.

Da prenesete sortiranu listu u fajl, kucajte,

% sort < biglist > slist 

Koristite cat da vidite sadrzaj fajla slist

Cevi

Da vidite ko je na sistemu pored vas, kucajte

% who 

Jedna metoda kojom dobijate sortiranu listu imena je da kucate,

% who > imena.txt
% sort < imena.txt 

Ovo je malo sporo i i morate da zapamtite da uklonite privremeni fajl names kada zavrsite. Ono sto stvarno zelite da uradite je da povezete izlaz who komande direktno do unosa sort komande. Ovo je upravo ono sto cevi rade. Simbol za cev je vertikalna crta |

Na primer, kucajuci

% who | sort 

ce dati isti rezultat kao i gore, ali brze i cistije.

Da saznate koliko ima ulogovanih korisnika, kucajte

% who | wc -l 

Vezba 3b

a2ps -Phockney tekstfajl je komanda za stampanje postscript fajla na stampacu hockney.

Koristeci cevi, stampajte sve linije iz list1 i list2 koje sadrze slovo 'p', sortirajte rezultat, i posaljite na stampanje printeru hockney.

Odgovor je dostupan ovde

Pregled

komanda > fajlpreusmerava standardni izlaz u fajl
komanda » fajldodaje standardni izlaz u fajl
komanda < fajlpreusmerava standardni unos iz fajla
komanda1 komanda2prosledjuje kroz cev izlaz iz command1 do unosa command2
cat fajl1 fajl2 > fajl0spaja file1 i file2 u file0
sortsortira podatke
whoizlistava trenutno ulogovane korisnike
a2ps -Pprinter tekstfajlstampa tekstualni fajl do navedenog stampaca
lpr -Pprinter psfajlstampa postscript fajl do navedenog stampaca
 
treci_tutorijal.txt · Last modified: 2007/07/17 10:29 (external edit)
 
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki