Ez minden operációs rendszerben bash, Linux és MacOS, a Windows 10 Ubuntu alapú bash környezetéhez.
Az első lehetőség: átirányítja a kimenetet egy fájlra
A bash átirányítás használatához futtat egy parancsot, adja meg a
>
vagy
>>
operátor, majd adja meg a fájl elérési útját, ahová a kimenetet átirányítja.
-
>
átirányítja a parancs kimenetét egy fájlba, és helyettesíti a fájl meglévő tartalmát.
-
>>
átirányítja a parancs kimenetét egy fájlba, és a kimenetet a fájl meglévő tartalmához csatolja.
Technikailag ez átirányítja a "stdout" -t - a szabványos kimenetet, ami a képernyőnek egy fájl.
Íme egy egyszerű példa. A
ls
A parancs a fájlok és mappák listáját sorolja fel az aktuális könyvtárban. Így. ha a következő parancsot futtatja,
ls
felsorolja a fájlokat és mappákat az aktuális könyvtárban. De nem nyomtatja ki őket a képernyőre - menteni fogja őket a megadott fájlra.
ls > /path/to/file
Nem kell megadnia egy meglévő fájl elérési útját. Határozza meg az érvényes útvonalat és a bash fogja létrehozni egy fájlt ezen a helyen.
ls
parancs kimenetét. Például a
cat
parancs kiadja a fájl tartalmát a terminálhoz:
cat /path/to/file
>
az operátor a fájl meglévő tartalmát a parancs kimenetével helyettesíti. Ha több parancs parancsát egy fájlba szeretné menteni, akkor a
>>
helyett. Például az alábbi parancs hozzáfűzi a rendszerinformációkat a megadott fájlhoz:
uname -a >> /path/to/file
Ha a fájl még nem létezik, a bash létrehozza a fájlt. Máskülönben a bash hagyja el a fájl meglévő tartalmát, és csatolja a kimenetet a fájl végére.
A fájl tartalmának megtekintésekor megjelenik a második parancs eredményei a fájl végéhez:
Második lehetőség: Normál esetben nyomtassa ki a kimenetet és átirányítja a fájlra
Lehet, hogy nem szereted a kimenetet a
>
vagy
>>
mivel a parancs kimenetét nem fogja látni a terminálon. Ez az, amit a
tee
parancs van. A tee parancs kinyomtatja a beérkező bemenetet a képernyőre és egyidejűleg egy fájlba ment.
Egy parancs kimenetének pipálása
tee
nyomtatva a képernyőre, és fájlba mentve, használja a következő szintaxist:
command | tee /path/to/file
Ez a parancs kimenetével helyettesít minden fájlt, mint a
>
operátor.
tee
a képernyőre való nyomtatáshoz és fájl mentéséhez, de a fájl végéhez csatolva:
command | tee -a /path/to/file
Ez csatolja a kimenetet a fájl végéhez, mint a
>>
operátor.