Minden folyamat a Linuxban három adatfolyamot állít elő: „stdin”, „stdout” és „stderr”:
- stdin: Billentyűzeten keresztül veszi a felhasználótól a felhasználót
- stdout: Kimenetet jelenít meg a képernyőn
- stderr: Hibainformációkat jelenít meg a képernyőn
Minden adatfolyam numerikus azonosítóval rendelkezik:
Numerikus azonosító | Név |
0 | stdin |
1 | stdout |
2 | stderr |
Magyarázzuk meg még részletesebben az átirányítást:
A Standard kimenet és a Standard hiba átirányítása a Bash-ban:
A parancs szabványos kimenetének átirányításához az „1” -t használjuk egy átirányítási operátorral, amely nagyobb, mint a „>” jel:
$ ls 1> stdout.txtA fenti parancs létrehoz egy fájlt, és az „ls” parancs normál kimenetét az „stdout.txt ”fájl.
Az „stdout.txt ”fájl, használja:
$ cat stdout.txt
A szabványos hibákat egy fájlba is átirányíthatjuk a következő paranccsal:
$ cat myfile.txt 2> stderr.txt
A „stderr.txt ”fájl, használja:
$ macska stderr.txt
Ügyeljen arra, hogy a „2” használata nagyobb legyen, mint a „>” jel. Mivel nincs „myfile.txt ”fájlt a könyvtárban, a„ cat ”parancs hibát ad, amelyet a„ stderr.txt ”fájl.
Ezek a szabványos kimenetek egyetlen paranccsal is átirányíthatók, használja a következőket:
$ ls 1> stdout.txt 2> stderr.txt
Az „ls” parancs kimenete az „stdout.txt”Fájlt, de astderr.txt”Üres marad, mert nem lenne hiba.
Most tegyük a “stderr.txt ”:
$ cat myfile.txt 1> stdout.txt 2> stderr.txt
Az alább említett paranccsal olvassa el a „stderr.txt.”
$ macska stderr.txt
És természetesen: „stdout.txt ”üres lesz.
Következtetés:
A Linux parancs a végrehajtáskor normál kimenetet ad, amely lehet sikeres kimenet vagy hibakimenet. Ezeket a kimeneteket általában nem lehet átirányítani átirányítási operátorokkal; specifikus numerikus azonosítókat kell használnunk a „>” jellel. Ebben az útmutatóban megtanultuk, hogyan használhatjuk ezeket a numerikus gombokat a szabványos kimenet fájlokba történő irányításához példákkal.