Startpagina > Omgeving & hulpmiddelen > redirect

Redirection Gids: De richting van commando-invoer/uitvoer wijzigen

Redirection in de Linux-shell is een functie die de richting van de standaardinvoer/uitvoer (standard input/output) van een commando wijzigt. Het wordt gebruikt om de inhoud van een bestand als invoer te gebruiken, of om de uitvoer van een commando op te slaan in een bestand in plaats van op het scherm. Samen met pipes (`|`) is dit een van de meest fundamentele hulpmiddelen voor shell-scripting en gegevensverwerking.

Overzicht van Redirection

Het Linux-systeem behandelt alle invoer en uitvoer als bestanden. Redirection wijzigt de richting van deze standaard invoer/uitvoer streams, zodat de uitvoer van een commando naar een bestand wordt geschreven in plaats van op het scherm wordt weergegeven, of zodat de inhoud van een bestand als invoer voor een commando wordt gebruikt.

Standaard Invoer/Uitvoer Streams

Alle commando's gebruiken standaard de volgende drie standaard streams:

  • Standaard Invoer (stdin, 0): Het kanaal waar een commando gegevens van leest. De standaardwaarde is het toetsenbord.
  • Standaard Uitvoer (stdout, 1): Het kanaal waar de normale uitvoer van een commando wordt weergegeven. De standaardwaarde is het scherm (terminal).
  • Standaard Fout (stderr, 2): Het kanaal waar foutmeldingen van een commando worden weergegeven. De standaardwaarde is het scherm (terminal).

Redirection Operators

U kunt de richting van invoer/uitvoer regelen met verschillende redirection operators. Direct gebruik van 'redirect' zoals in de onderstaande gegenereerde commando's zal een fout veroorzaken. U moet symbolen zoals >, >>, < gebruiken.

1. Standaard Uitvoer Redirection

2. Standaard Fout Redirection

3. Standaard Invoer Redirection

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`redirect` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Veelvoorkomende Voorbeelden

Leer hoe u invoer/uitvoer kunt beheren met verschillende voorbeelden van redirection.

Commando-uitvoer opslaan in een bestand

ls -l > file_list.txt

Slaat de uitvoer van het commando `ls -l` op in het bestand `file_list.txt` en overschrijft het bestaande bestand indien aanwezig.

Meerdere commando-uitvoeren toevoegen aan één bestand

echo "--- 작업 시작 ---" >> log.txt
date >> log.txt

Voegt de uitvoer van het `echo`-commando toe aan het bestand `log.txt`, gevolgd door de uitvoer van het `date`-commando aan hetzelfde bestand. Gebruikt `>>` om bestaande inhoud te behouden.

Alleen foutmeldingen naar een apart bestand

ls non_existent_file 2> error.log

Voert het `ls`-commando uit voor een niet-bestaand bestand en stuurt alleen de foutmeldingen (`2>`) naar het bestand `error.log`. De normale uitvoer verschijnt nog steeds op het scherm.

Invoerbestand doorgeven aan een commando

sort < numbers.txt

Specificeert het bestand `numbers.txt` als invoer voor het `sort`-commando om de inhoud van het bestand te sorteren. `sort` verwerkt de bestandsinhoud als standaard invoer.

Zowel uitvoer als fout naar één bestand

ls /home non_existent_file &> output_and_error.log

Slaat zowel normale uitvoer als foutmeldingen op in het bestand `output_and_error.log`.


gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando