Standarddatenströme und Umleitung
Lernen Sie `stdin`, `stdout` und `stderr` kennen und erfahren Sie, wie Sie sie mit `|`, `>`, `>>` und `<` umleiten.
Standarddatenströme und Umleitung ist eine kostenlose Linux Command Line Mastery-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Command Line Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Command Line Mastery-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
What are Standard Streams?
In the Linux terminal, commands communicate using 'standard streams'. Think of these as default channels for data to flow in and out of a program.
- Standard Input (stdin): Where a command gets its input from (usually keyboard).
- Standard Output (stdout): Where a command sends its normal results (usually screen).
- Standard Error (stderr): Where a command sends its error messages (usually screen).
These streams let you control how commands interact!
Standard Output (`stdout`)
When a command successfully runs and produces a result, that result is sent to standard output. By default, stdout is displayed directly on your terminal screen.
For example, when you use the echo command, its output goes to stdout.
Redirecting `stdout` (Overwrite)
The > (greater than) symbol is used to redirect standard output from the screen to a file. If the file doesn't exist, it's created. If it already exists, its content is overwritten!
This is useful for saving command results for later.
Overwrite `stdout` Example
Try running this example. Notice how the echo command's output isn't shown on screen, but stored in message.txt. Then, cat displays the file's content.
echo "Hello CoddyKit!" > message.txt
cat message.txtRedirecting `stdout` (Append)
What if you want to add output to a file without deleting its existing content? That's where >> comes in!
The >> (double greater than) operator redirects standard output to a file, appending the new content to the end of the file.
Append `stdout` Example
Let's add another line to our message.txt file without losing the first line. Run the code and observe the output of the final cat command.
echo "Hello CoddyKit!" > message.txt
echo "Welcome to Linux!" >> message.txt
cat message.txtStandard Input (`stdin`)
Standard input is the channel through which a command receives data. By default, stdin comes from your keyboard – you type commands or input values directly.
Some commands are designed to process input that you provide, or that comes from another source.
Input Redirection with `<`
The < (less than) symbol allows you to redirect standard input from a file instead of the keyboard. This is incredibly useful for feeding data from a file into a command that expects input.
The command will then process the file's content as if you typed it.
Input from File Example
The wc -l command counts lines. Here, we'll create a file and then use < to make wc -l read its input directly from that file.
echo "Line 1" > mydata.txt
echo "Line 2" >> mydata.txt
wc -l < mydata.txtStandard Error (`stderr`)
When a command encounters a problem or an error, it sends diagnostic messages to standard error. Like stdout, stderr is typically displayed on your screen by default.
Keeping stderr separate from stdout helps you easily spot errors.
Redirecting `stderr` with `2>`
To redirect standard error to a file, you use the file descriptor 2 followed by the redirection operator: 2>.
This lets you capture error messages in a log file, keeping your main output clean. You can also redirect stdout and stderr to the same file using &> or > file 2>&1.
Error Redirection Example
Let's try to list a directory that doesn't exist. We'll redirect the error message to a file named errors.log.
ls non_existent_dir 2> errors.log
cat errors.logChaining Commands with Pipes (`|`)
The | (pipe) symbol is one of the most powerful features of the Linux shell. It connects the standard output (stdout) of one command directly to the standard input (stdin) of another command.
This allows you to create complex data processing pipelines by chaining simple commands together.
Pipe Example: `ls` to `wc`
Here, the output of ls -l (a detailed list of files) is 'piped' as input to wc -l (word count - lines). This effectively counts how many items are listed by ls -l.
ls -l | wc -lQuick Check
Consider the following sequence of commands:
echo "Apple" > fruits.txt
echo "Banana" >> fruits.txt
echo "Cherry" > fruits.txt
cat fruits.txtWhat will be the final content of fruits.txt displayed by the cat command?
Recap: Streams & Redirection
Great job! You've learned the fundamentals of standard streams and how to redirect them:
- Standard Streams:
stdin(input),stdout(normal output),stderr(error output). >: Redirectsstdoutto a file, overwriting it.>>: Redirectsstdoutto a file, appending to it.<: Redirects a file's content to a command'sstdin.2>: Redirectsstderrto a file.|(Pipe): Connects thestdoutof one command to thestdinof another.
These techniques are essential for powerful command-line workflows. Next, you'll learn how to filter text using the mighty grep command!
Häufig gestellte Fragen
Ist die Lektion „Standarddatenströme und Umleitung“ kostenlos?
Ja — der vollständige Text von „Standarddatenströme und Umleitung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Command Line Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Command Line Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Standarddatenströme und Umleitung“?
Lernen Sie `stdin`, `stdout` und `stderr` kennen und erfahren Sie, wie Sie sie mit `|`, `>`, `>>` und `<` umleiten. Du übst Linux Command Line Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Linux Command Line Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Command Line Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Standarddatenströme und Umleitung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Linux Command Line Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Command Line Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Standarddatenströme und Umleitung
- Text mit `grep` filtern
- Textverarbeitung mit `sed` und `awk`
- Ausgaben mit sort, uniq und cut kombinieren und sortieren