Početna » kako da » Kako spremiti izlaz naredbe u datoteku u Bashu (tzv. Linux i MacOS terminal)

    Kako spremiti izlaz naredbe u datoteku u Bashu (tzv. Linux i MacOS terminal)

    Kada pokrenete naredbu u bash promptu, on normalno ispisuje izlaz te naredbe izravno terminalu tako da ga možete odmah pročitati. Ali bash vam također omogućuje "preusmjeravanje" izlaza bilo koje naredbe, spremanje u tekstualnu datoteku kako biste kasnije mogli pregledati izlaz.

    Ovo radi u bash-u na bilo kojem operativnom sustavu, od Linuxa i MacOS-a do Ubuntu-baziranog okruženja Windows 10.

    Prva mogućnost: Preusmjeravanje izlaza samo u datoteku

    Da biste koristili preusmjeravanje bash-a, pokrenuli ste naredbu, odredite > ili >> operatora, a zatim unesite put datoteke na koju želite da se izlaz preusmjeri.

    •  > preusmjerava izlaz naredbe u datoteku, zamjenjujući postojeći sadržaj datoteke.
    •  >> preusmjerava izlaz naredbe u datoteku, dodajući izlaz postojećem sadržaju datoteke.

    Tehnički, to preusmjerava "stdout" - standardni izlaz, koji je zaslon-u datoteku.

    Evo jednostavnog primjera. ls naredba navodi datoteke i mape u trenutnom direktoriju. Tako. kada pokrenete sljedeću naredbu, ls će popisati datoteke i mape u trenutnom direktoriju. Ali neće ih ispisati na zaslon - spremit će ih u datoteku koju navedete.

    ls> / put / u / datoteku

    Ne morate specificirati put do postojeće datoteke. Navedite bilo koju važeću putanju i bash će stvoriti datoteku na tom mjestu.

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

    mačka / put / u / datoteku

    Zapamtite >  operater zamjenjuje postojeći sadržaj datoteke izlazom naredbe. Ako želite spremiti izlaz više naredbi u jednu datoteku, upotrijebite >> umjesto toga. Na primjer, sljedeća naredba dodaje informacije o sustavu u datoteku koju navedete:

    uname -a >> / put / u / datoteku

    Ako datoteka već ne postoji, bash će stvoriti datoteku. Inače, bash će ostaviti postojeći sadržaj datoteke sam i dodati izlaz na kraj datoteke.

    Kada pregledate sadržaj datoteke, vidjet ćete da su rezultati druge naredbe dodani na kraj datoteke:

    Taj postupak možete ponoviti onoliko puta koliko želite da nastavite izlaz na kraj datoteke.

    Druga mogućnost: Ispis normalno i preusmjeriti na datoteku

    Možda ne želite preusmjeriti izlaz s oznakom > ili >> operatora, jer nećete vidjeti izlaz naredbe u terminalu. To je ono što meta naredba je za. T-naredba ispisuje ulaz koji prima na zaslon i istodobno ga sprema u datoteku.

    Da biste ispustili izlaz naredbe meta, ispisivanjem na zaslon i spremanjem u datoteku, koristite sljedeću sintaksu:

    naredba | Tee / put / u / datoteku

    To će zamijeniti sve što je u datoteci s izlazom naredbe, baš kao i > operater.

    Da biste ispustili izlaz naredbe meta , ispisivanje na zaslon i spremanje u datoteku, ali dodavanje na kraj datoteke:

    naredba | tee -a / put / u / datoteku

    Ovo će dodati izlaz na kraj datoteke, baš kao i >> operater.

    Bash ljuska uključuje neke dodatne, napredne operatore koji obavljaju slične funkcije. Oni će biti osobito korisni ako pišete bash skripte. Za detaljnije informacije pogledajte poglavlje I / O Redirection u Advanced Bash-Scripting Guide.