If-Koubou

Kako spasiti izlaz naredbe u datoteku u bashu (tzv. Linux i MacOS terminal)

Kako spasiti izlaz naredbe u datoteku u bashu (tzv. Linux i MacOS terminal) (Kako da)

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.

Prva opcija: preusmjeriti izlaz na datoteku samo

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.

Druga opcija: ispisuje normalno i preusmjerite je na datoteku

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.