Domača » kako » Kako shraniti izpis ukaza v datoteko v Bash (imenovan Terminal Linux in MacOS)

    Kako shraniti izpis ukaza v datoteko v Bash (imenovan Terminal Linux in MacOS)

    Ko zaženete ukaz pri pozivu bash, običajno natisne izhod tega ukaza neposredno v terminal, tako da ga lahko takoj preberete. Ampak bash vam tudi omogoča, da "preusmerite" izhod iz katerega koli ukaza in ga shranite v besedilno datoteko, da boste kasneje lahko pregledali rezultate..

    To deluje v bash na katerem koli operacijskem sistemu, od Linuxa in MacOSa do Ubuntu baziranega okolja Windows 10.

    Možnost ena: Preusmerite izhod v datoteko

    Če želite uporabiti preusmeritev bash, zaženite ukaz, podajte > ali >> in nato podajte pot do datoteke, na katero želite, da se izhod preusmeri.

    •  > preusmeri izhodni ukaz v datoteko in nadomesti obstoječo vsebino datoteke.
    •  >> preusmeri izhodne podatke ukaza v datoteko in izpis doda obstoječi vsebini datoteke.

    Tehnično to preusmerja "stdout" - standardni izhod, ki je zaslon-v datoteko.

    Tu je preprost primer. The Je ukaz sezname datoteke in mape v trenutnem imeniku. Torej. ko zaženete naslednji ukaz, Je bo prikazal datoteke in mape v trenutnem imeniku. Vendar jih ne bo natisnil na zaslon - shranite jih v datoteko, ki jo določite.

    ls> / pot / do / datoteka

    Ni vam treba podati poti do obstoječe datoteke. Podajte katero koli veljavno pot in bash bo na tej lokaciji ustvaril datoteko.

    Če si ogledate vsebino datoteke, boste videli Je izhodni ukaz. Na primer: mačka ukaz natisne vsebino datoteke na terminal:

    mačka / pot / do / datoteka

    Ne pozabite >  operater nadomesti obstoječo vsebino datoteke z izhodnimi podatki ukaza. Če želite shraniti rezultate več ukazov v eno datoteko, uporabite >> operaterju. Naslednji ukaz bo na primer dodal sistemske informacije v datoteko, ki jo določite:

    uname -a >> / pot / do / datoteka

    Če datoteka še ne obstaja, bo datoteka bash ustvarila datoteko. V nasprotnem primeru bo bash sam zapustil obstoječo vsebino datoteke in izhod dodal na konec datoteke.

    Ko si ogledate vsebino datoteke, boste videli, da so rezultati vašega drugega ukaza dodani na konec datoteke:

    Ta postopek lahko ponovite tolikokrat, kot želite, da dodate izpis na konec datoteke.

    Druga možnost: natisnite izhod normalno in ga preusmerite v datoteko

    Morda vam ni všeč preusmeriti izhodov z > ali >> operaterjev, saj v terminalu ne boste videli izhoda ukaza. To je tisto tee ukaz je za. Ukaz T, ki natisne vnos, ki ga prejme, prikaže na zaslonu in hkrati shrani v datoteko.

    Za preusmeritev izhoda v ukaz tee, Če ga želite natisniti na zaslon in shraniti v datoteko, uporabite naslednjo skladnjo:

    ukaz | Tee / pot / do / datoteka

    To bo nadomestilo vse, kar je v datoteki, z izhodom ukaza, tako kot > operaterja.

    Za preusmeritev izhoda v ukaz tee , tiskanje na vaš zaslon in shranjevanje v datoteko, vendar dodajanje na konec datoteke:

    ukaz | tee -a / pot / do / datoteka

    To bo pripeto na konec datoteke, tako kot >> operaterja.

    Ohišje bash vključuje nekaj dodatnih, naprednih operaterjev, ki opravljajo podobne funkcije. Še posebej bodo uporabne, če pišete bash skripte. Podrobnejše informacije najdete v poglavju V / I preusmeritev v Priročniku za napredno pisanje skriptov.