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`.