Kada pokrenete naredbu u brzom upitu, normalno ispisuje izlaz te naredbe izravno na terminal, tako da je možete odmah pročitati. No, bash također vam omogućuje da, "usmjeravate", izlaz bilo koje naredbe, spremite ga u tekstualnu datoteku tako da kasnije možete pregledati izlaz.
To radi u bash na bilo kojem operativnom sustavu, od Linuxa i MacOS-a do Ubuntu-baziranog bash okruženja.
Da biste koristili preusmjeravanje basha, pokrenite naredbu, odredite >
ili >>
operatoru, a zatim navedite put datoteke koju želite usmjeriti.
>
preusmjerava izlaz naredbe u datoteku, zamjenjujući postojeći sadržaj datoteke.>>
preusmjerava izlaz naredbe u datoteku, dodajući izlaz na postojeći sadržaj datoteke.Tehnički, to preusmjerava, "izlazak" - standardni izlaz, koji je zaslon na datoteci.
Evo jednostavnog primjera. ls
naredba popisuje datoteke i mape u trenutnom direktoriju. Tako. kada pokrenete sljedeću naredbu, ls
će popis datoteka i mapa u trenutnom direktoriju. No neće ih ispisati na zaslonu - spremit će ih u datoteku koju navedete.
ls> / path / to / file
Ne morate navesti put do postojeće datoteke. Navedite valjane putanje i bash će stvoriti datoteku na toj lokaciji.
Ako pogledate sadržaj datoteke, vidjet ćete ls
izlaz naredbe. Na primjer, mačka
naredba ispisuje sadržaj datoteke na terminal:
mačka / put / to / file
Zapamti,
operator zamjenjuje postojeći sadržaj datoteke s izlazom naredbe. Ako želite spremiti izlaz više naredbi u jednu datoteku, upotrijebite >
umjesto toga. Na primjer, sljedeća naredba će dodati informacije o sustavu datoteci koju odredite:>>
uname -a >> / put / u / datoteku
Ako datoteka već ne postoji, bash će stvoriti datoteku. U suprotnom, bash će ostaviti postojeći sadržaj datoteke i dodati izlaz do kraja datoteke.
Kada pregledavate sadržaj datoteke vidjet ćete rezultate vaše druge naredbe koji su dodani do kraja datoteke:
Možete ponoviti taj postupak onoliko puta koliko želite zadržati dodavanje izlaza do kraja datoteke.
Možda vam se ne sviđa preusmjeravanje izlaza s >
ili >>
kao što nećete vidjeti izlaz naredbe na terminalu. To je ono što meta
naredba je za. Naredba za tisak ispisuje ulaz koji prima na zaslon i sprema ga u datoteku istodobno.
Za izlaz izlazne naredbe meta
, ispisivanje na zaslon i spremanje u datoteku, upotrijebite sljedeću sintaksu:
naredba | tee / path / to / file
To će zamijeniti bilo što u datoteci s izlazom naredbe, baš kao i >
operater.
Za izlaz izlazne naredbe meta
, ispisujete na zaslon i spremite je u datoteku, ali dodajte ga do kraja datoteke:
naredba | tee -a / put / u / datoteku
To će dodati izlaz do kraja datoteke, baš kao i >>
operater.
Shema bash uključuje neke dodatne, napredne operatore koji obavljaju slične funkcije. Bit će osobito korisno ako pišete bash skripte. Više pojedinosti potražite u poglavlju Preusmjeravanje I / O u Advanced Bash-Scripting Guideu.