Homepage » hogyan kell » Hogyan lehet menteni a parancs kimenetét egy fájlba a Bash-ben (más néven Linux és macOS terminál)

    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.