Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A Linux lehetővé teszi, hogy a parancs kimenetét fájlokban tárolja a kimenet átirányításának eszközeként. Amikor a kimenetet fájlba menti a > vagy >> operátorok esetén a kimenet át lesz irányítva anélkül, hogy információ jelenik meg a terminálon.

De mi van akkor, ha egyszerre szeretné kinyomtatni a kimenetet a képernyőn, és egy fájlban tárolni? Bár a kimeneti átirányítási operátorokkal ezt nem lehet megtenni, Linuxon a tee paranccsal megteheti.

Alapszintű parancsszintaxis

A tee egy szabványos Linux segédprogram, amellyel a parancs kimenetét felosztja a szabványos kimenet és a fájlok között.

A legtöbb Linux-parancstól eltérően a tee-t más programokkal használják egy pipe (|). A csőkezelő – az egyik sok parancssori operátor Linuxon – lehetővé teszi, hogy a program egy másik parancs kimenetét használja bemenetként. Lehetséges, hogy pipe-t használt, miközben a grep-et használta az ls parancsot vagy macska.

instagram viewer

A tee parancs alapvető szintaxisa a következő:

parancs | tee opciók fájlútvonal

...ahol lehetőségek és fájl elérési út a parancssori argumentumok és annak a fájlnak az elérési útja, amelyben a kimenetet tárolni szeretné.

Osztott terminálkimenet Linuxon pólóval

A tee legegyszerűbb használata az, ha felosztjuk a kimenetet, hogy megjelenítsük a terminálban, valamint eltároljuk egy fájlban. Például, ha az ls parancs kimenetét egy "" nevű szövegfájlba szeretné tárolni.output.txt," fuss:

ls | tee ./output.txt

A kimenet a szokásos módon megjeleníti az aktuális munkakönyvtár tartalmát. Az output.txt fájl ellenőrzésekor azt találjuk, hogy a tee a kimenetet is a fájlba mentette.

Amikor megad egy fájl elérési utat, a tee ellenőrzi, hogy a fájl létezik-e. Ha nem talál ilyet, automatikusan létrehozza a fájlt, így kényelmessé teszi a shell szkriptekben való használatát. Akkor hasznos, ha egy program vagy parancsfájl kimenetét szeretné naplózni későbbi hivatkozás céljából.

A tee parancs elé a sudo szót kell írnia, ha adatokat szeretne olvasni vagy tárolni a root felhasználó tulajdonában lévő fájlban.

Ha a megadott fájlban olyan adatok vannak tárolva, amelyeket nem szeretne felülírni, használja a -a zászlót, hogy mellékel a kimenetet a fájlba, ahelyett, hogy törölné a teljes fájlt, majd mentené az adatokat:

ls | tee -a ./output.txt

Hasonlóképpen átirányíthatja a kimenetet több fájlra az elérési utak megadásával, szóközzel elválasztva:

ls | tee ./output1.txt ./output2.txt

Néha váratlan hibák vagy manuális megszakítások (a Ctrl + C vagy Ctrl + Z) az előbbi parancsban a tee kilépését okozhatja. Az ilyen megszakítások figyelmen kívül hagyásához használja a -én zászló:

ls | tee -i output.txt

Nak nek kérjen parancssori segítséget a pólóval kapcsolatban, vagy keresse meg a verzió részleteit, használja a --Segítség és --változat zászlókat a következők szerint:

póló -- segítség
póló -- változat

A kimenet átirányítása egy másik parancsra

Létrehozhat kimeneti láncot, ha más Linux-parancsokat köt össze. Ezzel a kimenetet a megadott fájlba menti, majd továbbítja a következő parancsnak feldolgozásra.

A következő formátum használatával irányíthatja át a tee kimenetét egy másik parancsra:

parancs | tee filepath | másik parancs

Például a következő parancs elmenti az ls parancs kimenetét ide output.txt mielőtt végül átirányítaná a grep-re egy gyors kereséshez:

ls | tee kimenet.txt | grep "Dokumentumok"

Összességében a tee paranccsal játszhatsz a szabványos bemenet és kimenet Linuxon.

Kimenet és szöveg manipulálása Linux parancsokkal

A tee parancs nagyon szükséges funkciókat ad a szabványos kimeneti átirányítási operátorokhoz Linuxon. Használhatja akár egy parancs kimenetének manipulálására is, mielőtt átadná azt egy másik programnak.

Hasonlóképpen módosíthatja a szöveget a terminál használatával néhány szabványos Linux-parancs segítségével. Eltarthat egy ideig, míg megszokják, de végül minden rendszergazdának érdemes megtanulnia a parancssoron keresztüli szövegkezelést.