Hallo, iedereen, en welkom terug.
In deze video gaan we input en output redirects leren.
Er zijn drie verschillende soorten omleidingen en Lennix de eerste is standaard invoer, die in het kort,
zoals bestudeerd in en het heeft file descriptor nummer nul.
De tweede is standaard uitvoer, en het heeft het script gevolgd, een nummer als één en de derde, een
standaard fout.
En het heeft een file descriptor nummer. Onthoud dat alles in Linux wordt beschouwd als een bestand, zoals een gewoon
bestand een bestand is.
Een directory is een bestand.
En al die apparaten die aan uw Linux-systeem zijn gekoppeld, bijvoorbeeld een monitor, toetsenbord,
muis of een van die randapparaten die worden beschouwd, worden door het besturingssysteem gezien als een bestand.
Dus wanneer ze bestand wanneer we daadwerkelijk iets op het scherm schrijven vanaf het toetsenbord dat binnenkomt
standaard input en het is eigenlijk kloppen of kloppen op de deur voor een tijdje, nul file descriptors nul.
En als we die uitvoer op het scherm laten zien, gaat die uitvoer eigenlijk naar uitvoer-descriptor nummer
één.
En twee is als er een fout is, zal het verschijnen als de file descriptor aan.
We leren er meer over in de volgende dia.
Voor nu grijpen we naar de uitgang, die standaard uit is.
Dus standaard gaat de uitvoer van een commando naar de terminal.
We zien dus dat wanneer je iets op je scherm typt terwijl je op je toetsenbord typt, de IT-uitvoer op
je scherm verschijnt.
Dus de invoer is je toetsenbord en de uitvoer is je scherm.
Dus de uitvoer van een commando kan worden omgeleid naar een bestand met dat groter dan een eenvoudig teken.
Dus als je iets typt, laten we zeggen als je een commando typt, kun je de uitvoer
van dat commando naar een ander bestand sturen.
Als je bijvoorbeeld het commando ls minus L uitvoert en je voert het uit op je scherm, dan zie je de lijst met
bestanden.
Juist, maar je hoeft het niet te zien.
U kunt draaien naar een bestand, het opslaan in een bestand, en daarvoor moet u een enkel hoofdletterteken gebruiken dat
single redirect of de output wordt genoemd.
Hetzelfde geldt voor het commando p W. D. dan zou je hetzelfde kunnen doen.
U routeert de uitvoer naar een bestandsnaam, welke u ook besluit te kiezen.
Als hetzelfde bestand wordt gebruikt voor extra uitgangen of om aan hetzelfde bestand toe te voegen, gebruik dan dubbele grootte, dubbele
symbolen van grotere tekens.
Bijvoorbeeld, als je een andere min L wilt. A. en u wilt dat de uitvoer ervan ook naar dezelfde
bestandsnaam gaat die de listing's dan gebruiken om groter dan size.
En als je een commando wilt gebruiken, bijvoorbeeld Echo en je wilt Hello World doen, en je wilt
dat de uitvoer naar de bestandsnaam zoekpad gaat, die we eerder gebruikten voor P WD, dan moet je dat gebruiken
tot groter dan grootte.
Nu is de vraag, waarom kun je niet één groter dan teken of één omleiding gebruiken?
Dat kan, maar als je er maar één gebruikt en die overschrijft je bestand, wat dan ook, dan wordt de inhoud van het bestand
overschreven.
Dus als je niet van de inhoud van het bestand af wilt, je wilt het niet verwijderen, dan
gebruik je twee grote kanten.
Dus laat me je snel op mijn Linux machine zien hoe dat werkt.
Dus ik heb mijn Linux machine hier.
Ik ga inloggen.
OK, dus het eerste is, als ik X minus L doe, zie je al deze bestanden en richtlijnen die verschijnen.
Wat nu als ik een route naar deze uitvoer wil verplaatsen of een bestand wil maken, zodat ik deze uitvoer met één enkele
cel kan omleiden en een naam naar keuze kan kiezen?
Ik kies gewoon een lijst en druk op enter.
Nu, zie je, krijg je de uitvoer niet op het scherm van de terminal, omdat die is omgeleid
naar de bestandslijst.
U kunt de inhoud van dit bestand bekijken met het commando seerat, dat wordt gebruikt om te lezen
wat er in een bestand staat.
Dus je doet kattenlijsten en je zult zien.
De inhoud van dit bestand, dit is eigenlijk niet de uitvoer van ellis' mysel, maar dit is nu
de inhoud van dit bestand geworden.
Evenzo, als ik een commando P WD wilde gebruiken, dat me mijn pad vertelt waar ik nu ben, dan zou
ik die uitvoer ook kunnen routeren, zodat ik een route kan doen naar een nieuwe bestandsnaam zoekpad.
Nu zou je hetzelfde kunnen doen, cat find path en je zult zien dat het me de informatie geeft die
de uitvoer eerder die naar deze gerouteerd zijn.
Oké.
Nu de omleidingen, dat is het toevoegen aan het bestand.
Dus ik wilde dit commando uitvoeren, Ellesmere's L. A. en trouwens, als je L'Esperance runt, L. A. dan krijg je de hele inhoud van je map te zien, inclusief de verborgen bestanden.
Verborgen bestanden zijn bestanden met doc ervoor.
Je ziet nu al die bestanden.
Als ik gewoon LSW wil, L. A. zal het me het verborgen vak niet laten zien.
Dus om de verborgen bestanden te bekijken, moet ik Ellis' min L gebruiken. A..
Goed.
Nu wil ik dit uitvoeren naar dezelfde bestandslijst.
Ik zou dit kunnen doen zonder L. A. en een enkele redirect naar Listing's.
Als ik dat doe, verdwijnt de vorige inhoud die ik in de lijst had staan.
Dus als ik die inhoud wil behouden en ook die inhoud wil toevoegen, dan moet ik die omleiden.
En als je nu naar Cadd gaat op dit ding, zie je veel output.
Dat is meer het scherm.
Laten we naar boven
scrollen, zie, de eerste inhoud is nog steeds hier, de tweede inhoud komt hier, de beide uitvoer in een enkel bestand omdat we omleiden.
Laten we zeggen dat als ik bijvoorbeeld één redirect gebruik, ik minder één
redirect gebruik, of dat de output er zo uit gaat zien of anders één redirect naar Listing's.
En nu, als ik de inhoud van lijsten wilde bekijken, zul je zien dat het alleen die inhoud heeft.
Al het andere is weg.
Daarom is het belangrijk dat
u omleidingen gebruikt in plaats van één, als u de inhoud van het bestand niet wilt overschrijven.
Zo hebben we ook echobestanden.
Stel dat ik Echo wil gebruiken.
Hallo, wereld, die gaat
worden die gaat terug echoën wat ik schrijf, dus echo hoe de wereld gaat terug echoën.
Wereld, als ik het aan mijn dossier wil melden, moet ik omleiden.
Als ik niet opnieuw wil, als ik die olie niet wil overschrijven
en ik vind pad, datzelfde bestand dat ik gebruik druk op enter.
Nu kon ik Dukat vinden Pat en je zult zien dat het het pad heeft waarvoor ik het gebruikte.
Dit is de uitgang van PWP en dit is de uitgang van Eckermann.
Dus dat is de standaard uitvoer.
Nu, laten we verder gaan.
Input, dat is standaard input en de descriptor
bestanden, het script hiervoor is zero input wordt gebruikt bij het voeden van bestanden, inhoud naar bestand of een script.
Als u bijvoorbeeld de inhoud van een bestandslijst
wilt cateren of bekijken, dan kunt u Cat Command gebruiken en de bestandsnaam opgeven.
Maar in werkelijkheid, als je het gewoon slecht zou willen voeren, zou
je dat ook kunnen doen door een slechte inhoud te cateren.
Hetzelfde geldt als je het mailprogramma
wilt gebruiken, bijvoorbeeld in onze Linux machine, mail zou ons deze optie geven om eigenlijk indirect de inhoud van een memo of een bestand in dat programma te brengen.
Bijvoorbeeld, als ik mail gebruik zoals ik e-mail stuur met als onderwerp office memo en ik stuur
het naar alle gebruikers van het bedrijf, ABC dot com.
Wat zal de inhoud van die brief zijn?
Die inhoud van de brief wordt eigenlijk in de mimolette geschreven.
Ik zou alle inhoud kunnen typen, maar het is beter dat ik gewoon de inhoud omleid.
Dus dat is de input.
OK, dus laat me je snel weer laten
zien door terug te gaan naar de politiek machine hier, ik heb Cat gevonden deel, toch?
Het toont me die TBWA Uitvoer en het Echo commando dat we uitvoerden, de inhoud staat er nu in.
Ik zou ook kat input kunnen doen, prima huisdier.
En het zou me dezelfde informatie geven.
Goed, nu de derde, de fout,
dus gewoon een standaard fout en een file descriptor van twee.
Dus wanneer een commando wordt
uitgevoerd, gebruiken we een toetsenbord en dat wordt ook beschouwd als standaard invoer, die nul is.
En die opdrachtuitvoer gaat naar de monitor en die monitor is standaard uitvoer één.
Dus als het commando een fout produceert op het scherm, dan wordt het beschouwd als standaard fout die we kunnen gebruiken.
Het leidt naar root die fouten van het scherm.
Als we die uitvoer van een commando
met een fout niet willen zien, kunnen we het naar een ander bestand sturen.
Bijvoorbeeld, stel dat ik wil doen wat de inhoud is van een hoofddirectory?
Nu is de root directory natuurlijk eigendom van root, niet van een gewone gebruiker.
Het zal een fout opleveren.
Ik zou dat in een bestand kunnen rooten, maar ik moet aangeven hoe ik het mis heb?
Ik stuur alleen de standaardfout door, niet de hele uitvoer.
Dus daarom geef ik kritiek, toewijzing en de bestandsnaam van het foutenbestand.
Evenzo zou ik een programma als Toweled Localhost en zijn foutmelding
kunnen gebruiken als het geen verbinding kan maken met die host.
Ik wil dat niet op het scherm zien.
Ik wilde net in de fout gaan.
Nou, laten we teruggaan naar onze Linux machine en even snel kijken hoe we dat kunnen doen.
Gebruik de standaardfout.
Goed, dus het eerste is, laten
we zeggen als ik dit wil uitvoeren minus El Slash route, dit commando is eigenlijk wat het probeert te doen is een lijst maken van de inhoud van de root directory.
En ik ben ingelogd als wie ben ik absoluut.
Dus ik probeer te vinden wat er in de Slagel directory zit, die trouwens eigendom is van route.
Dus laten we eens kijken of ik deze route zelf doe.
Kijk, geef me toestemming geweigerd.
Dit is de standaardfout, de fout die
je op het scherm ziet en die je vertelt wat er zou gebeuren als je het commentaar uitvoerde.
Nu, als je die foutmelding niet wilt zien, dan zou je kunnen doen is.
Ik zet dat op.
Aerofoil, dat is gewoon een
bestandsnaam die ik gekozen heb. Als ik wil zien wat er in dat bestand staat, kan ik ons bestand Dukateren
en dan zie je dat de foutmelding van het commando in het foutenbestand terechtkomt.
Nu zou ik een ander commando gebruiken, bijvoorbeeld.
Ik wilde vertellen dat localhost slechts een
klein programma is waarmee je eigenlijk van de ene machine naar de andere kunt verbinden, net als MSH, dat overigens later behandeld zal worden.
Dus telnet localhost.
Dat is mijn eigen host, als ik op enter druk, zie je dat hij het probeert.
Maar dan staat er, hé, verbinden met adres deze verbinding, weigeren, dus dit is
eigenlijk de foutmelding, dan staat er dat het opnieuw probeert en het probeert de tweede keer met dit IP.
Het geeft hetzelfde bericht, verbindingsweigeraar.
Je kunt je niet verbinden.
Dus het betekent dat we nu twee fouten hebben.
Ik wilde deze bekijken.
Ik wil deze fouten niet op het scherm zien.
Daarvoor moet ik localhost.
Ik wil dat standaard fout, wat bestandsdescriptor nummer twee is, wordt uitgevoerd naar foutbestand hit.
Nu zie ik op het scherm alleen proberen een en proberen
eenentwintig zeven nul nul een en foutmelding.
Waar ging het naar toe Cat File.
Het ging in dat dossier.
Onthoud dus deze drie input en output redirects.
Deze zijn erg belangrijk.
U zult ze gebruiken wanneer
u scripts moet maken die zeer nuttig zijn bij het maken van scripts en het automatiseren van taken.
Ik zie je in de volgende lezing.