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.