4Sep

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

click fraud protection

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 "preusmjeri" izlaz bilo koje naredbe, spremite ga u tekstualnu datoteku tako da možete pregledati izlaz kasnije.

Ovo 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 & gt;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, ovo preusmjerava "stdout" - standardni izlaz, koji je zaslon na datoteku.

Evo jednostavnog primjera. Naredba ls navodi 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.

instagram viewer

ls & gt;/path/to/ datoteka

Ne morate navesti put do postojeće datoteke. Navedite bilo koji valjani put i bash će stvoriti datoteku na toj lokaciji.

Ako pogledate sadržaj datoteke, vidjet ćete izlaz ls naredbe. Na primjer, mačka naredba ispisuje sadržaj datoteke na terminal:

mačka /path/to/ datoteka

Zapamtite, & gt;operator zamjenjuje postojeći sadržaj datoteke s izlazom naredbe. Ako želite spremiti izlaz više naredbi u jednu datoteku, upotrijebite oznaku & gt; & gt;umjesto toga. Na primjer, sljedeća naredba će dodati informacije o sustavu datoteci koju navedete:

uname -a & gt; & gt;/path/to/ datoteka

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 ispisa do kraja datotekedatoteka.

Opcija Dva: ispis normalno i preusmjeravanje na datoteku

Možda vam se ne sviđa preusmjeravanje izlaza pomoću & gt;ili>kao što nećete vidjeti izlaz naredbe na terminalu. To je ono za što je naredba za tis. Tee naredba ispisuje ulaz koji prima na zaslon i ga sprema u datoteku u isto vrijeme.

Da biste crtali izlaz naredbe za tisak, ispisivanje na zaslon i spremanje u datoteku, upotrijebite sljedeću sintaksu: naredba

|tee /path/to/ datoteka

Ovo će zamijeniti bilo što u datoteci s izlazom naredbe, baš kao i & gt;operater.

Da biste ispisali izlaz naredbe za tis, ispisujete na zaslon i spremite ga u datoteku, ali dodavajući ga do kraja datoteke:

naredba |tee -a /path/to/ datoteka

Ovo će dodati izlaz na kraj datoteke, baš kao i & gt; & gt;operater.

Shema bash sadrži 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.