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.
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.