Hogyan lehet menteni a parancs kimenetét egy fájlba a Bash-ben (más néven Linux és macOS terminál)
Amikor egy parancsot futtat a bash parancssorban, akkor általában a parancs kimenetét közvetlenül a terminálra nyomtatja, így azonnal elolvashatja. De a bash lehetővé teszi, hogy bármelyik parancs kimenetét „átirányítsa”, elmentve egy szövegfájlba, így később megtekintheti a kimenetet.
Ez bash-ban működik bármely operációs rendszerben, a Linuxról és a MacOS-ról a Windows 10 Ubuntu alapú bash környezetére.
Az 1. lehetőség: A kimenet átirányítása csak egy fájlba
A bash átirányítás használatához futtat egy parancsot, adja meg a >
vagy >>
majd adja meg azt a fájlt, amelyre a kimenetet át kívánja irányítani.
-
>
átirányítja a parancs kimenetét egy fájlba, kicserélve a fájl meglévő tartalmát. -
>>
átirányítja a parancs kimenetét egy fájlba, és hozzáadja a kimenetet a fájl meglévő tartalmához.
Technikailag ez átirányítja a „stdout” -t - a szabványos kimenetet, amely a fájl képernyőképe.
Itt egy egyszerű példa. A ls
parancs listázza az aktuális könyvtárban található fájlokat és mappákat. Így. a következő parancs futtatásakor, ls
felsorolja a fájlokat és mappákat az aktuális könyvtárban. De nem fogja kinyomtatni őket a képernyőre, hanem elmenti őket a megadott fájlba.
ls> / elérési út / fájl
Nem kell megadnia a meglévő fájl elérési útját. Adjon meg egy érvényes útvonalat, és a bash létrehoz egy fájlt ezen a helyen.
Ha megtekinti a fájl tartalmát, látni fogja a ls
parancs kimenete. Például a macska
parancs kinyomtatja a fájl tartalmát a terminálra:
macska / elérési út / fájl / fájl
Ne feledje, a
Az operátor a fájl meglévő tartalmát a parancs kimenetével helyettesíti. Ha több parancs kimenetét egyetlen fájlba szeretné menteni, akkor a >
helyett az operátor. A következő parancs például a rendszeradatokat hozzáadja a megadott fájlhoz:>>
uname -a >> / elérési út / fájl / fájl
Ha a fájl már nem létezik, a bash létrehozza a fájlt. Ellenkező esetben a bash a fájl tartalmát egyedül hagyja, és a kimenetet a fájl végéhez csatolja.
Amikor megtekinti a fájl tartalmát, látni fogja a második parancs eredményeit a fájl végéhez:
Ezt a folyamatot annyiszor ismételheti meg, amennyit csak akar, hogy a kimenetet a fájl végéhez hozza.
Második opció: A kimenet rendes nyomtatása és átirányítása fájlba
Lehet, hogy nem tetszik a kimenet átirányítása a >
vagy >>
operátorok, mivel nem látja a parancs kimenetét a terminálon. Ez az, amit a tee
parancs a. A tee parancs kinyomtatja a kapott bemenetet a képernyőre és egyidejűleg elmenti egy fájlba.
A parancs kimenetének csatolása tee
, nyomtassa ki a képernyőt és mentse azt egy fájlba, használja a következő szintaxist:
parancs | tee / elérési út / fájl / fájl
Ez helyettesíti a fájlban lévő parancsot a parancs kimenetével, mint a >
operátor.
A parancs kimenetének csatolása tee
, nyomtatás a képernyőn, és egy fájlba mentése, de a fájl végére:
parancs | tee -a / elérési út / fájl / fájl
Ez hozzáadja a kimenetet a fájl végéhez, mint a >>
operátor.
A bash shell tartalmaz további, fejlett operátorokat, amelyek hasonló funkciókat látnak el. Különösen hasznosak lesznek, ha bash szkripteket írsz. A részletesebb információkért tekintse meg az Advanced Bash-Scripting útmutató I / O átirányítási fejezetét.