A Linux használata során találkozhat a "standard I/O" vagy "standard bemenet", "standard kimenet" és "standard hiba" hivatkozásokkal. Mit jelentenek ezek a kifejezések?
Normál bemenet
A szabványos bemenet a parancsalapú program által fogadott bemenet kifejezése. Interaktív használat esetén általában a billentyűzetről származik, de mint később látni fogja, származhat fájlból is.
Míg manapság a billentyűzetet általában közvetlenül a géphez csatlakoztatják, amikor a szöveges terminálok többen voltak közös, szabványos bemenetet vettek a terminál billentyűzetéről egy központi miniszámítógéphez ill nagyszámítógép. A modern Linux rendszerek terminálemulátorokat vagy rendszerkonzolt használnak szabványos bemenetként.
Szabványos kimenet
A szabványos kimenethez hasonlóan a szabványos bemenethez a program elküldi a szöveges kimenetét. Ez is tipikusan egy terminál emulátor a modern rendszereken, de korábban fizikai terminálokon is működött, akár CRT-képernyővel, akár papírra nyomtatva teletípusokkal.
A teletype terminálok elterjedtebbek voltak, amikor a Linux elődjét, a Unixot a Bell Labsnál fejlesztették az 1960-as évek végén és az 1970-es évek elején.
Összefüggő: Miért olyan rövidek a Linux parancsok? A Linux parancsok története
A szabványos bemenethez hasonlóan a szabványos kimenetet is átirányíthatja egy fájlba.
Normál hiba
A szabványos hibát általában a program által generált hibaüzenetek esetén használják. A szabványos kimenethez hasonlóan általában a képernyőn jelenik meg, de átirányítható egy fájlra vagy egy blokkeszközre is, mint pl. /dev/null.
A bemenet és a kimenet átirányítása Linuxon
A Linux és Unix rendszerek egyik leghatékonyabb funkciója a bemenet és a kimenet fájlok és más programok felé történő átirányítása.
A legszélesebb körben használt módszer az egyik parancs kimenetének elküldése a másikra, vagy egy "csővezetékre". Mert Például, ha látni szeretné, hogy hány Linux-parancs nevében szerepel "sh", akkor az ls parancs kimenetét csővel grep-pel.
ls /bin | grep 'sh'
Nak nek átirányítja a kimenetet egy parancsból egy fájlba, használja a > operátor. Például, hogy elküldje a kimenetét az ls parancsot fájlnévbe fájllista:
ls > fájllista
Az >> operátor hozzáfűzi a kimenetet egy meglévő fájlhoz, vagy létrehozza, ha nem létezik. A fájl véletlen felülírásának elkerülése érdekében beállíthatja a "noclobber" opciót a Bashban:
meg noclobber
Azt is beállíthatja, hogy egy program bemenetet vegyen egy fájlból a < operátor. A cat program úgy tudja kinyomtatni a fájl tartalmát, hogy a fájlból bemenetet vesz, és a kimenetet a szabványos kimenetre küldi.
macska < fájl
Természetesen használhatja a cat-ot, és megadhatja a fájl elérési útját argumentumként, de ez csak egy példa.
A szabványos hibát átirányíthatja egy fájlleíró vagy egy olyan szám használatával, amely a szabványos I/0 formáinak egyikét jelöli. A fájlleíróknál a 0 a szabványos bemenet, az 1 a szabványos kimenet és a 2 a szabványos hiba. A Bash szintaxisa az [fájlleíró]>. Hasznos átirányítani a szabványos hibát ide /dev/null hogy megszabaduljon a hibáktól:
linux_command 2> /dev/null
Egyszerre átirányíthatja a szabványos kimenetet és a bemenetet is &>, ami akkor hasznos, ha e-mailt vagy fórumbejegyzést kell küldenie, amelyben leírja a programmal kapcsolatos problémáját:
linux_command &> fájl
A szabványos I/O mindenhol működik
A ma elérhető grafikus környezetek mellett is fontos a szabványos I/O, mert ez még mindig az univerzális interfész, az asztali számítógéptől a szerveren át a mobilig, és ASCII szövegen alapul.
Az ASCII-szöveg rejtélyesnek tűnik, de számos felhasználási területe van az interneten.
Olvassa el a következőt
- Linux
- Technológia magyarázata
- Linux Elementary
- Linux Bash Shell
David szabadúszó író, aki a Csendes-óceán északnyugati részén él, de eredetileg az öböl térségéből származik. Gyermekkora óta rajong a technológiaért. David érdeklődési köre az olvasás, a minőségi tévéműsorok és filmek nézése, a retro játékok és a lemezgyűjtés.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez